[
https://issues.apache.org/jira/browse/WICKET-5837?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14321993#comment-14321993
]
ASF GitHub Bot commented on WICKET-5837:
----------------------------------------
Github user bitstorm commented on a diff in the pull request:
https://github.com/apache/wicket/pull/90#discussion_r24722572
--- Diff:
wicket-core/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java
---
@@ -233,12 +246,6 @@ protected final CharSequence
renderAjaxAttributes(final Component component,
attributesJson.put(AjaxAttributeName.MARKUP_ID.jsonName(), componentId);
}
--- End diff --
I'm just curious...why have you moved the 5 lines below at the beginning of
the method (line 223)?
> JUnit tests may fail because of AbstractDefaultAjaxBehavior
> -----------------------------------------------------------
>
> Key: WICKET-5837
> URL: https://issues.apache.org/jira/browse/WICKET-5837
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 7.0.0-M5, 6.19.0
> Reporter: Tobias Soloschenko
> Assignee: Andrea Del Bene
> Labels: test
>
> Because JSONObject is used in the method
> org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.renderAjaxAttributes(Component,
> AjaxRequestAttributes)
> which internally uses a HashMap to store the key value pairs - see
> org.apache.wicket.ajax.json.JSONObject.JSONObject() - it is not ensured the
> attributes rendered in a specific order. This can cause the unit tests to
> pass in one run and fail in the next run.
> One suggestion would be to switch the HashMap and replace it with at
> LinkedHashMap to preserve the insertion order.
> See stack trace in comment.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)