Test Report

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

Contents

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 systemspassed: 5 / pending: 0 / failed: 0 / total: 5

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