Модуль:Transclude/tests

Материал из wikixw
Перейти к навигации Перейти к поиску

Модуль тестов для Модуль:Transclude/песочница. См. также Шаблон:Test transclude.


-- Unit tests for [[Module:Transclude]]. Click talk page to run tests.
local p = require('Module:UnitTests')

function p:test_call()
    self:preprocess_equals(
    	'{{Test transclude/call|26|03|1941}}',
    	mw.getCurrentFrame():preprocess('{{нет АИ|26|03|1941}}<br>дополнение')
    )
    self:preprocess_equals(
    	'{{Test transclude/call|26|03|1941|обс=привет}}',
    	mw.getCurrentFrame():preprocess('{{нет АИ|26|03|1941|обс=привет}}<br>дополнение')
    )
    self:preprocess_equals(
    	'{{Test transclude/call|1=26|2=03|3=1941|обс=привет}}',
    	mw.getCurrentFrame():preprocess('{{нет АИ|1=26|2=03|3=1941|обс=привет}}<br>дополнение')
    )
    self:preprocess_equals(
    	'{{Test transclude/call|2=03|1=26|3=1941|обс=привет}}',
    	mw.getCurrentFrame():preprocess('{{нет АИ|2=03|1=26|3=1941|обс=привет}}<br>дополнение')
    )
    self:preprocess_equals(
    	'{{Test transclude/call|обс=привет|2=03|1=26|3=1941}}',
    	mw.getCurrentFrame():preprocess('{{нет АИ|обс=привет|2=03|1=26|3=1941}}<br>дополнение')
    )
end

function p:test_forall_no_sep()
    self:preprocess_equals(
    	'{{Test transclude/forall no sep}}',
    	mw.getCurrentFrame():preprocess('')
    )
    self:preprocess_equals(
    	'{{Test transclude/forall no sep|H201|H202|H235+H410}}',
    	mw.getCurrentFrame():preprocess('{{H-фраза|H201}}{{H-фраза|H202}}{{H-фраза|H235+H410}}')
    )
    self:preprocess_equals(
    	'{{Test transclude/forall no sep|1=H201|2=H202|3=H235+H410}}',
    	mw.getCurrentFrame():preprocess('{{H-фраза|H201}}{{H-фраза|H202}}{{H-фраза|H235+H410}}')
    )
    self:preprocess_equals(
    	'{{Test transclude/forall no sep|2=H202|1=H201|3=H235+H410}}',
    	mw.getCurrentFrame():preprocess('{{H-фраза|H201}}{{H-фраза|H202}}{{H-фраза|H235+H410}}')
    )
    self:preprocess_equals(
    	'{{Test transclude/forall no sep|1=H201|2=H202|4=H235+H410}}',
    	mw.getCurrentFrame():preprocess('{{H-фраза|H201}}{{H-фраза|H202}}{{H-фраза|H235+H410}}')
    )
    self:preprocess_equals(
    	'{{Test transclude/forall no sep|2=H201|3=H202|4=H235+H410}}',
    	mw.getCurrentFrame():preprocess('{{H-фраза|H201}}{{H-фраза|H202}}{{H-фраза|H235+H410}}')
    )
    self:preprocess_equals(
    	'{{Test transclude/forall no sep|H201|H202|H235+H410|пар=знач}}',
    	mw.getCurrentFrame():preprocess('{{H-фраза|H201}}{{H-фраза|H202}}{{H-фраза|H235+H410}}')
    )
    self:preprocess_equals(
    	'{{Test transclude/forall no sep|1=H201|2=H202|3=H235+H410|пар=знач}}',
    	mw.getCurrentFrame():preprocess('{{H-фраза|H201}}{{H-фраза|H202}}{{H-фраза|H235+H410}}')
    )
end

function p:test_forall_sep_only()
    self:preprocess_equals(
    	'{{Test transclude/forall sep only|H201|H202|H235+H410}}',
    	mw.getCurrentFrame():preprocess('{{H-фраза|H201}}; {{H-фраза|H202}}; {{H-фраза|H235+H410}}')
    )
end

function p:test_forall_sep_and_conj()
    self:preprocess_equals(
    	'{{Test transclude/forall sep and conj|H201|H202|H235+H410}}',
    	mw.getCurrentFrame():preprocess('{{H-фраза|H201}}; {{H-фраза|H202}} или {{H-фраза|H235+H410}}')
    )
end

function p:test_join_no_sep()
    self:preprocess_equals(
    	'{{Test transclude/join no sep|H201|H202|H235+H410}}',
    	mw.getCurrentFrame():preprocess('H201H202H235+H410')
    )
    self:preprocess_equals(
    	'{{Test transclude/join no sep|H201||H235+H410}}',
    	mw.getCurrentFrame():preprocess('H201H235+H410')
    )
end

function p:test_join_sep_only()
    self:preprocess_equals(
    	'{{Test transclude/join sep only|H201|H202|H235+H410}}',
    	mw.getCurrentFrame():preprocess('H201; H202; H235+H410')
    )
    self:preprocess_equals(
    	'{{Test transclude/join sep only|H201||H235+H410}}',
    	mw.getCurrentFrame():preprocess('H201; H235+H410')
    )
end

function p:test_join_sep_and_conj()
    self:preprocess_equals(
    	'{{Test transclude/join sep and conj|H201|H202|H235+H410}}',
    	mw.getCurrentFrame():preprocess('H201; H202 или H235+H410')
    )
    self:preprocess_equals(
    	'{{Test transclude/join sep and conj|H201||H235+H410}}',
    	mw.getCurrentFrame():preprocess('H201 или H235+H410')
    )
end

function p:test_npc_infobox_below()
    self:preprocess_equals(
    	'<table class="wikitable">{{Test transclude/npc infobox below}}</table>',
    	mw.getCurrentFrame():preprocess('<table class="wikitable"></table>')
    )
    self:preprocess_equals(
    	'<table class="wikitable">{{Test transclude/npc infobox below|внизу1=низ1|внизу2=низ2|внизу3=низ3}}</table>',
    	mw.getCurrentFrame():preprocess('<table class="wikitable">{{карточка/внизу|внизу=низ1}}{{карточка/внизу|внизу=низ2}}{{карточка/внизу|внизу=низ3}}</table>')
    )
    self:preprocess_equals(
    	'<table class="wikitable">{{Test transclude/npc infobox below|внизу1=низ1|класс_внизу1=классвнизу1}}</table>',
    	mw.getCurrentFrame():preprocess('<table class="wikitable">{{карточка/внизу|внизу=низ1}}</table>')
    )
    self:preprocess_equals(
    	'<table class="wikitable">{{Test transclude/npc infobox below|внизу2=низ2|внизу1=низ1|внизу3=низ3}}</table>',
    	mw.getCurrentFrame():preprocess('<table class="wikitable">{{карточка/внизу|внизу=низ1}}{{карточка/внизу|внизу=низ2}}{{карточка/внизу|внизу=низ3}}</table>')
    )
    self:preprocess_equals(
    	'<table class="wikitable">{{Test transclude/npc infobox below|внизу1=низ1|внизу2=низ2|внизу4=низ4}}</table>',
    	mw.getCurrentFrame():preprocess('<table class="wikitable">{{карточка/внизу|внизу=низ1}}{{карточка/внизу|внизу=низ2}}{{карточка/внизу|внизу=низ4}}</table>')
    )
    self:preprocess_equals(
    	'<table class="wikitable">{{Test transclude/npc infobox below|внизу2=низ2|внизу3=низ3|внизу5=низ5}}</table>',
    	mw.getCurrentFrame():preprocess('<table class="wikitable">{{карточка/внизу|внизу=низ2}}{{карточка/внизу|внизу=низ3}}{{карточка/внизу|внизу=низ5}}</table>')
    )
    self:preprocess_equals(
    	'<table class="wikitable">{{Test transclude/npc infobox below|стиль_внизу2=стильниза2|внизу2=низ2|внизу3=низ3|стиль_внизу3=стильниза3|внизу5=низ5}}</table>',
    	mw.getCurrentFrame():preprocess('<table class="wikitable">{{карточка/внизу|внизу=низ2|стиль_внизу=стильниза2}}{{карточка/внизу|внизу=низ3|стиль_внизу=стильниза3}}{{карточка/внизу|внизу=низ5}}</table>')
    )
    self:preprocess_equals(
    	'<table class="wikitable">{{Test transclude/npc infobox below|стиль_внизу2=стильниза2|внизу2=низ2|внизу3=низ3|стиль_внизу3=стильниза3|внизу5=низ5|стиль_внизу6=стильниза6}}</table>',
    	mw.getCurrentFrame():preprocess('<table class="wikitable">{{карточка/внизу|внизу=низ2|стиль_внизу=стильниза2}}{{карточка/внизу|внизу=низ3|стиль_внизу=стильниза3}}{{карточка/внизу|внизу=низ5}}{{карточка/внизу|стиль_внизу=стильниза6}}</table>')
    )
    self:preprocess_equals(
    	'<table class="wikitable">{{Test transclude/npc infobox below|стиль_внизу=стильнизов|стиль_внизу2=стильниза2|внизу2=низ2|внизу3=низ3|стиль_внизу3=стильниза3|внизу5=низ5}}</table>',
    	mw.getCurrentFrame():preprocess('<table class="wikitable">{{карточка/внизу|внизу=низ2|стиль_внизу=стильниза2|стиль_внизу_общий=стильнизов}}{{карточка/внизу|внизу=низ3|стиль_внизу=стильниза3|стиль_внизу_общий=стильнизов}}{{карточка/внизу|внизу=низ5|стиль_внизу_общий=стильнизов}}</table>')
    )
    self:preprocess_equals(
    	'<table class="wikitable">{{Test transclude/npc infobox below|внизу 1=низ1|внизу 2=низ2|внизу  3=низ3}}</table>',
    	mw.getCurrentFrame():preprocess('<table class="wikitable">{{карточка/внизу|внизу=низ1}}{{карточка/внизу|внизу=низ2}}{{карточка/внизу|внизу=низ3}}</table>')
    )
    self:preprocess_equals(
    	'<table class="wikitable">{{Test transclude/npc infobox below|1внизу 1=низ1|1внизу 2=низ2|1внизу  3=низ3}}</table>',
    	mw.getCurrentFrame():preprocess('<table class="wikitable">{{карточка/внизу}}{{карточка/внизу}}{{карточка/внизу}}</table>')
    )
end

function p:test_npc_with_num()
    self:preprocess_equals(
    	'<table class="wikitable">{{Test transclude/npc with num}}</table>',
    	mw.getCurrentFrame():preprocess('<table class="wikitable"></table>')
    )
    self:preprocess_equals(
    	'<table class="wikitable">{{Test transclude/npc with num|блок 1 левый 1=л1|блок 1 правый 1=п1|блок 1 левый 2=л2}}</table>',
    	mw.getCurrentFrame():preprocess('<table class="wikitable">{{Test transclude/npc with num/main|блок 1 левый=л1|блок 1 правый=п1}}{{Test transclude/npc with num/main|блок 1 левый=л2}}</table>')
    )
end

return p