Module:ja-ruby/testcases

Some other pages that are error-prone: 菩薩, 電脳, 麦嶺, ボース゠アインシュタイン統計.

1 of 14 tests failed. (refresh)

TextExpectedActual
test_ruby:
Passed
  • 推%理%小%説
  • すい%り% しょう%せつ
  • <ruby>推<rp>(</rp><rt>すい</rt><rp>)</rp></ruby><ruby>理<rp>(</rp><rt>り</rt><rp>)</rp></ruby><ruby>小<rp>(</rp><rt>しょう</rt><rp>)</rp></ruby><ruby>説<rp>(</rp><rt>せつ</rt><rp>)</rp></ruby><ruby>推<rp>(</rp><rt>すい</rt><rp>)</rp></ruby><ruby>理<rp>(</rp><rt>り</rt><rp>)</rp></ruby><ruby>小<rp>(</rp><rt>しょう</rt><rp>)</rp></ruby><ruby>説<rp>(</rp><rt>せつ</rt><rp>)</rp></ruby>
    Passed
  • [[w:Edgar Allan Poe|アラン・ポー]]の[[推理 小説]]
  • あらん ぽー の すいり しょうせつ
  • [[w:Edgar Allan Poe|アラン・ポー]]の[[推理小説|<ruby>推理<rp>(</rp><rt>すいり</rt><rp>)</rp></ruby><ruby>小説<rp>(</rp><rt>しょうせつ</rt><rp>)</rp></ruby>]][[w:Edgar Allan Poe|アラン・ポー]]の[[推理小説|<ruby>推理<rp>(</rp><rt>すいり</rt><rp>)</rp></ruby><ruby>小説<rp>(</rp><rt>しょうせつ</rt><rp>)</rp></ruby>]]
    Passed
  • [[w:Edgar Allan Poe|アラン・ポー]]の[[推理 小説]]
  • あらん ぽー の すいり しょうせつ
  • {["space"]="all",}
  • [[w:Edgar Allan Poe|アラン・ポー]]の[[推理 小説|<ruby>推理<rp>(</rp><rt>すいり</rt><rp>)</rp></ruby> <ruby>小説<rp>(</rp><rt>しょうせつ</rt><rp>)</rp></ruby>]][[w:Edgar Allan Poe|アラン・ポー]]の[[推理 小説|<ruby>推理<rp>(</rp><rt>すいり</rt><rp>)</rp></ruby> <ruby>小説<rp>(</rp><rt>しょうせつ</rt><rp>)</rp></ruby>]]
    Passed
  • (This is a pen.)
  • (ディス イズ ア ペン.)
  • (<ruby>This<rp>(</rp><rt>ディス</rt><rp>)</rp></ruby> <ruby>is<rp>(</rp><rt>イズ</rt><rp>)</rp></ruby> <ruby>a<rp>(</rp><rt>ア</rt><rp>)</rp></ruby> <ruby>pen<rp>(</rp><rt>ペン</rt><rp>)</rp></ruby>.)(<ruby>This<rp>(</rp><rt>ディス</rt><rp>)</rp></ruby> <ruby>is<rp>(</rp><rt>イズ</rt><rp>)</rp></ruby> <ruby>a<rp>(</rp><rt>ア</rt><rp>)</rp></ruby> <ruby>pen<rp>(</rp><rt>ペン</rt><rp>)</rp></ruby>.)
    Passed
  • [This is a pen.]
  • [ディス イズ ア ペン.]
  • {["space"]="none",}
  • [<ruby>This<rp>(</rp><rt>ディス</rt><rp>)</rp></ruby><ruby>is<rp>(</rp><rt>イズ</rt><rp>)</rp></ruby><ruby>a<rp>(</rp><rt>ア</rt><rp>)</rp></ruby><ruby>pen<rp>(</rp><rt>ペン</rt><rp>)</rp></ruby>.][<ruby>This<rp>(</rp><rt>ディス</rt><rp>)</rp></ruby><ruby>is<rp>(</rp><rt>イズ</rt><rp>)</rp></ruby><ruby>a<rp>(</rp><rt>ア</rt><rp>)</rp></ruby><ruby>pen<rp>(</rp><rt>ペン</rt><rp>)</rp></ruby>.]
    Passed
  • (This is %a% pen.)
  • (ディス イズ %[[ア]]% ペン.)
  • {["allow_ruby_link"]=true,}
  • (<ruby>This<rp>(</rp><rt>ディス</rt><rp>)</rp></ruby> <ruby>is<rp>(</rp><rt>イズ</rt><rp>)</rp></ruby> <ruby>a<rp>(</rp><rt>[[ア|ア]]</rt><rp>)</rp></ruby> <ruby>pen<rp>(</rp><rt>ペン</rt><rp>)</rp></ruby>.)(<ruby>This<rp>(</rp><rt>ディス</rt><rp>)</rp></ruby> <ruby>is<rp>(</rp><rt>イズ</rt><rp>)</rp></ruby> <ruby>a<rp>(</rp><rt>[[ア|ア]]</rt><rp>)</rp></ruby> <ruby>pen<rp>(</rp><rt>ペン</rt><rp>)</rp></ruby>.)
    Passed
  • 自業自得
  • You [[deserve]] it
  • {["allow_ruby_link"]=true,}
  • <ruby>自業自得<rp>(</rp><rt>You [[deserve|deserve]] it</rt><rp>)</rp></ruby><ruby>自業自得<rp>(</rp><rt>You [[deserve|deserve]] it</rt><rp>)</rp></ruby>
    Failed
  • [[pun|駄洒]]落&駄[[pun|洒落]]
  • だじゃれ&だじゃれ
  • <ruby>[[pun|駄洒]]落<rp>(</rp><rt>だじゃれ</rt><rp>)</rp></ruby>&<ruby>駄[[pun|洒落]]<rp>(</rp><rt>だじゃれ</rt><rp>)</rp></ruby><ruby>[[pun|駄洒]]落&駄[[pun|洒落]]<rp>(</rp><rt>だじゃれ&だじゃれ</rt><rp>)</rp></ruby>
    Passed
  • 用ゐる
  • もちいる
  • {["try"]="force",}
  • <ruby>用ゐ<rp>(</rp><rt>もちい</rt><rp>)</rp></ruby>る<ruby>用ゐ<rp>(</rp><rt>もちい</rt><rp>)</rp></ruby>る
    Passed
  • スイーツ(笑)
  • スイーツ かっこ わらい
  • {["try"]="force",}
  • スイーツ<ruby>(笑)<rp>(</rp><rt>かっこわらい</rt><rp>)</rp></ruby>スイーツ<ruby>(笑)<rp>(</rp><rt>かっこわらい</rt><rp>)</rp></ruby>
    Passed
  • 阿 呆
  • 阿 b呆
  • {["try"]="force",}
  • 阿<ruby><rp>(</rp><rt>b</rt><rp>)</rp></ruby>呆阿<ruby><rp>(</rp><rt>b</rt><rp>)</rp></ruby>呆
    Passed
  • [[speech|喋る]][[marionette|人%形]]
  • しゃべる にん%ぎょう
  • {["break_link"]=true,}
  • <ruby>[[speech|喋]]<rp>(</rp><rt>しゃべ</rt><rp>)</rp></ruby>[[speech|る]]<ruby>[[marionette|人]]<rp>(</rp><rt>にん</rt><rp>)</rp></ruby><ruby>[[marionette|形]]<rp>(</rp><rt>ぎょう</rt><rp>)</rp></ruby><ruby>[[speech|喋]]<rp>(</rp><rt>しゃべ</rt><rp>)</rp></ruby>[[speech|る]]<ruby>[[marionette|人]]<rp>(</rp><rt>にん</rt><rp>)</rp></ruby><ruby>[[marionette|形]]<rp>(</rp><rt>ぎょう</rt><rp>)</rp></ruby>
    Passed
  • apple[b[[alpha|a]]]([[beta|β]]α)nana, apple[[banana|[ba](βα)nana]], apple[[[banana|ba]]]([[beta|β]]α)[[banana|nana]]
  • apple<ruby>b[[alpha|a]]<rp>(</rp><rt>[[beta|β]]α</rt><rp>)</rp></ruby>nana, apple[[banana|<ruby>ba<rp>(</rp><rt>βα</rt><rp>)</rp></ruby>nana]], apple<ruby>[[banana|ba]]<rp>(</rp><rt>[[beta|β]]α</rt><rp>)</rp></ruby>[[banana|nana]]apple<ruby>b[[alpha|a]]<rp>(</rp><rt>[[beta|β]]α</rt><rp>)</rp></ruby>nana, apple[[banana|<ruby>ba<rp>(</rp><rt>βα</rt><rp>)</rp></ruby>nana]], apple<ruby>[[banana|ba]]<rp>(</rp><rt>[[beta|β]]α</rt><rp>)</rp></ruby>[[banana|nana]]
    Passed
  • {["target"]="markup",["markup"]="Apple[[[banana](Citrus)]]",["options"]={["break_link"]=true,},}
  • Apple[[[banana|banana]]](Citrus)Apple[[[banana|banana]]](Citrus)

    local m = require'Module:ja-ruby'
    local t = require'Module:UnitTests'
    
    function t:test_ruby()
    	local function nw(s) return self.frame:extensionTag('nowiki', s) end
    	local function o2s(o)
    		if o == nil then return '' end
    		local function table_to_string(t1)
    			local result = {'{'}
    			for k, v in pairs(t1) do
    				table.insert(result, '["')
    				table.insert(result, k)
    				table.insert(result, '"]=')
    				if type(v) == 'string' then
    					table.insert(result, '"')
    					table.insert(result, nw(v))
    					table.insert(result, '"')
    				elseif type(v) == 'table' then
    					table.insert(result, table_to_string(v))
    				else
    					table.insert(result, tostring(v))	
    				end
    				table.insert(result, ',')
    			end
    			table.insert(result, '}')
    			return table.concat(result)
    		end
    		return '<li>' .. table_to_string(o) .. '</li>'
    	end
    	local function _f(s1, s2, sr, o)
    		return t:equals('<li>' .. nw(s1) .. '</li><li>' .. nw(s2) .. '</li>' .. o2s(o), m.to_wiki(m.parse_text(s1, s2, o), o), sr, {nowiki = true})
    	end
    	local function _ff(s1, sr, o)
    		return t:equals('<li>' .. nw(s1) .. '</li>' .. o2s(o), m.to_wiki(m.parse_markup(s1, o), o), sr, {nowiki = true})
    	end
    	local function _f3(args, sr)
    		return t:equals(o2s(args), m.ruby_auto(args), sr, {nowiki = true})
    	end
    	_f(
    		'推%理%小%説',
    		'すい%り% しょう%せつ',
    		'<ruby>推<rp>(</rp><rt>すい</rt><rp>)</rp></ruby><ruby>理<rp>(</rp><rt>り</rt><rp>)</rp></ruby><ruby>小<rp>(</rp><rt>しょう</rt><rp>)</rp></ruby><ruby>説<rp>(</rp><rt>せつ</rt><rp>)</rp></ruby>')
    	_f(
    		'[[w:Edgar Allan Poe|アラン・ポー]]の[[推理 小説]]',
    		'あらん ぽー の すいり しょうせつ',
    		'[[w:Edgar Allan Poe|アラン・ポー]]の[[推理小説|<ruby>推理<rp>(</rp><rt>すいり</rt><rp>)</rp></ruby><ruby>小説<rp>(</rp><rt>しょうせつ</rt><rp>)</rp></ruby>]]')
    	_f(
    		'[[w:Edgar Allan Poe|アラン・ポー]]の[[推理 小説]]',
    		'あらん ぽー の すいり しょうせつ',
    		'[[w:Edgar Allan Poe|アラン・ポー]]の[[推理 小説|<ruby>推理<rp>(</rp><rt>すいり</rt><rp>)</rp></ruby> <ruby>小説<rp>(</rp><rt>しょうせつ</rt><rp>)</rp></ruby>]]',
    		{space = 'all'})
    	_f(
    		'(This is a pen.)',
    		'(ディス イズ ア ペン.)',
    		'(<ruby>This<rp>(</rp><rt>ディス</rt><rp>)</rp></ruby> <ruby>is<rp>(</rp><rt>イズ</rt><rp>)</rp></ruby> <ruby>a<rp>(</rp><rt>ア</rt><rp>)</rp></ruby> <ruby>pen<rp>(</rp><rt>ペン</rt><rp>)</rp></ruby>.)')
    	_f(
    		'[This is a pen.]',
    		'[ディス イズ ア ペン.]',
    		'[<ruby>This<rp>(</rp><rt>ディス</rt><rp>)</rp></ruby><ruby>is<rp>(</rp><rt>イズ</rt><rp>)</rp></ruby><ruby>a<rp>(</rp><rt>ア</rt><rp>)</rp></ruby><ruby>pen<rp>(</rp><rt>ペン</rt><rp>)</rp></ruby>.]',
    		{space = 'none'})
    	_f(
    		'(This is %a% pen.)',
    		'(ディス イズ %[[ア]]% ペン.)',
    		'(<ruby>This<rp>(</rp><rt>ディス</rt><rp>)</rp></ruby> <ruby>is<rp>(</rp><rt>イズ</rt><rp>)</rp></ruby> <ruby>a<rp>(</rp><rt>[[ア|ア]]</rt><rp>)</rp></ruby> <ruby>pen<rp>(</rp><rt>ペン</rt><rp>)</rp></ruby>.)',
    		{allow_ruby_link = true})
    	_f(
    		'自業自得',
    		'You [[deserve]] it',
    		'<ruby>自業自得<rp>(</rp><rt>You [[deserve|deserve]] it</rt><rp>)</rp></ruby>',
    		{allow_ruby_link = true})
    	_f(
    		'[[pun|駄洒]]落&駄[[pun|洒落]]',
    		'だじゃれ&だじゃれ',
    		'<ruby>[[pun|駄洒]]落<rp>(</rp><rt>だじゃれ</rt><rp>)</rp></ruby>&<ruby>駄[[pun|洒落]]<rp>(</rp><rt>だじゃれ</rt><rp>)</rp></ruby>')
    	_f(
    		'用ゐる',
    		'もちいる',
    		'<ruby>用ゐ<rp>(</rp><rt>もちい</rt><rp>)</rp></ruby>る',
    		{try = 'force'})
    	_f(
    		'スイーツ(笑)',
    		'スイーツ かっこ わらい',
    		'スイーツ<ruby>(笑)<rp>(</rp><rt>かっこわらい</rt><rp>)</rp></ruby>',
    		{try = 'force'})
    	_f(
    		'阿  呆',
    		'阿 b呆',
    		'阿<ruby><rp>(</rp><rt>b</rt><rp>)</rp></ruby>呆',
    		{try = 'force'})
    	_f(
    		'[[speech|喋る]][[marionette|人%形]]',
    		'しゃべる にん%ぎょう',
    		'<ruby>[[speech|喋]]<rp>(</rp><rt>しゃべ</rt><rp>)</rp></ruby>[[speech|る]]<ruby>[[marionette|人]]<rp>(</rp><rt>にん</rt><rp>)</rp></ruby><ruby>[[marionette|形]]<rp>(</rp><rt>ぎょう</rt><rp>)</rp></ruby>',
    		{break_link = true})
    	_ff(table.concat({
    		'apple[b[[alpha|a]]]([[beta|β]]α)nana',
    		'apple[[banana|[ba](βα)nana]]',
    		'apple[[[banana|ba]]]([[beta|β]]α)[[banana|nana]]',
    	}, ', '), table.concat({
    		'apple<ruby>b[[alpha|a]]<rp>(</rp><rt>[[beta|β]]α</rt><rp>)</rp></ruby>nana',
    		'apple[[banana|<ruby>ba<rp>(</rp><rt>βα</rt><rp>)</rp></ruby>nana]]',
    		'apple<ruby>[[banana|ba]]<rp>(</rp><rt>[[beta|β]]α</rt><rp>)</rp></ruby>[[banana|nana]]',
    	}, ', '))
    	_f3({
    		markup = 'Apple[[[banana](Citrus)]]',
    		target = 'markup',
    		options = {break_link = true}
    	}, 'Apple[[[banana|banana]]](Citrus)')
    end
    
    return {show = function(frame) return t:run(frame) end}