/
positiveItemsIteratorTest.jsp
69 lines (55 loc) · 2.31 KB
/
positiveItemsIteratorTest.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<%--
Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary
Licenses when the conditions for such availability set forth in the
Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
version 2 with the GNU Classpath Exception, which is available at
https://www.gnu.org/software/classpath/license.html.
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
--%>
<%@ taglib prefix="c" uri="jakarta.tags.core" %>
<%@ taglib prefix="tck" uri="http://java.sun.com/jstltck/jstltck-util" %>
<%@ page import="java.util.HashSet,java.util.Iterator,java.util.ArrayList,java.util.Arrays" %>
<tck:test testName="positiveItemsIteratorTest">
<%
ArrayList lTest = new ArrayList();
ArrayList lControl = new ArrayList();
HashSet hSet = new HashSet();
hSet.add("val1");
hSet.add("val2");
hSet.add("var3");
hSet.add("var4");
pageContext.setAttribute("hashSet", hSet.iterator());
for (Iterator rIter = hSet.iterator(); rIter.hasNext(); ) {
lControl.add(rIter.next());
}
%>
<!-- RT: check for support if iteration via a passed Iterator -->
<c:forEach var="rVar" items='<%= hSet.iterator() %>'>
<%
lTest.add(pageContext.findAttribute("rVar"));
%>
</c:forEach>
<%
String[] test =
(String[]) lTest.toArray(new String[lTest.size()]);
String[] control =
(String[]) lControl.toArray(new String[lControl.size()]);
Arrays.sort(test);
Arrays.sort(control);
if (!Arrays.equals(test, control)) {
out.println("Test FAILED. Iteration produced unexpected results.");
out.println("Expected values:");
for (int i = 0; i < control.length; i++) {
out.println('\t' + control[i]);
}
out.println("Values received:");
for (int i = 0; i < test.length; i++) {
out.println('\t' + test[i]);
}
}
%>
</tck:test>