From 67c7542672e92642339a114692882cec494e9886 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Sun, 3 Feb 2019 13:07:01 +0000 Subject: [PATCH] t: Exercise Chinese and Cyrillic page titles Signed-off-by: Simon McVittie --- t/linkpage.t | 3 +++ t/pagetitle.t | 6 ++++++ t/titlepage.t | 3 +++ 3 files changed, 12 insertions(+) diff --git a/t/linkpage.t b/t/linkpage.t index f1ee235ef..20525fd5b 100755 --- a/t/linkpage.t +++ b/t/linkpage.t @@ -2,6 +2,7 @@ use warnings; use strict; use Test::More; +use utf8; BEGIN { use_ok("IkiWiki"); } @@ -16,6 +17,8 @@ is(linkpage("foo bar__95__baz"), "foo_bar__95__baz", 'underscore'); is(linkpage("foo bar\xACbaz"), "foo_bar__172__baz", 'U+00AC is in Latin-1 range'); is(linkpage("foo bar\x{04D2}baz"), "foo_bar\x{04D2}baz", 'U+04D2 is alphanumeric'); is(linkpage("foo bar\x{2260}baz"), "foo_bar__8800__baz", 'U+2260 is nonalphanumeric'); +is(linkpage("中文"), "中文", 'Chinese'); +is(linkpage("Кириллица"), "Кириллица", 'Cyrillic'); is(linkpage("foo bar\x{0001F4A9}baz"), "foo_bar__128169__baz", 'U+1F4A9 is outside BMP'); done_testing; diff --git a/t/pagetitle.t b/t/pagetitle.t index d00d9d297..c6d626ada 100755 --- a/t/pagetitle.t +++ b/t/pagetitle.t @@ -15,6 +15,8 @@ is(pagetitle("foo_bar__1234__baz"), "foo barӒbaz", 'Unicode in BMP'); is(pagetitle("foo_bar__8800__baz"), "foo bar≠baz", 'Unicode in BMP'); is(pagetitle("foo_bar___33___baz"), "foo bar ! baz", 'Exclamation mark'); is(pagetitle("foo_bar___95___baz"), "foo bar _ baz", 'Underscore'); +is(pagetitle("中文"), "中文", 'Chinese'); +is(pagetitle("Кириллица"), "Кириллица", 'Cyrillic'); # Outside basic multilingual plane: 💩 is U+1F4A9 PILE OF POO is(pagetitle("foo_bar__128169__baz"), "foo bar💩baz", 'Unicode outside BMP'); @@ -24,6 +26,8 @@ is(pagetitle("foo_bar__1234__baz", undef), "foo barӒbaz", 'Unicode in BMP' is(pagetitle("foo_bar__8800__baz", undef), "foo bar≠baz", 'Unicode in BMP'); is(pagetitle("foo_bar___33___baz", ""), "foo bar ! baz", 'Exclamation mark'); is(pagetitle("foo_bar___95___baz", 0), "foo bar _ baz", 'Underscore'); +is(pagetitle("中文", 0), "中文", 'Chinese'); +is(pagetitle("Кириллица", 0), "Кириллица", 'Cyrillic'); is(pagetitle("foo_bar__128169__baz", 0), "foo bar💩baz", 'Unicode outside BMP'); # pagetitle(x, true) => unescaped form of page title @@ -36,6 +40,8 @@ is(chr(8800), "\x{2260}"); is(pagetitle("foo_bar__8800__baz", 1), "foo bar\x{2260}baz", 'Unicode in BMP'); is(pagetitle("foo_bar___33___baz", 1), "foo bar ! baz"); is(pagetitle("foo_bar___95___baz", 1), "foo bar _ baz"); +is(pagetitle("中文", 1), "中文", 'Chinese'); +is(pagetitle("Кириллица", 1), "Кириллица", 'Cyrillic'); is(chr(128169), "\x{0001F4A9}"); is(pagetitle("foo_bar__128169__baz", 1), "foo bar\x{0001F4A9}baz", 'Unicode outside BMP'); diff --git a/t/titlepage.t b/t/titlepage.t index d6bb1b121..a09432fd7 100755 --- a/t/titlepage.t +++ b/t/titlepage.t @@ -2,6 +2,7 @@ use warnings; use strict; use Test::More; +use utf8; BEGIN { use_ok("IkiWiki"); } @@ -14,6 +15,8 @@ is(titlepage("foo bar_baz"), "foo_bar__95__baz"); is(titlepage("foo bar\xACbaz"), "foo_bar__172__baz", 'U+00AC is in Latin-1 range'); is(titlepage("foo bar\x{04D2}baz"), "foo_bar\x{04D2}baz", 'U+04D2 is alphanumeric'); is(titlepage("foo bar\x{2260}baz"), "foo_bar__8800__baz", 'U+2260 is nonalphanumeric'); +is(titlepage("中文"), "中文", 'Chinese'); +is(titlepage("Кириллица"), "Кириллица", 'Cyrillic'); is(titlepage("foo bar\x{0001F4A9}baz"), "foo_bar__128169__baz", 'U+1F4A9 is outside BMP'); done_testing;