Yaffs site version 1.1
[yaffs-website] / vendor / phpunit / phpunit / phpunit.xsd
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/manual/4.8/en/appendixes.configuration.html">
5       This Schema file defines the rules by which the XML configuration file of PHPUnit 4.8 may be structured.
6     </xs:documentation>
7     <xs:appinfo source="http://www.phpunit.de/manual/current/en/appendixes.configuration.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="filtersType">
15     <xs:choice>
16       <xs:sequence>
17         <xs:element name="blacklist" type="filterType"/>
18         <xs:element name="whitelist" type="whiteListType" minOccurs="0"/>
19       </xs:sequence>
20       <xs:sequence>
21         <xs:element name="whitelist" type="whiteListType"/>
22       </xs:sequence>
23     </xs:choice>
24   </xs:complexType>
25   <xs:complexType name="filterType">
26     <xs:sequence>
27       <xs:group ref="pathGroup"/>
28       <xs:element name="exclude" maxOccurs="unbounded" minOccurs="0">
29         <xs:complexType>
30           <xs:group ref="pathGroup"/>
31         </xs:complexType>
32       </xs:element>
33     </xs:sequence>
34   </xs:complexType>
35   <xs:complexType name="whiteListType">
36     <xs:complexContent>
37       <xs:extension base="filterType">
38         <xs:attribute name="addUncoveredFilesFromWhitelist" default="false" type="xs:boolean"/>
39         <xs:attribute name="processUncoveredFilesFromWhitelist" default="true" type="xs:boolean"/>
40       </xs:extension>
41     </xs:complexContent>
42   </xs:complexType>
43   <xs:complexType name="groupsType">
44     <xs:choice>
45       <xs:sequence>
46         <xs:element name="include" type="groupType"/>
47         <xs:element name="exclude" type="groupType" minOccurs="0"/>
48       </xs:sequence>
49       <xs:sequence>
50         <xs:element name="exclude" type="groupType"/>
51       </xs:sequence>
52     </xs:choice>
53   </xs:complexType>
54   <xs:complexType name="groupType">
55     <xs:sequence>
56       <xs:element name="group" type="xs:string" maxOccurs="unbounded"/>
57     </xs:sequence>
58   </xs:complexType>
59   <xs:complexType name="listenersType">
60     <xs:sequence>
61       <xs:element name="listener" type="objectType" maxOccurs="unbounded"/>
62     </xs:sequence>
63   </xs:complexType>
64   <xs:complexType name="objectType">
65     <xs:sequence>
66       <xs:element name="arguments" minOccurs="0">
67         <xs:complexType>
68           <xs:group ref="argumentsGroup"/>
69         </xs:complexType>
70       </xs:element>
71     </xs:sequence>
72     <xs:attribute name="class" type="xs:string" use="required"/>
73     <xs:attribute name="file" type="xs:anyURI"/>
74   </xs:complexType>
75   <xs:complexType name="arrayType">
76     <xs:sequence>
77       <xs:element name="element" type="argumentType" minOccurs="0" maxOccurs="unbounded"/>
78     </xs:sequence>
79   </xs:complexType>
80   <xs:complexType name="argumentType">
81     <xs:group ref="argumentChoice"/>
82     <xs:attribute name="key" use="required"/>
83   </xs:complexType>
84   <xs:group name="argumentsGroup">
85     <xs:sequence>
86       <xs:element name="array" type="arrayType" minOccurs="0" maxOccurs="unbounded"/>
87       <xs:element name="integer" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
88       <xs:element name="string" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
89       <xs:element name="double" type="xs:double" minOccurs="0" maxOccurs="unbounded"/>
90       <xs:element name="null" minOccurs="0" maxOccurs="unbounded"/>
91       <xs:element name="object" type="objectType" minOccurs="0" maxOccurs="unbounded"/>
92       <xs:element name="file" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
93       <xs:element name="directory" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
94     </xs:sequence>
95   </xs:group>
96   <xs:group name="argumentChoice">
97     <xs:choice>
98       <xs:element name="array" type="arrayType" minOccurs="0" maxOccurs="unbounded"/>
99       <xs:element name="integer" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
100       <xs:element name="string" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
101       <xs:element name="double" type="xs:double" minOccurs="0" maxOccurs="unbounded"/>
102       <xs:element name="null" minOccurs="0" maxOccurs="unbounded"/>
103       <xs:element name="object" type="objectType" minOccurs="0" maxOccurs="unbounded"/>
104       <xs:element name="file" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
105       <xs:element name="directory" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
106     </xs:choice>
107   </xs:group>
108   <xs:complexType name="loggersType">
109     <xs:sequence>
110       <xs:element name="log" type="loggerType" maxOccurs="unbounded"/>
111     </xs:sequence>
112   </xs:complexType>
113   <xs:complexType name="loggerType">
114     <xs:attribute name="type">
115       <xs:simpleType>
116         <xs:restriction base="xs:string">
117           <xs:enumeration value="coverage-html"/>
118           <xs:enumeration value="coverage-text"/>
119           <xs:enumeration value="coverage-clover"/>
120           <xs:enumeration value="coverage-crap4j"/>
121           <xs:enumeration value="coverage-xml"/>
122           <xs:enumeration value="json"/>
123           <xs:enumeration value="plain"/>
124           <xs:enumeration value="tap"/>
125           <xs:enumeration value="junit"/>
126           <xs:enumeration value="testdox-html"/>
127           <xs:enumeration value="testdox-text"/>
128         </xs:restriction>
129       </xs:simpleType>
130     </xs:attribute>
131     <xs:attribute name="target" type="xs:anyURI"/>
132     <xs:attribute name="lowUpperBound" type="xs:nonNegativeInteger" default="35"/>
133     <xs:attribute name="highLowerBound" type="xs:nonNegativeInteger" default="70"/>
134     <xs:attribute name="logIncompleteSkipped" type="xs:boolean" default="false"/>
135     <xs:attribute name="showUncoveredFiles" type="xs:boolean" default="false"/>
136     <xs:attribute name="threshold" type="xs:nonNegativeInteger" default="30"/>
137   </xs:complexType>
138   <xs:group name="pathGroup">
139     <xs:sequence>
140       <xs:element name="directory" type="directoryFilterType" minOccurs="0" maxOccurs="unbounded"/>
141       <xs:element name="file" type="fileFilterType" minOccurs="0" maxOccurs="unbounded"/>
142     </xs:sequence>
143   </xs:group>
144   <xs:complexType name="directoryFilterType">
145     <xs:simpleContent>
146       <xs:extension base="xs:anyURI">
147         <xs:attribute type="xs:string" name="suffix" default="Test.php"/>
148         <xs:attributeGroup ref="phpVersionGroup"/>
149       </xs:extension>
150     </xs:simpleContent>
151   </xs:complexType>
152   <xs:complexType name="fileFilterType">
153     <xs:simpleContent>
154       <xs:extension base="xs:anyURI">
155         <xs:attributeGroup ref="phpVersionGroup"/>
156       </xs:extension>
157     </xs:simpleContent>
158   </xs:complexType>
159   <xs:attributeGroup name="phpVersionGroup">
160     <xs:attribute name="phpVersion" type="xs:string" default="5.3.0"/>
161     <xs:attribute name="phpVersionOperator" type="xs:string" default="&gt;="/>
162   </xs:attributeGroup>
163   <xs:complexType name="phpType">
164     <xs:sequence>
165       <xs:choice maxOccurs="unbounded">
166         <xs:element name="includePath" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
167         <xs:element name="ini" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
168         <xs:element name="const" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
169         <xs:element name="var" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
170         <xs:element name="env" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
171         <xs:element name="post" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
172         <xs:element name="get" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
173         <xs:element name="cookie" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
174         <xs:element name="server" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
175         <xs:element name="files" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
176         <xs:element name="request" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
177       </xs:choice>
178     </xs:sequence>
179   </xs:complexType>
180   <xs:complexType name="namedValueType">
181     <xs:attribute name="name" use="required" type="xs:string"/>
182     <xs:attribute name="value" use="required" type="xs:anySimpleType"/>
183   </xs:complexType>
184   <xs:complexType name="phpUnitType">
185     <xs:annotation>
186       <xs:documentation>The main type specifying the document structure</xs:documentation>
187     </xs:annotation>
188     <xs:group ref="configGroup"/>
189     <xs:attributeGroup ref="configAttributeGroup"/>
190   </xs:complexType>
191   <xs:attributeGroup name="configAttributeGroup">
192     <xs:attribute name="backupGlobals" type="xs:boolean" default="true"/>
193     <xs:attribute name="backupStaticAttributes" type="xs:boolean" default="false"/>
194     <xs:attribute name="bootstrap" type="xs:anyURI"/>
195     <xs:attribute name="cacheTokens" type="xs:boolean"/>
196     <xs:attribute name="colors" type="xs:boolean" default="false"/>
197     <xs:attribute name="columns" type="xs:integer" default="80"/>
198     <xs:attribute name="convertErrorsToExceptions" type="xs:boolean" default="true"/>
199     <xs:attribute name="convertNoticesToExceptions" type="xs:boolean" default="true"/>
200     <xs:attribute name="convertWarningsToExceptions" type="xs:boolean" default="true"/>
201     <xs:attribute name="forceCoversAnnotation" type="xs:boolean" default="false"/>
202     <xs:attribute name="mapTestClassNameToCoveredClassName" type="xs:boolean" default="false"/>
203     <xs:attribute name="printerClass" type="xs:string" default="PHPUnit_TextUI_ResultPrinter"/>
204     <xs:attribute name="printerFile" type="xs:anyURI"/>
205     <xs:attribute name="processIsolation" type="xs:boolean" default="false"/>
206     <xs:attribute name="stopOnError" type="xs:boolean" default="false"/>
207     <xs:attribute name="stopOnFailure" type="xs:boolean" default="false"/>
208     <xs:attribute name="stopOnIncomplete" type="xs:boolean" default="false"/>
209     <xs:attribute name="stopOnRisky" type="xs:boolean" default="false"/>
210     <xs:attribute name="stopOnSkipped" type="xs:boolean" default="false"/>
211     <xs:attribute name="beStrictAboutTestsThatDoNotTestAnything" type="xs:boolean" default="false"/>
212     <xs:attribute name="beStrictAboutOutputDuringTests" type="xs:boolean" default="false"/>
213     <xs:attribute name="beStrictAboutTestSize" type="xs:boolean" default="false"/>
214     <xs:attribute name="beStrictAboutTodoAnnotatedTests" type="xs:boolean" default="false"/>
215     <xs:attribute name="beStrictAboutChangesToGlobalState" type="xs:boolean" default="false"/>
216     <xs:attribute name="checkForUnintentionallyCoveredCode" type="xs:boolean" default="false"/>
217     <xs:attribute name="strict" type="xs:boolean" default="false"/>
218     <xs:attribute name="testSuiteLoaderClass" type="xs:string" default="PHPUnit_Runner_StandardTestSuiteLoader"/>
219     <xs:attribute name="testSuiteLoaderFile" type="xs:anyURI"/>
220     <xs:attribute name="timeoutForSmallTests" type="xs:integer" default="1"/>
221     <xs:attribute name="timeoutForMediumTests" type="xs:integer" default="10"/>
222     <xs:attribute name="timeoutForLargeTests" type="xs:integer" default="60"/>
223     <xs:attribute name="verbose" type="xs:boolean" default="false"/>
224     <xs:attribute name="stderr" type="xs:boolean" default="false"/>
225   </xs:attributeGroup>
226   <xs:group name="configGroup">
227     <xs:all>
228       <xs:element ref="testSuiteFacet" minOccurs="0"/>
229       <xs:element name="groups" type="groupsType" minOccurs="0"/>
230       <xs:element name="filter" type="filtersType" minOccurs="0"/>
231       <xs:element name="logging" type="loggersType" minOccurs="0"/>
232       <xs:element name="listeners" type="listenersType" minOccurs="0"/>
233       <xs:element name="php" type="phpType" minOccurs="0"/>
234       <xs:element name="selenium" type="seleniumType" minOccurs="0"/>
235     </xs:all>
236   </xs:group>
237   <xs:complexType name="seleniumType">
238     <xs:sequence>
239       <xs:element name="browser" type="browserType"/>
240     </xs:sequence>
241   </xs:complexType>
242   <xs:complexType name="browserType">
243     <xs:attribute name="name" type="xs:string"/>
244     <xs:attribute name="browser" type="xs:string"/>
245     <xs:attribute name="host" type="xs:anyURI"/>
246     <xs:attribute name="port" type="xs:nonNegativeInteger"/>
247     <xs:attribute name="timeout" type="xs:nonNegativeInteger"/>
248   </xs:complexType>
249   <xs:element name="testSuiteFacet" abstract="true"/>
250   <xs:element name="testsuite" type="testSuiteType" substitutionGroup="testSuiteFacet"/>
251   <xs:element name="testsuites" type="testSuitesType" substitutionGroup="testSuiteFacet"/>
252   <xs:complexType name="testSuitesType">
253     <xs:sequence>
254       <xs:element name="testsuite" type="testSuiteType" maxOccurs="unbounded"/>
255     </xs:sequence>
256   </xs:complexType>
257   <xs:complexType name="testSuiteType">
258     <xs:sequence>
259       <xs:group ref="pathGroup"/>
260       <xs:element name="exclude" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
261     </xs:sequence>
262     <xs:attribute name="name" type="xs:string" use="required"/>
263   </xs:complexType>
264 </xs:schema>