ikiwiki/t/linkpage.t

25 lines
929 B
Perl
Executable File

#!/usr/bin/perl
use warnings;
use strict;
use Test::More;
use utf8;
BEGIN { use_ok("IkiWiki"); }
is(linkpage("foo bar"), "foo_bar");
is(linkpage("foo bar baz"), "foo_bar_baz");
is(linkpage("foo bar/baz"), "foo_bar/baz");
is(linkpage("foo bar&baz"), "foo_bar__38__baz");
is(linkpage("foo bar & baz"), "foo_bar___38___baz");
is(linkpage("foo bar_baz"), "foo_bar_baz");
is(chr(95), '_');
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;