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.

Tests producing parse trees

22 Nov 2022

Tests provided by Steven Pemberton in December 2021, with corrections of 21 December. Reorganized by Norm Tovey-Walsh, February 2022.

ixml tests

Created 16 Dec 2021 by SP

Updated 21 Dec 2021 by SP

Corrected input, grammar, or output for 5 tests

Updated 30 Dec 2021 by MSM

Updated catalog, corrected many tests.

Updated 30 May 2022 by MSM

Add whitespace-and-delimiters test sets.

expr1

Created 16 Dec 2021 by SP

Invisible XML Grammar

expression: expr.
-expr: term++plusop.
@plusop: "+"; "-".
term: -factor; factor, mulop, factor++mulop.
@mulop: "*"; "/".
factor: id; number; bracketed.
bracketed: -"(", expr, -")".
id: @name.
name: letter+.
number: @value.
value: digit+.
-letter: ["a"-"z"].
-digit: ["0"-"9"].

Test case: expr1

Repository URI: …/tests/correct/test-catalog.xml

Created 16 Dec 2021 by SP

Updated 23 Dec 2021 by MSM

Change result

Updated 01 Jan 2022 by MSM

remove trailing whitespace from input

Updated 01 Jan 2022 by MSM

remove whitespace from expected result

Updated 21 May 2022 by MSM

change to assert-dynamic-error

Input string (9 characters)

1+2+3*4+5

Illustrates the way to handle dynamic errors in a test: use assert-dynamic-error.

It's not formally a grammar error, since this grammar will work fine for some inputs and processors are not required to reject the grammar. So assert-not-a-grammar is not the right thing.

It's not formally a failure to parse the input, since this input string is perfectly grammatical against this input grammar. So assert-not-a-sentence is not the right thing.

The error arises in serialization and only at run time. So assert-dynamic-error.

Expected result

Raises a dynamic error: one of D01, D02.