Stylesheet: E:/Joel/Dropbox/TAN/TAN-2020/functions/regex/regex-ext-tan-functions.xsl
XSpec: E:/Joel/Dropbox/TAN/TAN-2020/functions/regex/tests/tan-regex.xspec
Tested: 29 June 2020 at 06:03
| passed: 49 | pending: 0 | failed: 0 | total: 49 | |
|---|---|---|---|---|
| rgx:best-unicode-version() | 3 | 0 | 0 | 3 |
| rgx:escape() | 1 | 0 | 0 | 1 |
| rgx:matches() | 4 | 0 | 0 | 4 |
| rgx:replace() | 3 | 0 | 0 | 3 |
| rgx:tokenize() | 3 | 0 | 0 | 3 |
| rgx:analyze-string() | 1 | 0 | 0 | 1 |
| rgx:regex() | 4 | 0 | 0 | 4 |
| rgx:parse-regex() | 2 | 0 | 0 | 2 |
| rgx:regex-is-valid() | 3 | 0 | 0 | 3 |
| rgx:string-base() | 3 | 0 | 0 | 3 |
| rgx:string-to-components() | 2 | 0 | 0 | 2 |
| rgx:string-to-composites() | 2 | 0 | 0 | 2 |
| rgx:codepoints-to-string() | 2 | 0 | 0 | 2 |
| rgx:process-regex-escape-u() | 6 | 0 | 0 | 6 |
| rgx:get-chars-by-name() | 2 | 0 | 0 | 2 |
| rgx:replace-by-char-name() | 3 | 0 | 0 | 3 |
| numbers: converting base systems | 5 | 0 | 0 | 5 |
| rgx:best-unicode-version() | passed: 3 / pending: 0 / failed: 0 / total: 3 |
|---|---|
| Unreleased Unicode version | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| Future Unicode version > latest | Success |
| Unicode version before the XML data was provided | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| 4.0 > 5.1 | Success |
| Old Unicode version not supported | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| 6.1 > 6.0 (older versions are normally x.0) | Success |
| rgx:escape() | passed: 1 / pending: 0 / failed: 0 / total: 1 |
|---|---|
| attribute value regex | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| escaped attribute value regex | Success |
| rgx:matches() | passed: 4 / pending: 0 / failed: 0 / total: 4 |
|---|---|
| Simple match with \u{} + name | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| abc matches \u{.latin} | Success |
| Simple match with \u{} + hex range | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| 'A' matches \u{61} (= 'a') with flag 'i' | Success |
| Simple match on \u{} + name based on older Unicode version | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| U+1F5EA TWO SPEECH BUBBLES doesn't match \u{.bubbles} in Unicode version 6.0 because 'BUBBLES' was introduced only in 7.0 | Success |
| Greek words with two accents | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| 'σῶσόν με' matches the pattern for Greek words with two accents | Success |
| rgx:replace() | passed: 3 / pending: 0 / failed: 0 / total: 3 |
|---|---|
| Simple replace using composite class | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| Replacing 'A+⁺₊﬩﹢+Z' with \u{++} (all characters that have the + as a base character) should result in 'AZ' | Success |
| Simple replace using name component class, older version of Unicode | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| Unicode 6.0: replacing 'A🍶🍼🍾🧴Z' with '\u{.bottle}' = 'A🍶🍼Z' | Success |
| Simple replace using name component class, current version of Unicode | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| Unicode: replacing 'A🍶🍼🍾🧴Z' with '\u{.bottle}' = 'AZ' | Success |
| rgx:tokenize() | passed: 3 / pending: 0 / failed: 0 / total: 3 |
|---|---|
| Tokenizing on composite class | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| Tokenizing 'XàXáXâXãXäX' with '\u{+a}' leaves six strings | Success |
| Tokenizing on name word class | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| Tokenizing 'XàXáXâXãXäX' with '\u{.a}' leaves six strings | Success |
| Tokenizing on name word class | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| Tokenizing 'XàXáXâXãXäX' with '\u{.a!circumflex}' leaves five strings | Success |
| rgx:analyze-string() | passed: 1 / pending: 0 / failed: 0 / total: 1 |
|---|---|
| Analyzing string based on name word class | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| Analyzing abcABC with \u{.b} leaves five child elements in the resultant <analyze-string-result> | Success |
| rgx:regex() | passed: 4 / pending: 0 / failed: 0 / total: 4 |
|---|---|
| Simple expansion of regex \u{} with name, older version of Unicode | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| \u{.bubbles} for Unicode 6.0 should be empty, and so an error should be thrown | Success |
| Simple expansion of regex \u{} with name, older version of Unicode | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| \u{.bottle} for Unicode 6.0 should have two characters | Success |
| Simple expansion of regex \u{} with name, latest Unicode | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| \u{.bottle} for latest Unicode should have four characters | Success |
| Greek letter patterns | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| Pattern for an accented Greek letter | Success |
| rgx:parse-regex() | passed: 2 / pending: 0 / failed: 0 / total: 2 |
|---|---|
| Analysis of regular expression | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| \u{.bubbles} for Unicode 6.0 should be empty | Success |
| Nested groups of regular expression | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| (\u{.bottle}|a(bc)) should have parsed results with several elements | Success |
| rgx:regex-is-valid() | passed: 3 / pending: 0 / failed: 0 / total: 3 |
|---|---|
| Bad regular expression | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| '({' is a malformed regular expression | Success |
| Good regular expression | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| '(\{)' is a valid regular expression | Success |
| Malformed \u | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| '\u{%}' is not a valid regular expression | Success |
| rgx:string-base() | passed: 3 / pending: 0 / failed: 0 / total: 3 |
|---|---|
| Greek replacement | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| ἀνθρὠπους - > ανθρωπους | Success |
| CJK Compatibility replacement | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| ㍴ - > bar | Success |
| Composites of b | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| composite b's, mostly to b (but not ㍴, ㏔, and ㏝, which are complex and don't have singleton replacements) | Success |
| rgx:string-to-components() | passed: 2 / pending: 0 / failed: 0 / total: 2 |
|---|---|
| simple string to components | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| CJK characters ㍴㏔㏝ > bar, mb, Wb | Success |
| Greek string to components | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| ἄνθρωπός > '#x3b1 x313 x301', 'ν', 'θ', 'ρ', 'ω', 'π', 'x3bf x301', 'ς' | Success |
| rgx:string-to-composites() | passed: 2 / pending: 0 / failed: 0 / total: 2 |
|---|---|
| single character to composites | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| 'b' > 'bᵇḃḅḇ⒝ⓑ㍴㏔㏝b𝐛𝑏𝒃𝒷𝓫𝔟𝕓𝖇𝖻𝗯𝘣𝙗𝚋' | Success |
| string to composites | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| 'b ἄ🙋' > sequence of four strings: composites of b and U+0020 SPACE, and singletons ἄ and U+1F64B HAPPY PERSON RAISING ONE HAND | Success |
| rgx:codepoints-to-string() | passed: 2 / pending: 0 / failed: 0 / total: 2 |
|---|---|
| first 33 codepoints in XML 1.0 | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| Only tab (9), end of line (10 = xA), carriage return (13 = xD), and space (32 = x20) | Success |
| first 33 codepoints in XML 1.1 | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| Everything but null (x0) | Success |
| rgx:process-regex-escape-u() | passed: 6 / pending: 0 / failed: 0 / total: 6 |
|---|---|
| Hex values | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| 4d-4f, 51 > entities, no spaces or commas | Success |
| Expansion to composites | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| +b > composite b characters | Success |
| Reduction to base forms | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| '-ḉ' > 'c' | Success |
| Chained name keywords: Greek | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| '.greek.capital.perispomeni' > 'ἎἏἮἯἾἿὟὮὯᾎᾏᾞᾟᾮᾯ' | Success |
| Chained name keywords: Latin | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| '.latin.cedilla' > 'ÇçĢģĶķĻļŅņŖŗŞşŢţȨȩᷗḈḉḐḑḜḝḨḩ' | Success |
| Chained name keywords: Ms that are not small, capital, or Latin | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| '.m!small!capital!latin' > 'ൔᒻᒼᒾᒿᛗᛘᛙᣘᧄᮿᰮㄇ㎛㎡㎥㎧㎨㏁㏞㏟ꚳꩌ𐊎𐊪𐤪𑪐𑫟𖥑𖨑𛰏𛰙𛰝𛰞𛰟𛰡𛰧𛰫𛰬𛰭𛰼𛱪🇲' | Success |
| rgx:get-chars-by-name() | passed: 2 / pending: 0 / failed: 0 / total: 2 |
|---|---|
| Simple query | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| SUPERSCRIPT ThReE: 1 element (input case doesn't matter) | Success |
| . and ! filters | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| .suspension.mark!combining: 1 element | Success |
| rgx:replace-by-char-name() | passed: 3 / pending: 0 / failed: 0 / total: 3 |
|---|---|
| Latin accents | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| Acute accents to circumflexes: 'áéíóú' > 'âêîôû' | Success |
| Greek accents | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| Greek rough breathings (DASIA) to smooth (PSILI): 'ἃ Ἃ Ὅ ὥ ᾝ ᾓ ᾃ' > 'ἂ Ἂ Ὄ ὤ ᾜ ᾒ ᾂ' | Success |
| Greek accents | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| ἀδελφὲ ἀπὸ τοῦ πονηροῦ. > | Success |
| numbers: converting base systems | passed: 5 / pending: 0 / failed: 0 / total: 5 |
|---|---|
| rgx:dec-to-hex() | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| 32 > 20 | Success |
| rgx:hex-to-dec() | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| hex 1FAB > 8107 | Success |
| rgx:dec-to-n() | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| 8 > base 2 = 100 | Success |
| rgx:dec-to-n() | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| 2117 > base 13 = 126B | Success |
| rgx:n-to-dec() | passed: 1 / pending: 0 / failed: 0 / total: 1 |
| 'abc23' hex = 703523 decimal' | Success |