Skip to content

Commit 5f7922b

Browse files
Merge branch '11.5' into 12.5
* 11.5: Add missing schema for PHPUnit 9.6
2 parents f69108e + a858479 commit 5f7922b

1 file changed

Lines changed: 330 additions & 0 deletions

File tree

schema/9.6.xsd

Lines changed: 330 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,330 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
3+
<xs:annotation>
4+
<xs:documentation source="https://phpunit.de/documentation.html">
5+
This Schema file defines the rules by which the XML configuration file of PHPUnit 9.6 may be structured.
6+
</xs:documentation>
7+
<xs:appinfo source="https://phpunit.de/documentation.html"/>
8+
</xs:annotation>
9+
<xs:element name="phpunit" type="phpUnitType">
10+
<xs:annotation>
11+
<xs:documentation>Root Element</xs:documentation>
12+
</xs:annotation>
13+
</xs:element>
14+
<xs:complexType name="coverageType">
15+
<xs:all>
16+
<xs:element name="include" minOccurs="0" maxOccurs="1">
17+
<xs:complexType>
18+
<xs:group ref="pathGroup"/>
19+
</xs:complexType>
20+
</xs:element>
21+
<xs:element name="exclude" minOccurs="0" maxOccurs="1">
22+
<xs:complexType>
23+
<xs:group ref="pathGroup"/>
24+
</xs:complexType>
25+
</xs:element>
26+
<xs:element name="report" minOccurs="0" maxOccurs="1">
27+
<xs:complexType>
28+
<xs:group ref="coverageReportGroup"/>
29+
</xs:complexType>
30+
</xs:element>
31+
</xs:all>
32+
<xs:attribute name="cacheDirectory" type="xs:anyURI"/>
33+
<xs:attribute name="pathCoverage" type="xs:boolean" default="false"/>
34+
<xs:attribute name="includeUncoveredFiles" type="xs:boolean" default="true"/>
35+
<xs:attribute name="processUncoveredFiles" type="xs:boolean" default="false"/>
36+
<xs:attribute name="ignoreDeprecatedCodeUnits" type="xs:boolean" default="false"/>
37+
<xs:attribute name="disableCodeCoverageIgnore" type="xs:boolean" default="false"/>
38+
</xs:complexType>
39+
<xs:complexType name="loggingType">
40+
<xs:group ref="loggingGroup"/>
41+
</xs:complexType>
42+
<xs:complexType name="groupsType">
43+
<xs:choice>
44+
<xs:sequence>
45+
<xs:element name="include" type="groupType"/>
46+
<xs:element name="exclude" type="groupType" minOccurs="0"/>
47+
</xs:sequence>
48+
<xs:sequence>
49+
<xs:element name="exclude" type="groupType"/>
50+
</xs:sequence>
51+
</xs:choice>
52+
</xs:complexType>
53+
<xs:complexType name="groupType">
54+
<xs:sequence>
55+
<xs:element name="group" type="xs:string" maxOccurs="unbounded"/>
56+
</xs:sequence>
57+
</xs:complexType>
58+
<xs:complexType name="extensionsType">
59+
<xs:sequence>
60+
<xs:element name="extension" type="objectType" minOccurs="0" maxOccurs="unbounded"/>
61+
</xs:sequence>
62+
</xs:complexType>
63+
<xs:complexType name="listenersType">
64+
<xs:sequence>
65+
<xs:element name="listener" type="objectType" maxOccurs="unbounded"/>
66+
</xs:sequence>
67+
</xs:complexType>
68+
<xs:complexType name="objectType">
69+
<xs:sequence>
70+
<xs:element name="arguments" minOccurs="0">
71+
<xs:complexType>
72+
<xs:group ref="argumentsGroup"/>
73+
</xs:complexType>
74+
</xs:element>
75+
</xs:sequence>
76+
<xs:attribute name="class" type="xs:string" use="required"/>
77+
<xs:attribute name="file" type="xs:anyURI"/>
78+
</xs:complexType>
79+
<xs:complexType name="arrayType">
80+
<xs:sequence>
81+
<xs:element name="element" type="argumentType" minOccurs="0" maxOccurs="unbounded"/>
82+
</xs:sequence>
83+
</xs:complexType>
84+
<xs:complexType name="argumentType">
85+
<xs:group ref="argumentChoice"/>
86+
<xs:attribute name="key" use="required"/>
87+
</xs:complexType>
88+
<xs:group name="argumentsGroup">
89+
<xs:sequence>
90+
<xs:choice minOccurs="0" maxOccurs="unbounded">
91+
<xs:element name="array" type="arrayType" />
92+
<xs:element name="integer" type="xs:integer" />
93+
<xs:element name="string" type="xs:string" />
94+
<xs:element name="double" type="xs:double" />
95+
<xs:element name="null" />
96+
<xs:element name="object" type="objectType" />
97+
<xs:element name="file" type="xs:anyURI" />
98+
<xs:element name="directory" type="xs:anyURI" />
99+
<xs:element name="boolean" type="xs:boolean" />
100+
</xs:choice>
101+
</xs:sequence>
102+
</xs:group>
103+
<xs:group name="argumentChoice">
104+
<xs:choice>
105+
<xs:element name="array" type="arrayType" minOccurs="0" maxOccurs="unbounded"/>
106+
<xs:element name="integer" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
107+
<xs:element name="string" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
108+
<xs:element name="double" type="xs:double" minOccurs="0" maxOccurs="unbounded"/>
109+
<xs:element name="null" minOccurs="0" maxOccurs="unbounded"/>
110+
<xs:element name="object" type="objectType" minOccurs="0" maxOccurs="unbounded"/>
111+
<xs:element name="file" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
112+
<xs:element name="directory" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
113+
<xs:element name="boolean" type="xs:boolean" minOccurs="0" maxOccurs="unbounded"/>
114+
</xs:choice>
115+
</xs:group>
116+
<xs:simpleType name="columnsType">
117+
<xs:union>
118+
<xs:simpleType>
119+
<xs:restriction base="xs:integer"/>
120+
</xs:simpleType>
121+
<xs:simpleType>
122+
<xs:restriction base="xs:string">
123+
<xs:enumeration value="max"/>
124+
</xs:restriction>
125+
</xs:simpleType>
126+
</xs:union>
127+
</xs:simpleType>
128+
<xs:group name="pathGroup">
129+
<xs:sequence>
130+
<xs:choice minOccurs="0" maxOccurs="unbounded">
131+
<xs:element name="directory" type="directoryFilterType"/>
132+
<xs:element name="file" type="fileFilterType"/>
133+
</xs:choice>
134+
</xs:sequence>
135+
</xs:group>
136+
<xs:complexType name="directoryFilterType">
137+
<xs:simpleContent>
138+
<xs:extension base="xs:string">
139+
<xs:attribute type="xs:string" name="prefix" default=""/>
140+
<xs:attribute type="xs:string" name="suffix" default="Test.php"/>
141+
<xs:attributeGroup ref="phpVersionGroup"/>
142+
</xs:extension>
143+
</xs:simpleContent>
144+
</xs:complexType>
145+
<xs:simpleType name="executionOrderType">
146+
<xs:restriction base="xs:string">
147+
<xs:enumeration value="default"/>
148+
<xs:enumeration value="defects"/>
149+
<xs:enumeration value="depends"/>
150+
<xs:enumeration value="depends,defects"/>
151+
<xs:enumeration value="depends,duration"/>
152+
<xs:enumeration value="depends,random"/>
153+
<xs:enumeration value="depends,reverse"/>
154+
<xs:enumeration value="depends,size"/>
155+
<xs:enumeration value="duration"/>
156+
<xs:enumeration value="no-depends"/>
157+
<xs:enumeration value="no-depends,defects"/>
158+
<xs:enumeration value="no-depends,duration"/>
159+
<xs:enumeration value="no-depends,random"/>
160+
<xs:enumeration value="no-depends,reverse"/>
161+
<xs:enumeration value="no-depends,size"/>
162+
<xs:enumeration value="random"/>
163+
<xs:enumeration value="reverse"/>
164+
<xs:enumeration value="size"/>
165+
</xs:restriction>
166+
</xs:simpleType>
167+
<xs:complexType name="fileFilterType">
168+
<xs:simpleContent>
169+
<xs:extension base="xs:anyURI">
170+
<xs:attributeGroup ref="phpVersionGroup"/>
171+
</xs:extension>
172+
</xs:simpleContent>
173+
</xs:complexType>
174+
<xs:attributeGroup name="phpVersionGroup">
175+
<xs:attribute name="phpVersion" type="xs:string" default="5.3.0"/>
176+
<xs:attribute name="phpVersionOperator" type="xs:string" default="&gt;="/>
177+
</xs:attributeGroup>
178+
<xs:complexType name="phpType">
179+
<xs:sequence>
180+
<xs:choice maxOccurs="unbounded">
181+
<xs:element name="includePath" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
182+
<xs:element name="ini" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
183+
<xs:element name="const" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
184+
<xs:element name="var" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
185+
<xs:element name="env" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
186+
<xs:element name="post" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
187+
<xs:element name="get" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
188+
<xs:element name="cookie" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
189+
<xs:element name="server" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
190+
<xs:element name="files" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
191+
<xs:element name="request" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
192+
</xs:choice>
193+
</xs:sequence>
194+
</xs:complexType>
195+
<xs:complexType name="namedValueType">
196+
<xs:attribute name="name" use="required" type="xs:string"/>
197+
<xs:attribute name="value" use="required" type="xs:anySimpleType"/>
198+
<xs:attribute name="verbatim" use="optional" type="xs:boolean"/>
199+
<xs:attribute name="force" use="optional" type="xs:boolean"/>
200+
</xs:complexType>
201+
<xs:complexType name="phpUnitType">
202+
<xs:annotation>
203+
<xs:documentation>The main type specifying the document structure</xs:documentation>
204+
</xs:annotation>
205+
<xs:group ref="configGroup"/>
206+
<xs:attributeGroup ref="configAttributeGroup"/>
207+
</xs:complexType>
208+
<xs:attributeGroup name="configAttributeGroup">
209+
<xs:attribute name="backupGlobals" type="xs:boolean" default="false"/>
210+
<xs:attribute name="backupStaticAttributes" type="xs:boolean" default="false"/>
211+
<xs:attribute name="bootstrap" type="xs:anyURI"/>
212+
<xs:attribute name="cacheResult" type="xs:boolean" default="true"/>
213+
<xs:attribute name="cacheResultFile" type="xs:anyURI"/>
214+
<xs:attribute name="colors" type="xs:boolean" default="false"/>
215+
<xs:attribute name="columns" type="columnsType" default="80"/>
216+
<xs:attribute name="convertDeprecationsToExceptions" type="xs:boolean" default="false"/>
217+
<xs:attribute name="convertErrorsToExceptions" type="xs:boolean" default="true"/>
218+
<xs:attribute name="convertNoticesToExceptions" type="xs:boolean" default="true"/>
219+
<xs:attribute name="convertWarningsToExceptions" type="xs:boolean" default="true"/>
220+
<xs:attribute name="forceCoversAnnotation" type="xs:boolean" default="false"/>
221+
<xs:attribute name="printerClass" type="xs:string" default="PHPUnit\TextUI\DefaultResultPrinter"/>
222+
<xs:attribute name="printerFile" type="xs:anyURI"/>
223+
<xs:attribute name="processIsolation" type="xs:boolean" default="false"/>
224+
<xs:attribute name="stopOnDefect" type="xs:boolean" default="false"/>
225+
<xs:attribute name="stopOnError" type="xs:boolean" default="false"/>
226+
<xs:attribute name="stopOnFailure" type="xs:boolean" default="false"/>
227+
<xs:attribute name="stopOnWarning" type="xs:boolean" default="false"/>
228+
<xs:attribute name="stopOnIncomplete" type="xs:boolean" default="false"/>
229+
<xs:attribute name="stopOnRisky" type="xs:boolean" default="false"/>
230+
<xs:attribute name="stopOnSkipped" type="xs:boolean" default="false"/>
231+
<xs:attribute name="failOnEmptyTestSuite" type="xs:boolean" default="false"/>
232+
<xs:attribute name="failOnIncomplete" type="xs:boolean" default="false"/>
233+
<xs:attribute name="failOnRisky" type="xs:boolean" default="false"/>
234+
<xs:attribute name="failOnSkipped" type="xs:boolean" default="false"/>
235+
<xs:attribute name="failOnWarning" type="xs:boolean" default="false"/>
236+
<xs:attribute name="beStrictAboutChangesToGlobalState" type="xs:boolean" default="false"/>
237+
<xs:attribute name="beStrictAboutOutputDuringTests" type="xs:boolean" default="false"/>
238+
<xs:attribute name="beStrictAboutResourceUsageDuringSmallTests" type="xs:boolean" default="false"/>
239+
<xs:attribute name="beStrictAboutTestsThatDoNotTestAnything" type="xs:boolean" default="true"/>
240+
<xs:attribute name="beStrictAboutTodoAnnotatedTests" type="xs:boolean" default="false"/>
241+
<xs:attribute name="beStrictAboutCoversAnnotation" type="xs:boolean" default="false"/>
242+
<xs:attribute name="defaultTimeLimit" type="xs:integer" default="0"/>
243+
<xs:attribute name="enforceTimeLimit" type="xs:boolean" default="false"/>
244+
<xs:attribute name="timeoutForSmallTests" type="xs:integer" default="1"/>
245+
<xs:attribute name="timeoutForMediumTests" type="xs:integer" default="10"/>
246+
<xs:attribute name="timeoutForLargeTests" type="xs:integer" default="60"/>
247+
<xs:attribute name="testSuiteLoaderClass" type="xs:string" default="PHPUnit\Runner\StandardTestSuiteLoader"/>
248+
<xs:attribute name="testSuiteLoaderFile" type="xs:anyURI"/>
249+
<xs:attribute name="defaultTestSuite" type="xs:string" default=""/>
250+
<xs:attribute name="verbose" type="xs:boolean" default="false"/>
251+
<xs:attribute name="testdox" type="xs:boolean" default="false"/>
252+
<xs:attribute name="stderr" type="xs:boolean" default="false"/>
253+
<xs:attribute name="reverseDefectList" type="xs:boolean" default="false"/>
254+
<xs:attribute name="registerMockObjectsFromTestArgumentsRecursively" type="xs:boolean" default="false"/>
255+
<xs:attribute name="extensionsDirectory" type="xs:anyURI"/>
256+
<xs:attribute name="executionOrder" type="executionOrderType" default="default"/>
257+
<xs:attribute name="resolveDependencies" type="xs:boolean" default="true"/>
258+
<xs:attribute name="noInteraction" type="xs:boolean" default="false"/>
259+
</xs:attributeGroup>
260+
<xs:group name="configGroup">
261+
<xs:all>
262+
<xs:element ref="testSuiteFacet" minOccurs="0"/>
263+
<xs:element name="groups" type="groupsType" minOccurs="0"/>
264+
<xs:element name="testdoxGroups" type="groupsType" minOccurs="0"/>
265+
<xs:element name="coverage" type="coverageType" minOccurs="0"/>
266+
<xs:element name="logging" type="loggingType" minOccurs="0"/>
267+
<xs:element name="extensions" type="extensionsType" minOccurs="0"/>
268+
<xs:element name="listeners" type="listenersType" minOccurs="0"/>
269+
<xs:element name="php" type="phpType" minOccurs="0"/>
270+
</xs:all>
271+
</xs:group>
272+
<xs:element name="testSuiteFacet" abstract="true"/>
273+
<xs:element name="testsuite" type="testSuiteType" substitutionGroup="testSuiteFacet"/>
274+
<xs:element name="testsuites" type="testSuitesType" substitutionGroup="testSuiteFacet"/>
275+
<xs:complexType name="testSuitesType">
276+
<xs:sequence>
277+
<xs:element name="testsuite" type="testSuiteType" maxOccurs="unbounded"/>
278+
</xs:sequence>
279+
</xs:complexType>
280+
<xs:complexType name="testSuiteType">
281+
<xs:sequence>
282+
<xs:choice minOccurs="0" maxOccurs="unbounded">
283+
<xs:group ref="pathGroup"/>
284+
<xs:element name="exclude" type="xs:string"/>
285+
</xs:choice>
286+
</xs:sequence>
287+
<xs:attribute name="name" type="xs:string" use="required"/>
288+
</xs:complexType>
289+
<xs:group name="coverageReportGroup">
290+
<xs:all>
291+
<xs:element name="clover" type="logToFileType" minOccurs="0"/>
292+
<xs:element name="cobertura" type="logToFileType" minOccurs="0"/>
293+
<xs:element name="crap4j" type="coverageReportCrap4JType" minOccurs="0" />
294+
<xs:element name="html" type="coverageReportHtmlType" minOccurs="0" />
295+
<xs:element name="php" type="logToFileType" minOccurs="0" />
296+
<xs:element name="text" type="coverageReportTextType" minOccurs="0" />
297+
<xs:element name="xml" type="logToDirectoryType" minOccurs="0" />
298+
</xs:all>
299+
</xs:group>
300+
<xs:group name="loggingGroup">
301+
<xs:all>
302+
<xs:element name="junit" type="logToFileType" minOccurs="0" />
303+
<xs:element name="teamcity" type="logToFileType" minOccurs="0" />
304+
<xs:element name="testdoxHtml" type="logToFileType" minOccurs="0" />
305+
<xs:element name="testdoxText" type="logToFileType" minOccurs="0" />
306+
<xs:element name="testdoxXml" type="logToFileType" minOccurs="0" />
307+
<xs:element name="text" type="logToFileType" minOccurs="0"/>
308+
</xs:all>
309+
</xs:group>
310+
<xs:complexType name="logToFileType">
311+
<xs:attribute name="outputFile" type="xs:anyURI" use="required"/>
312+
</xs:complexType>
313+
<xs:complexType name="logToDirectoryType">
314+
<xs:attribute name="outputDirectory" type="xs:anyURI" use="required"/>
315+
</xs:complexType>
316+
<xs:complexType name="coverageReportCrap4JType">
317+
<xs:attribute name="outputFile" type="xs:anyURI" use="required"/>
318+
<xs:attribute name="threshold" type="xs:integer"/>
319+
</xs:complexType>
320+
<xs:complexType name="coverageReportHtmlType">
321+
<xs:attribute name="outputDirectory" type="xs:anyURI" use="required"/>
322+
<xs:attribute name="lowUpperBound" type="xs:integer" default="50"/>
323+
<xs:attribute name="highLowerBound" type="xs:integer" default="90"/>
324+
</xs:complexType>
325+
<xs:complexType name="coverageReportTextType">
326+
<xs:attribute name="outputFile" type="xs:anyURI" use="required"/>
327+
<xs:attribute name="showUncoveredFiles" type="xs:boolean" default="false"/>
328+
<xs:attribute name="showOnlySummary" type="xs:boolean" default="false"/>
329+
</xs:complexType>
330+
</xs:schema>

0 commit comments

Comments
 (0)