Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/test/jdk/javax/xml/jaxp/testng/validation/jdk8037819/IdentityConstraintCheckingTest.java
41159 views
1
/*
2
* Licensed to the Apache Software Foundation (ASF) under one or more
3
* contributor license agreements. See the NOTICE file distributed with
4
* this work for additional information regarding copyright ownership.
5
* The ASF licenses this file to You under the Apache License, Version 2.0
6
* (the "License"); you may not use this file except in compliance with
7
* the License. You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*/
17
package validation.jdk8037819;
18
19
import com.sun.org.apache.xerces.internal.dom.PSVIElementNSImpl;
20
import com.sun.org.apache.xerces.internal.xs.ItemPSVI;
21
import org.xml.sax.SAXException;
22
import org.testng.annotations.AfterClass;
23
import org.testng.annotations.BeforeClass;
24
import org.testng.annotations.Test;
25
import validation.BaseTest;
26
27
public class IdentityConstraintCheckingTest extends BaseTest {
28
// These values are unstable, since they're not actually error keys, but
29
// simply
30
// the first part of the error message.
31
public static final String DUPLICATE_UNIQUE = "cvc-identity-constraint.4.1";
32
33
public static final String DUPLICATE_KEY = "cvc-identity-constraint.4.2.2";
34
35
public static final String INVALID_KEYREF = "cvc-identity-constraint.4.3";
36
37
protected String getXMLDocument() {
38
return "idc.xml";
39
}
40
41
protected String getSchemaFile() {
42
return "idc.xsd";
43
}
44
45
protected String[] getRelevantErrorIDs() {
46
return new String[] { DUPLICATE_UNIQUE, DUPLICATE_KEY, INVALID_KEYREF };
47
}
48
49
public IdentityConstraintCheckingTest(String name) {
50
super(name);
51
}
52
53
@BeforeClass
54
protected void setUp() throws Exception {
55
super.setUp();
56
}
57
58
@AfterClass
59
protected void tearDown() throws Exception {
60
super.tearDown();
61
}
62
63
@Test
64
public void testDefault() {
65
try {
66
reset();
67
validateDocument();
68
} catch (Exception e) {
69
fail("Validation failed: " + e.getMessage());
70
}
71
72
checkDefault();
73
}
74
75
@Test
76
public void testSetFalse() {
77
try {
78
reset();
79
fValidator.setFeature(IDC_CHECKING, false);
80
validateDocument();
81
} catch (Exception e) {
82
fail("Validation failed: " + e.getMessage());
83
}
84
85
checkValidResult();
86
}
87
88
@Test
89
public void testSetTrue() {
90
try {
91
reset();
92
fValidator.setFeature(IDC_CHECKING, true);
93
validateDocument();
94
} catch (Exception e) {
95
fail("Validation failed: " + e.getMessage());
96
}
97
98
checkDefault();
99
}
100
101
private void checkDefault() {
102
assertError(DUPLICATE_UNIQUE);
103
assertError(DUPLICATE_KEY);
104
assertError(INVALID_KEYREF);
105
106
assertValidity(ItemPSVI.VALIDITY_INVALID, fRootNode.getValidity());
107
assertValidationAttempted(ItemPSVI.VALIDATION_FULL, fRootNode
108
.getValidationAttempted());
109
assertElementName("itemList", fRootNode.getElementDeclaration()
110
.getName());
111
assertTypeName("itemListType", fRootNode.getTypeDefinition().getName());
112
113
// this one is valid because it's the first one to define the unique
114
// value
115
PSVIElementNSImpl child = super.getChild(1);
116
assertValidity(ItemPSVI.VALIDITY_VALID, child.getValidity());
117
assertValidationAttempted(ItemPSVI.VALIDATION_FULL, child
118
.getValidationAttempted());
119
assertElementName("item", child.getElementDeclaration().getName());
120
assertTypeName("itemType", child.getTypeDefinition().getName());
121
122
// invalid because it repeats the unique value
123
child = super.getChild(2);
124
assertValidity(ItemPSVI.VALIDITY_INVALID, child.getValidity());
125
assertValidationAttempted(ItemPSVI.VALIDATION_FULL, child
126
.getValidationAttempted());
127
assertElementName("item", child.getElementDeclaration().getName());
128
assertTypeName("itemType", child.getTypeDefinition().getName());
129
130
// invalid because it repeats the key
131
child = super.getChild(3);
132
assertValidity(ItemPSVI.VALIDITY_INVALID, child.getValidity());
133
assertValidationAttempted(ItemPSVI.VALIDATION_FULL, child
134
.getValidationAttempted());
135
assertElementName("item", child.getElementDeclaration().getName());
136
assertTypeName("itemType", child.getTypeDefinition().getName());
137
138
// valid because key references aren't figured out until the validation
139
// root
140
child = super.getChild(4);
141
assertValidity(ItemPSVI.VALIDITY_VALID, child.getValidity());
142
assertValidationAttempted(ItemPSVI.VALIDATION_FULL, child
143
.getValidationAttempted());
144
assertElementName("itemRef", child.getElementDeclaration().getName());
145
assertTypeName("string", child.getTypeDefinition().getName());
146
}
147
148
private void checkValidResult() {
149
assertNoError(DUPLICATE_UNIQUE);
150
assertNoError(DUPLICATE_KEY);
151
assertNoError(INVALID_KEYREF);
152
153
assertValidity(ItemPSVI.VALIDITY_VALID, fRootNode.getValidity());
154
assertValidationAttempted(ItemPSVI.VALIDATION_FULL, fRootNode
155
.getValidationAttempted());
156
assertElementName("itemList", fRootNode.getElementDeclaration()
157
.getName());
158
assertTypeName("itemListType", fRootNode.getTypeDefinition().getName());
159
160
PSVIElementNSImpl child = super.getChild(1);
161
assertValidity(ItemPSVI.VALIDITY_VALID, child.getValidity());
162
assertValidationAttempted(ItemPSVI.VALIDATION_FULL, child
163
.getValidationAttempted());
164
assertElementName("item", child.getElementDeclaration().getName());
165
assertTypeName("itemType", child.getTypeDefinition().getName());
166
167
child = super.getChild(2);
168
assertValidity(ItemPSVI.VALIDITY_VALID, child.getValidity());
169
assertValidationAttempted(ItemPSVI.VALIDATION_FULL, child
170
.getValidationAttempted());
171
assertElementName("item", child.getElementDeclaration().getName());
172
assertTypeName("itemType", child.getTypeDefinition().getName());
173
174
child = super.getChild(3);
175
assertValidity(ItemPSVI.VALIDITY_VALID, child.getValidity());
176
assertValidationAttempted(ItemPSVI.VALIDATION_FULL, child
177
.getValidationAttempted());
178
assertElementName("item", child.getElementDeclaration().getName());
179
assertTypeName("itemType", child.getTypeDefinition().getName());
180
181
child = super.getChild(4);
182
assertValidity(ItemPSVI.VALIDITY_VALID, child.getValidity());
183
assertValidationAttempted(ItemPSVI.VALIDATION_FULL, child
184
.getValidationAttempted());
185
assertElementName("itemRef", child.getElementDeclaration().getName());
186
assertTypeName("string", child.getTypeDefinition().getName());
187
}
188
}
189
190