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: 6 May 2020 at 20:17
passed: 48 | pending: 1 | 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() | 1 | 1 | 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: 1 / pending: 1 / 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 |
(XML 1.1 characters make Calabash XProc engine crash 🙁) first 33 codepoints in XML 1.1 | passed: 0 / pending: 1 / failed: 0 / total: 1 |
(XML 1.1 characters make Calabash XProc engine crash 🙁) Everything but null (x0) | Pending |
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 |