diff options
Diffstat (limited to 'site/tests')
-rw-r--r-- | site/tests/errors.html | 28 | ||||
-rw-r--r-- | site/tests/index.html | 28 | ||||
-rw-r--r-- | site/tests/interpretation.html | 35 | ||||
-rw-r--r-- | site/tests/location.html | 27 | ||||
-rw-r--r-- | site/tests/parsing.html | 27 |
5 files changed, 145 insertions, 0 deletions
diff --git a/site/tests/errors.html b/site/tests/errors.html new file mode 100644 index 0000000..eeaacfa --- /dev/null +++ b/site/tests/errors.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <meta content="width=device-width,initial-scale=1" name="viewport"> + <title>POM error tests</title> + <link rel="icon" href="/icon.png"> +</head> +<body> +<p> + <a href="/index.html">POM homepage</a> · <a href="/tests/index.html">POM tests</a> +</p> +<h2>Error tests for POM</h2> + +<p> + These tests are found in the <code>tests/errors</code> directory of the main POM repository. +</p> +<p> + These tests are for checking that error conditions are + detected and gracefully handled. +</p> +<p> + Each test in this directory has an error, + and should be rejected by a compliant parser. +</p> + +</body> +</html> diff --git a/site/tests/index.html b/site/tests/index.html new file mode 100644 index 0000000..40642b0 --- /dev/null +++ b/site/tests/index.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <meta content="width=device-width,initial-scale=1" name="viewport"> + <title>POM tests</title> + <link rel="icon" href="/icon.png"> +</head> +<body> +<p> + <a href="/index.html">POM homepage</a> +</p> +<h2>Tests for POM</h2> +<p> + The tests listed below are freely available for checking that POM configuration parsers are implemented correctly. +</p> +<p> + There are currently four test suites for POM parsing: +</p> +<ul> + <li><a href="/tests/parsing.html"><code>parsing</code></a> — for testing that key-value pairs are correct</li> + <li><a href="/tests/location.html"><code>location</code></a> — for testing that definition location of keys is correctly determined</li> + <li><a href="/tests/errors.html"><code>errors</code></a> — for testing that error conditions are detected and gracefully handled</li> + <li><a href="/tests/interpretation.html"><code>interpretation</code></a> — for testing that numbers, booleans, and lists are parsed correctly</li> +</ul> + +</body> +</html> diff --git a/site/tests/interpretation.html b/site/tests/interpretation.html new file mode 100644 index 0000000..0bc4a5c --- /dev/null +++ b/site/tests/interpretation.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <meta content="width=device-width,initial-scale=1" name="viewport"> + <title>POM interpretation tests</title> + <link rel="icon" href="/icon.png"> +</head> +<body> +<p> + <a href="/index.html">POM homepage</a> · <a href="/tests/index.html">POM tests</a> +</p> +<h2>Interpretation tests for POM</h2> +<p> + These tests are found in the <code>tests/location</code> directory of the main POM repository. +</p> +<p> + These tests check that booleans, numbers, floats, and lists are interpreted correctly. +</p> +<ul> + <li> + int.pom, uint.pom, float.pom, bool.pom — These files contain two sections, + <code>[good]</code> and <code>[bad]</code>. + The keys in <code>good</code> are in pairs <i>k</i>.a and <i>k</i>.b. Their values must + parse to the same int/uint/float/boolean as each other. + The values in <code>bad</code> are all invalid int/uint/float/booleans, and parsing them should + return an error. + </li> + <li> + list.pom — The keys in this file are in pairs <i>k</i>.list and <i>k</i>.sep. + <i>k</i>.list is a POM list, and <i>k</i>.sep is the concatenation of <i>x</i><code>;</code> for each entry + <i>x</i> in the list (none of the entries have `;` in them, so this representation is + unambiguous). + </li> +</ul> diff --git a/site/tests/location.html b/site/tests/location.html new file mode 100644 index 0000000..3a1ec39 --- /dev/null +++ b/site/tests/location.html @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <meta content="width=device-width,initial-scale=1" name="viewport"> + <title>POM location tests</title> + <link rel="icon" href="/icon.png"> +</head> +<body> +<p> + <a href="/index.html">POM homepage</a> · <a href="/tests/index.html">POM tests</a> +</p> +<h2>Location tests for POM</h2> +<p> + These tests are found in the <code>tests/location</code> directory of the main POM repository. +</p> +<p> + These tests are for checking that definition location information + is correctly recorded. +</p> +<p> + Each test consists of a file <i>x</i>.pom and a file <i>x</i>.locations.pom. + For every key in <i>x</i>.pom, there’s a corresponding key in <i>x</i>.locations.pom + which is set to the line number where the key was defined in <i>x</i>.pom. +</p> +</body> +</html> diff --git a/site/tests/parsing.html b/site/tests/parsing.html new file mode 100644 index 0000000..00058ed --- /dev/null +++ b/site/tests/parsing.html @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <meta content="width=device-width,initial-scale=1" name="viewport"> + <title>POM parsing tests</title> + <link rel="icon" href="/icon.png"> +</head> +<body> +<p> + <a href="/index.html">POM homepage</a> · <a href="/tests/index.html">POM tests</a> +</p> +<h2>Parsing tests for POM</h2> +<p> + These tests are found in the <code>tests/parsing</code> directory of the main POM repository. +</p> +<p> + These tests are for checking that key-value pairs are parsed correctly. +</p> +<p> + Each test <i>x</i> consists of two files, <i>x</i>.pom and <i>x</i>.flat.pom. These + files should produce the exact same schema, but <i>x</i>.flat.pom is formatted + in a simple way without any section headers, and only using doubly-quoted single-line strings. +</p> + +</body> +</html> |