moon update
moon check --deny-warn
moon test --deny-warn
moon build --deny-warn
moon run examples/demo
moon run examples/demo-json
node tools/verify-demo.mjs| Suite | Scope | Expected observation |
|---|---|---|
| shared-ascii | Both real adapters; seven application contracts | Request-ID match and rejection, search span, unmatched optional capture, empty capture, ordered multiple captures, empty whole match; zero findings |
| syntax-difference | Both real adapters; one existing probe | ^([a-z])\1$ on aa: regexp matches, re-mbt Perl rejects; one compile-acceptance finding |
| adapter-domain | Both adapters; two boundary probes | Literal 猫 pattern is rejected at compile time by the ASCII adapter; ASCII (a) on 🦊a is refused at execution time; two findings |
| unicode-official-only | Official adapter; eight cases | BMP literal 猫, supplementary-prefix span, supplementary literal 🦊, non-ASCII Lu match Ω, and four generated boundaries: A, @, Z, [; zero findings |
| Pattern / input | Backend | Result / captures / UTF-16 span |
|---|---|---|
| ^([A-Z]+)-([0-9]+)$ / ORD-2048 | Both | ORD-2048, [Some("ORD"), Some("2048")], [0, 8) |
| ^(a*)$ / empty string | Both | empty text, [Some("")], [0, 0) |
| ^([a-z])\1$ / aa | regexp | aa, [Some("a")], [0, 2) |
| same backreference | re-mbt Perl | compile_rejected; one compile-acceptance finding |
| (🦊) / 猫🦊a | regexp only | 🦊, [Some("🦊")], [1, 3) |
| (\p{Lu}) / éΩ🦊 | regexp only | Ω, [Some("Ω")], [1, 2) |
Install
Download zipBehavior contract testing across MoonBit regex backends with Unicode boundary fixtures.