Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 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.5 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" 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:anyURI">
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="true"/>
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:string"/>
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:group ref="pathGroup"/>
283
            <xs:element name="exclude" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
284
        </xs:sequence>
285
        <xs:attribute name="name" type="xs:string" use="required"/>
286
    </xs:complexType>
287
    <xs:group name="coverageReportGroup">
288
        <xs:all>
289
            <xs:element name="clover" type="logToFileType" minOccurs="0"/>
290
            <xs:element name="cobertura" type="logToFileType" minOccurs="0"/>
291
            <xs:element name="crap4j" type="coverageReportCrap4JType" minOccurs="0" />
292
            <xs:element name="html" type="coverageReportHtmlType" minOccurs="0" />
293
            <xs:element name="php" type="logToFileType" minOccurs="0" />
294
            <xs:element name="text" type="coverageReportTextType" minOccurs="0" />
295
            <xs:element name="xml" type="logToDirectoryType" minOccurs="0" />
296
        </xs:all>
297
    </xs:group>
298
    <xs:group name="loggingGroup">
299
        <xs:all>
300
            <xs:element name="junit" type="logToFileType" minOccurs="0" />
301
            <xs:element name="teamcity" type="logToFileType" minOccurs="0" />
302
            <xs:element name="testdoxHtml" type="logToFileType" minOccurs="0" />
303
            <xs:element name="testdoxText" type="logToFileType" minOccurs="0" />
304
            <xs:element name="testdoxXml" type="logToFileType" minOccurs="0" />
305
            <xs:element name="text" type="logToFileType" minOccurs="0"/>
306
        </xs:all>
307
    </xs:group>
308
    <xs:complexType name="logToFileType">
309
        <xs:attribute name="outputFile" type="xs:anyURI" use="required"/>
310
    </xs:complexType>
311
    <xs:complexType name="logToDirectoryType">
312
        <xs:attribute name="outputDirectory" type="xs:anyURI" use="required"/>
313
    </xs:complexType>
314
    <xs:complexType name="coverageReportCrap4JType">
315
        <xs:attribute name="outputFile" type="xs:anyURI" use="required"/>
316
        <xs:attribute name="threshold" type="xs:integer"/>
317
    </xs:complexType>
318
    <xs:complexType name="coverageReportHtmlType">
319
        <xs:attribute name="outputDirectory" type="xs:anyURI" use="required"/>
320
        <xs:attribute name="lowUpperBound" type="xs:integer" default="50"/>
321
        <xs:attribute name="highLowerBound" type="xs:integer" default="90"/>
322
    </xs:complexType>
323
    <xs:complexType name="coverageReportTextType">
324
        <xs:attribute name="outputFile" type="xs:anyURI" use="required"/>
325
        <xs:attribute name="showUncoveredFiles" type="xs:boolean" default="false"/>
326
        <xs:attribute name="showOnlySummary" type="xs:boolean" default="false"/>
327
    </xs:complexType>
328
</xs:schema>