@@ -4900,8 +4900,10 @@ function test_wiki() {
49004900 assert(["''v''", CeL.wiki.next_meaningful_element(parsed, 2).toString()], 'CeL.wiki.next_meaningful_element() #1-3');
49014901
49024902 assert(['{{t|v1|v2|p1=vp1|p2=vp2}}', CeL.wiki.parse.template_object_to_wikitext('t', { 1: 'v1', 2: 'v2', p1: 'vp1', p2: 'vp2' })], 'template_object_to_wikitext: #1');
4903- assert(['{{t|v1|v2|4= v4|p1=vp1}}', CeL.wiki.parse.template_object_to_wikitext('t', { 1 : 'v1 ', 2: 'v2', 4 : 'v4 ', p1: 'vp1' })], 'template_object_to_wikitext: #2');
4903+ assert(['{{t|v1|v2|| v4|p1=vp1}}', CeL.wiki.parse.template_object_to_wikitext('t', { 4 : 'v4 ', 2: 'v2', 1 : 'v1 ', p1: 'vp1' })], 'template_object_to_wikitext: #2');
49044904 assert(['{{t|v1|v2|p1=vp1}}', CeL.wiki.parse.template_object_to_wikitext('t', { 1: 'v1', 2: 'v2', p1: 'vp1', q2: 'vq2' }, function (text_array) { return text_array.filter(function (text, index) { return !/^q/.test(text); }); })], 'template_object_to_wikitext: #3');
4905+ assert(['{{t|v1|v2||v4}}', CeL.wiki.parse.template_object_to_wikitext('t', [, 'v1', 'v2', , 'v4'])], 'template_object_to_wikitext: #4');
4906+ assert(['{{t|v1||v3|v4}}', CeL.wiki.parse.template_object_to_wikitext(['t', 'v1', , 'v3', 'v4'])], 'template_object_to_wikitext: #5');
49054907
49064908 // [[Special:ExpandTemplates]]
49074909 assert(['A_B', CeL.wiki.evaluate_parser_function_token.call(CeL.wiki.parse('{{anchorencode:A_B}}')).toString()], 'wiki.evaluate_parser_function_token.call: {{ANCHORENCODE:}} #1');
@@ -5985,11 +5987,35 @@ function test_wiki() {
59855987
59865988 var wikitext = '[[ja:東京]]';
59875989 var parsed = CeL.wiki.parse(wikitext, CeL.wiki.add_session_to_options(zhwiki));
5988- assert([false, parsed.is_link], 'zhwiki: .is_link #1-1');
5990+ assert([false, !! parsed.is_link], 'zhwiki: .is_link #1-1');
59895991
59905992 wikitext = '[[:ja:東京]]';
59915993 parsed = CeL.wiki.parse(wikitext, CeL.wiki.add_session_to_options(zhwiki));
5992- assert([true, parsed.is_link], 'zhwiki: .is_link #2-1');
5994+ assert([true, !!parsed.is_link], 'zhwiki: .is_link #1-2');
5995+
5996+ wikitext = '[[ja:]]';
5997+ parsed = CeL.wiki.parse(wikitext, CeL.wiki.add_session_to_options(zhwiki));
5998+ assert([false, !!parsed.is_link], 'zhwiki: .is_link #1-3');
5999+
6000+ wikitext = '[[:ja:]]';
6001+ parsed = CeL.wiki.parse(wikitext, CeL.wiki.add_session_to_options(zhwiki));
6002+ assert([true, !!parsed.is_link], 'zhwiki: .is_link #1-4');
6003+
6004+ wikitext = '[[ : en :]]';
6005+ parsed = CeL.wiki.parse(wikitext, CeL.wiki.add_session_to_options(zhwiki));
6006+ assert([true, !!parsed.is_link], 'zhwiki: .is_link #1-5');
6007+
6008+ wikitext = '[[ <!----> : en :]]';
6009+ parsed = CeL.wiki.parse(wikitext, CeL.wiki.add_session_to_options(zhwiki));
6010+ assert([true, !!parsed.is_link], 'zhwiki: .is_link #1-6');
6011+
6012+ wikitext = '[[ <!----> en :]]';
6013+ parsed = CeL.wiki.parse(wikitext, CeL.wiki.add_session_to_options(zhwiki));
6014+ assert([false, !!parsed.is_link], 'zhwiki: .is_link #1-7');
6015+
6016+ wikitext = '[[w:ja:東京]]';
6017+ parsed = CeL.wiki.parse(wikitext, CeL.wiki.add_session_to_options(zhwiki));
6018+ assert([true, !!parsed.is_link], 'zhwiki: .is_link #2-1');
59936019
59946020 wikitext = '[[commons:東京]]';
59956021 parsed = CeL.wiki.parse(wikitext, CeL.wiki.add_session_to_options(zhwiki));
0 commit comments