iXML Community Group Test Suite

23 Oct 2023 (22 Nov 2023)

Top-level catalog for tests in the iXML Community Group Test Suite.

Tests have been contributed from several sources, but the core of the test collection are the tests contributed by Steven Pemberton in December 2021.

Correct Syntax tests

01 Jun 2022

Syntax tests for grammar features. These tests all make assertions about grammars that are syntactically correct.

sets

Created 26 Mar 2022 by ndw

Invisible XML Grammar

S: atoz; AtoZ; NotZeroToNine; NotAtoF; Letters; NotLetters .
atoz: ^["a"-"z"] .
AtoZ: -["A"-"Z"] .
NotZeroToNine: ~['0'-'9'] .
NotAtoF: -~[#41-#46] .
Letters: [L] .
NotLetters: -~[L] .

Test case: Grammar test

Repository URI: …/tests/syntax/catalog-of-correct-tests.xml

Expected result

<ixml>
   <rule name="S">
      <alt>
         <nonterminal name="atoz"/>
      </alt>
      <alt>
         <nonterminal name="AtoZ"/>
      </alt>
      <alt>
         <nonterminal name="NotZeroToNine"/>
      </alt>
      <alt>
         <nonterminal name="NotAtoF"/>
      </alt>
      <alt>
         <nonterminal name="Letters"/>
      </alt>
      <alt>
         <nonterminal name="NotLetters"/>
      </alt>
   </rule>
   <rule name="atoz">
      <alt>
         <inclusion tmark="^">
            <member from="a" to="z"/>
         </inclusion>
      </alt>
   </rule>
   <rule name="AtoZ">
      <alt>
         <inclusion tmark="-">
            <member from="A" to="Z"/>
         </inclusion>
      </alt>
   </rule>
   <rule name="NotZeroToNine">
      <alt>
         <exclusion>
            <member from="0" to="9"/>
         </exclusion>
      </alt>
   </rule>
   <rule name="NotAtoF">
      <alt>
         <exclusion tmark="-">
            <member from="#41" to="#46"/>
         </exclusion>
      </alt>
   </rule>
   <rule name="Letters">
      <alt>
         <inclusion>
            <member code="L"/>
         </inclusion>
      </alt>
   </rule>
   <rule name="NotLetters">
      <alt>
         <exclusion tmark="-">
            <member code="L"/>
         </exclusion>
      </alt>
   </rule>
</ixml>