|
1 | 1 | import { assertNotEquals } from "@std/assert/not-equals";
|
| 2 | +import { assertThrows } from "@std/assert/throws"; |
2 | 3 | import { uniquePairs } from "../misc.ts";
|
3 | 4 | import { parse } from "./parser.ts";
|
4 | 5 |
|
@@ -202,3 +203,26 @@ Deno.test("AST all distinct", () => {
|
202 | 203 | }
|
203 | 204 | }
|
204 | 205 | });
|
| 206 | + |
| 207 | +// Examples taken from https://telo-misikeke.gitlab.io/ |
| 208 | +const MALFORMED_SENTENCES = [ |
| 209 | + "pana e lukin pi ilo ni tawa sini.", |
| 210 | + "mi pona, taso, toki mi li ken pi ike.", |
| 211 | + "pona la, mi li jo e ilo ni a!", |
| 212 | + "Mi pana e ilo ni tawa sina kepeken ilo", |
| 213 | + "ilo mi pona e toki pi jan ale.", |
| 214 | + "ni li pi pona mute a!", |
| 215 | + "pi pona mute.", |
| 216 | + "lipu sina li pakala en ike la, ilo mi li ken pona e ona.", |
| 217 | + "mi en sina ken lukin e ilo mi.", |
| 218 | + "mi wile pona e lipu mi en lipu sina", |
| 219 | + "jan ale li li ken toki tawa mi.", |
| 220 | + "jan li o toki tawa mi a!", |
| 221 | + "toki e mi li pona tawa mi.", |
| 222 | +]; |
| 223 | + |
| 224 | +Deno.test("parser all error", () => { |
| 225 | + for (const sentence of MALFORMED_SENTENCES) { |
| 226 | + assertThrows(() => parse(sentence).unwrap()); |
| 227 | + } |
| 228 | +}); |
0 commit comments