source: resources/apps/xforms-test-suite/suite.rng @ aab39dd

Revision aab39dd, 4.5 KB checked in by Eric van der Vlist <vdv@dyomedea.com>, 7 years ago (diff)

Refactoring the test suite vocabulary and adding a schema

  • Property mode set to 100644
Line 
1<?xml version="1.0" encoding="UTF-8"?><!--
2Relax NG schema generated from an Examplotron schema.
3
4Version of the compiler: "0.8"
5
6About Examplotron: http://examplotron.org
7Bug reports: vdv@dyomedea.com
8SVN: http://svn.xmlschemata.org/repository/downloads/examplotron/
9
10-->
11<grammar xmlns="http://relaxng.org/ns/structure/1.0" xmlns:ega="http://examplotron.org/annotations/" xmlns:sch="http://www.ascc.net/xml/schematron" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
12   <start>
13      <element name="suite" ns="http://xformsunit.org/namespaces/suite/"><!-- Reference to the form to test --><!-- The test cases -->
14         <element name="form">
15            <optional>
16               <attribute name="src">
17                  <ega:example src="hello-world.xhtml"/>
18               </attribute>
19            </optional>
20         </element>
21         <zeroOrMore>
22            <element name="case"><!-- Title --><!-- Set a value (similar to XForms' setvalue action) --><!-- Check that an instance node is equal to its expected value --><!-- Check if a control is enabled -->
23               <interleave>
24                  <optional>
25                     <attribute name="id">
26                        <ega:example id="test-greetings"/>
27                     </attribute>
28                  </optional>
29                  <element name="title">
30                     <text>
31                        <ega:example>Test that the greetings are displayed and enabled.</ega:example>
32                     </text>
33                  </element>
34                  <zeroOrMore>
35                     <element name="setvalue" ns="http://xformsunit.org/namespaces/controller/">
36                        <optional>
37                           <attribute name="ref">
38                              <ega:example ref="instance('instance')/PersonGivenName"/>
39                           </attribute>
40                        </optional>
41                        <text>
42                           <ega:example>Eric</ega:example>
43                        </text>
44                     </element>
45                  </zeroOrMore>
46                  <zeroOrMore>
47                     <element name="assertEqual" ns="http://xformsunit.org/namespaces/model/"><!-- Actual value --><!-- Expected --><!-- Message to display when the test fails -->
48                        <element name="actual">
49                           <optional>
50                              <attribute name="ref">
51                                 <ega:example ref="instance('instance')/Greetings"/>
52                              </attribute>
53                           </optional>
54                        </element>
55                        <element name="expected">
56                           <text>
57                              <ega:example>Hello Eric. We hope you like XForms!</ega:example>
58                           </text>
59                        </element>
60                        <element name="message">
61                           <text>
62                              <ega:example>The greetings should be the concatenation of "Hello ", the given name and ". We hope you like
63                XForms!".</ega:example>
64                           </text>
65                        </element>
66                     </element>
67                  </zeroOrMore>
68                  <zeroOrMore>
69                     <element name="assertEnabled" ns="http://xformsunit.org/namespaces/view/"><!-- Identification of the control. Being an element leaves more flexibility to use other means than id/idref --><!-- Expected value (boolean) --><!-- Message to display if the test fails -->
70                        <element name="control">
71                           <optional>
72                              <attribute name="idref">
73                                 <ega:example idref="greetings-control"/>
74                              </attribute>
75                           </optional>
76                        </element>
77                        <element name="expected">
78                           <data type="boolean">
79                              <ega:example>true</ega:example>
80                           </data>
81                        </element>
82                        <element name="message">
83                           <text>
84                              <ega:example>The greetings control should be enabled at that point.</ega:example>
85                           </text>
86                        </element>
87                     </element>
88                  </zeroOrMore>
89               </interleave>
90            </element>
91         </zeroOrMore>
92      </element>
93   </start>
94</grammar>
Note: See TracBrowser for help on using the repository browser.