Module:Television crossover note/testcases

From Wikipedia, the free encyclopedia
-- Unit tests for [[Module:Television crossover note]]. Click talk page to run tests.
local p = require('Module:UnitTests')

function p:test_1_1_1Parts_live()
	self:preprocess_equals_many('{{#invoke:Television crossover note|main|', '}}', {
		{"parts=1|part=1|[[Supergirl (TV series)|''Supergirl'']]", "<hr>This episode is a crossover with [[Supergirl (TV series)|''Supergirl'']]."},
		{"parts=1|[[Supergirl (TV series)|''Supergirl'']]", "<hr>This episode is a crossover with [[Supergirl (TV series)|''Supergirl'']]."},
		{"parts=1|part=1|series1=[[Supergirl (TV series)|''Supergirl'']]", "<hr>This episode is a crossover with [[Supergirl (TV series)|''Supergirl'']]."},
	}, {nowiki=1})
end

function p:test_1_2_1Parts_sandbox()
	self:preprocess_equals_many('{{#invoke:Television crossover note|main|', '}}', {
		{"parts=1|part=1|[[Supergirl (TV series)|''Supergirl'']]", "<hr>This episode is a crossover with [[Supergirl (TV series)|''Supergirl'']]."},
		{"parts=1|[[Supergirl (TV series)|''Supergirl'']]", "<hr>This episode is a crossover with [[Supergirl (TV series)|''Supergirl'']]."},
		{"parts=1|part=1|series1=[[Supergirl (TV series)|''Supergirl'']]", "<hr>This episode is a crossover with [[Supergirl (TV series)|''Supergirl'']]."},
	}, {nowiki=1})
end

function p:test_2_1_2Parts_live()
	self:preprocess_equals_many('{{#invoke:Television crossover note|main|', '}}', {
		{"parts=2|part=1|[[List of Arrow episodes#ep54|''Arrow'' season 3 episode 8]]", "<hr>This episode begins a crossover event that concludes on [[List of Arrow episodes#ep54|''Arrow'' season 3 episode 8]]."},
		{"parts=2|part=1|series1=[[List of Arrow episodes#ep54|''Arrow'' season 3 episode 8]]", "<hr>This episode begins a crossover event that concludes on [[List of Arrow episodes#ep54|''Arrow'' season 3 episode 8]]."},
		{"parts=2|part=2|[[List of The Flash episodes#ep8|''The Flash'' season 1 episode 8]]", "<hr>This episode concludes a crossover event that begins on [[List of The Flash episodes#ep8|''The Flash'' season 1 episode 8]]."},
		{"parts=2|part=2|series1=[[List of The Flash episodes#ep8|''The Flash'' season 1 episode 8]]", "<hr>This episode concludes a crossover event that begins on [[List of The Flash episodes#ep8|''The Flash'' season 1 episode 8]]."},
	}, {nowiki=1})
end

function p:test_2_2_2Parts_sandbox()
	self:preprocess_equals_many('{{#invoke:Television crossover note|main|', '}}', {
		{"parts=2|part=1|[[List of Arrow episodes#ep54|''Arrow'' season 3 episode 8]]", "<hr>This episode begins a crossover event that concludes on [[List of Arrow episodes#ep54|''Arrow'' season 3 episode 8]]."},
		{"parts=2|part=1|series1=[[List of Arrow episodes#ep54|''Arrow'' season 3 episode 8]]", "<hr>This episode begins a crossover event that concludes on [[List of Arrow episodes#ep54|''Arrow'' season 3 episode 8]]."},
		{"parts=2|part=2|[[List of The Flash episodes#ep8|''The Flash'' season 1 episode 8]]", "<hr>This episode concludes a crossover event that begins on [[List of The Flash episodes#ep8|''The Flash'' season 1 episode 8]]."},
		{"parts=2|part=2|series1=[[List of The Flash episodes#ep8|''The Flash'' season 1 episode 8]]", "<hr>This episode concludes a crossover event that begins on [[List of The Flash episodes#ep8|''The Flash'' season 1 episode 8]]."}
	}, {nowiki=1})
end

function p:test_3_1_3Parts_live()
	self:preprocess_equals_many('{{#invoke:Television crossover note|main|', '}}', {
		{"parts=3|part=1|[[List of Arrow episodes#ep100|''Arrow'' season 5 episode 8]]|[[List of Legends of Tomorrow episodes#ep23|''Legends of Tomorrow'' season 2 episode 7]]", "<hr>This episode begins a crossover event that continues on [[List of Arrow episodes#ep100|''Arrow'' season 5 episode 8]] and concludes on [[List of Legends of Tomorrow episodes#ep23|''Legends of Tomorrow'' season 2 episode 7]]."},
		{"parts=3|part=1|series1=[[List of Arrow episodes#ep100|''Arrow'' season 5 episode 8]]|series2=[[List of Legends of Tomorrow episodes#ep23|''Legends of Tomorrow'' season 2 episode 7]]", "<hr>This episode begins a crossover event that continues on [[List of Arrow episodes#ep100|''Arrow'' season 5 episode 8]] and concludes on [[List of Legends of Tomorrow episodes#ep23|''Legends of Tomorrow'' season 2 episode 7]]."},
		{"parts=3|part=2|[[List of The Flash episodes#ep54|''The Flash'' season 3 episode 8]]|[[List of Legends of Tomorrow episodes#ep23|''Legends of Tomorrow'' season 2 episode 7]]", "<hr>This episode continues a crossover event that begins on [[List of The Flash episodes#ep54|''The Flash'' season 3 episode 8]] and concludes on [[List of Legends of Tomorrow episodes#ep23|''Legends of Tomorrow'' season 2 episode 7]]."},
		{"parts=3|part=2|series1=[[List of The Flash episodes#ep54|''The Flash'' season 3 episode 8]]|series2=[[List of Legends of Tomorrow episodes#ep23|''Legends of Tomorrow'' season 2 episode 7]]", "<hr>This episode continues a crossover event that begins on [[List of The Flash episodes#ep54|''The Flash'' season 3 episode 8]] and concludes on [[List of Legends of Tomorrow episodes#ep23|''Legends of Tomorrow'' season 2 episode 7]]."},
		{"parts=3|part=3|[[List of The Flash episodes#ep54|''The Flash'' season 3 episode 8]]|[[List of Arrow episodes#ep100|''Arrow'' season 5 episode 8]]", "<hr>This episode concludes a crossover event that begins on [[List of The Flash episodes#ep54|''The Flash'' season 3 episode 8]] and continues on [[List of Arrow episodes#ep100|''Arrow'' season 5 episode 8]]."},
		{"parts=3|part=3|series1=[[List of The Flash episodes#ep54|''The Flash'' season 3 episode 8]]|series2=[[List of Arrow episodes#ep100|''Arrow'' season 5 episode 8]]", "<hr>This episode concludes a crossover event that begins on [[List of The Flash episodes#ep54|''The Flash'' season 3 episode 8]] and continues on [[List of Arrow episodes#ep100|''Arrow'' season 5 episode 8]]."},
	}, {nowiki=1})
end

function p:test_3_2_3Parts_sandbox()
	self:preprocess_equals_many('{{#invoke:Television crossover note|main|', '}}', {
		{"parts=3|part=1|[[List of Arrow episodes#ep100|''Arrow'' season 5 episode 8]]|[[List of Legends of Tomorrow episodes#ep23|''Legends of Tomorrow'' season 2 episode 7]]", "<hr>This episode begins a crossover event that continues on [[List of Arrow episodes#ep100|''Arrow'' season 5 episode 8]] and concludes on [[List of Legends of Tomorrow episodes#ep23|''Legends of Tomorrow'' season 2 episode 7]]."},
		{"parts=3|part=1|series1=[[List of Arrow episodes#ep100|''Arrow'' season 5 episode 8]]|series2=[[List of Legends of Tomorrow episodes#ep23|''Legends of Tomorrow'' season 2 episode 7]]", "<hr>This episode begins a crossover event that continues on [[List of Arrow episodes#ep100|''Arrow'' season 5 episode 8]] and concludes on [[List of Legends of Tomorrow episodes#ep23|''Legends of Tomorrow'' season 2 episode 7]]."},
		{"parts=3|part=2|[[List of The Flash episodes#ep54|''The Flash'' season 3 episode 8]]|[[List of Legends of Tomorrow episodes#ep23|''Legends of Tomorrow'' season 2 episode 7]]", "<hr>This episode continues a crossover event that begins on [[List of The Flash episodes#ep54|''The Flash'' season 3 episode 8]] and concludes on [[List of Legends of Tomorrow episodes#ep23|''Legends of Tomorrow'' season 2 episode 7]]."},
		{"parts=3|part=2|series1=[[List of The Flash episodes#ep54|''The Flash'' season 3 episode 8]]|series2=[[List of Legends of Tomorrow episodes#ep23|''Legends of Tomorrow'' season 2 episode 7]]", "<hr>This episode continues a crossover event that begins on [[List of The Flash episodes#ep54|''The Flash'' season 3 episode 8]] and concludes on [[List of Legends of Tomorrow episodes#ep23|''Legends of Tomorrow'' season 2 episode 7]]."},
		{"parts=3|part=3|[[List of The Flash episodes#ep54|''The Flash'' season 3 episode 8]]|[[List of Arrow episodes#ep100|''Arrow'' season 5 episode 8]]", "<hr>This episode concludes a crossover event that begins on [[List of The Flash episodes#ep54|''The Flash'' season 3 episode 8]] and continues on [[List of Arrow episodes#ep100|''Arrow'' season 5 episode 8]]."},
		{"parts=3|part=3|series1=[[List of The Flash episodes#ep54|''The Flash'' season 3 episode 8]]|series2=[[List of Arrow episodes#ep100|''Arrow'' season 5 episode 8]]", "<hr>This episode concludes a crossover event that begins on [[List of The Flash episodes#ep54|''The Flash'' season 3 episode 8]] and continues on [[List of Arrow episodes#ep100|''Arrow'' season 5 episode 8]]."},
	}, {nowiki=1})
end

function p:test_4_1_4Parts_live()
	self:preprocess_equals_many('{{#invoke:Television crossover note|main|', '}}', {
		{"parts=4|part=1|[[List of Arrow episodes#ep123|''Arrow'' season 6 episode 8]]|[[The Flash season 4#ep77|''The Flash'' season 4 episode 8]]|[[List of Legends of Tomorrow episodes#ep41|''Legends of Tomorrow'' season 3 episode 8]]", "<hr>This episode begins a crossover event that continues on [[List of Arrow episodes#ep123|''Arrow'' season 6 episode 8]] and [[The Flash season 4#ep77|''The Flash'' season 4 episode 8]], and concludes on [[List of Legends of Tomorrow episodes#ep41|''Legends of Tomorrow'' season 3 episode 8]]."},
		{"parts=4|part=1|series1=[[List of Arrow episodes#ep123|''Arrow'' season 6 episode 8]]|series2=[[The Flash season 4#ep77|''The Flash'' season 4 episode 8]]|series3=[[List of Legends of Tomorrow episodes#ep41|''Legends of Tomorrow'' season 3 episode 8]]", "<hr>This episode begins a crossover event that continues on [[List of Arrow episodes#ep123|''Arrow'' season 6 episode 8]] and [[The Flash season 4#ep77|''The Flash'' season 4 episode 8]], and concludes on [[List of Legends of Tomorrow episodes#ep41|''Legends of Tomorrow'' season 3 episode 8]]."},
		{"parts=4|part=2|[[List of Supergirl episodes#ep50|''Supergirl'' season 3 episode 8]]|[[The Flash season 4#ep77|''The Flash'' season 4 episode 8]]|[[List of Legends of Tomorrow episodes#ep41|''Legends of Tomorrow'' season 3 episode 8]]", "<hr>This episode continues a crossover event that begins on [[List of Supergirl episodes#ep50|''Supergirl'' season 3 episode 8]] continues on [[The Flash season 4#ep77|''The Flash'' season 4 episode 8]], and concludes on [[List of Legends of Tomorrow episodes#ep41|''Legends of Tomorrow'' season 3 episode 8]]."},
		{"parts=4|part=2|series1=[[List of Supergirl episodes#ep50|''Supergirl'' season 3 episode 8]]|series2=[[The Flash season 4#ep77|''The Flash'' season 4 episode 8]]|series3=[[List of Legends of Tomorrow episodes#ep41|''Legends of Tomorrow'' season 3 episode 8]]", "<hr>This episode continues a crossover event that begins on [[List of Supergirl episodes#ep50|''Supergirl'' season 3 episode 8]] continues on [[The Flash season 4#ep77|''The Flash'' season 4 episode 8]], and concludes on [[List of Legends of Tomorrow episodes#ep41|''Legends of Tomorrow'' season 3 episode 8]]."},
		{"parts=4|part=3|[[List of Supergirl episodes#ep50|''Supergirl'' season 3 episode 8]]|[[List of Arrow episodes#ep123|''Arrow'' season 6 episode 8]]|[[List of Legends of Tomorrow episodes#ep41|''Legends of Tomorrow'' season 3 episode 8]]", "<hr>This episode continues a crossover event that begins on [[List of Supergirl episodes#ep50|''Supergirl'' season 3 episode 8]] and [[List of Arrow episodes#ep123|''Arrow'' season 6 episode 8]], and concludes on [[List of Legends of Tomorrow episodes#ep41|''Legends of Tomorrow'' season 3 episode 8]]."},
		{"parts=4|part=3|series1=[[List of Supergirl episodes#ep50|''Supergirl'' season 3 episode 8]]|series2=[[List of Arrow episodes#ep123|''Arrow'' season 6 episode 8]]|series3=[[List of Legends of Tomorrow episodes#ep41|''Legends of Tomorrow'' season 3 episode 8]]", "<hr>This episode continues a crossover event that begins on [[List of Supergirl episodes#ep50|''Supergirl'' season 3 episode 8]] and [[List of Arrow episodes#ep123|''Arrow'' season 6 episode 8]], and concludes on [[List of Legends of Tomorrow episodes#ep41|''Legends of Tomorrow'' season 3 episode 8]]."},
		{"parts=4|part=4|[[List of Supergirl episodes#ep50|''Supergirl'' season 3 episode 8]]|[[List of Arrow episodes#ep123|''Arrow'' season 6 episode 8]]|[[The Flash season 4#ep77|''The Flash'' season 4 episode 8]]", "<hr>This episode concludes a crossover event that begins on [[List of Supergirl episodes#ep50|''Supergirl'' season 3 episode 8]] and continues on [[List of Arrow episodes#ep123|''Arrow'' season 6 episode 8]] and [[The Flash season 4#ep77|''The Flash'' season 4 episode 8]]."},
		{"parts=4|part=4|series1=[[List of Supergirl episodes#ep50|''Supergirl'' season 3 episode 8]]|series2=[[List of Arrow episodes#ep123|''Arrow'' season 6 episode 8]]|series3=[[The Flash season 4#ep77|''The Flash'' season 4 episode 8]]", "<hr>This episode concludes a crossover event that begins on [[List of Supergirl episodes#ep50|''Supergirl'' season 3 episode 8]] and continues on [[List of Arrow episodes#ep123|''Arrow'' season 6 episode 8]] and [[The Flash season 4#ep77|''The Flash'' season 4 episode 8]]."},
	}, {nowiki=1})
end

function p:test_4_2_4Parts_sandbox()
	self:preprocess_equals_many('{{#invoke:Television crossover note|main|', '}}', {
		{"parts=4|part=1|[[List of Arrow episodes#ep123|''Arrow'' season 6 episode 8]]|[[The Flash season 4#ep77|''The Flash'' season 4 episode 8]]|[[List of Legends of Tomorrow episodes#ep41|''Legends of Tomorrow'' season 3 episode 8]]", "<hr>This episode begins a crossover event that continues on [[List of Arrow episodes#ep123|''Arrow'' season 6 episode 8]] and [[The Flash season 4#ep77|''The Flash'' season 4 episode 8]], and concludes on [[List of Legends of Tomorrow episodes#ep41|''Legends of Tomorrow'' season 3 episode 8]]."},
		{"parts=4|part=1|series1=[[List of Arrow episodes#ep123|''Arrow'' season 6 episode 8]]|series2=[[The Flash season 4#ep77|''The Flash'' season 4 episode 8]]|series3=[[List of Legends of Tomorrow episodes#ep41|''Legends of Tomorrow'' season 3 episode 8]]", "<hr>This episode begins a crossover event that continues on [[List of Arrow episodes#ep123|''Arrow'' season 6 episode 8]] and [[The Flash season 4#ep77|''The Flash'' season 4 episode 8]], and concludes on [[List of Legends of Tomorrow episodes#ep41|''Legends of Tomorrow'' season 3 episode 8]]."},
		{"parts=4|part=2|[[List of Supergirl episodes#ep50|''Supergirl'' season 3 episode 8]]|[[The Flash season 4#ep77|''The Flash'' season 4 episode 8]]|[[List of Legends of Tomorrow episodes#ep41|''Legends of Tomorrow'' season 3 episode 8]]", "<hr>This episode continues a crossover event that begins on [[List of Supergirl episodes#ep50|''Supergirl'' season 3 episode 8]] continues on [[The Flash season 4#ep77|''The Flash'' season 4 episode 8]], and concludes on [[List of Legends of Tomorrow episodes#ep41|''Legends of Tomorrow'' season 3 episode 8]]."},
		{"parts=4|part=2|series1=[[List of Supergirl episodes#ep50|''Supergirl'' season 3 episode 8]]|series2=[[The Flash season 4#ep77|''The Flash'' season 4 episode 8]]|series3=[[List of Legends of Tomorrow episodes#ep41|''Legends of Tomorrow'' season 3 episode 8]]", "<hr>This episode continues a crossover event that begins on [[List of Supergirl episodes#ep50|''Supergirl'' season 3 episode 8]] continues on [[The Flash season 4#ep77|''The Flash'' season 4 episode 8]], and concludes on [[List of Legends of Tomorrow episodes#ep41|''Legends of Tomorrow'' season 3 episode 8]]."},
		{"parts=4|part=3|[[List of Supergirl episodes#ep50|''Supergirl'' season 3 episode 8]]|[[List of Arrow episodes#ep123|''Arrow'' season 6 episode 8]]|[[List of Legends of Tomorrow episodes#ep41|''Legends of Tomorrow'' season 3 episode 8]]", "<hr>This episode continues a crossover event that begins on [[List of Supergirl episodes#ep50|''Supergirl'' season 3 episode 8]] and [[List of Arrow episodes#ep123|''Arrow'' season 6 episode 8]], and concludes on [[List of Legends of Tomorrow episodes#ep41|''Legends of Tomorrow'' season 3 episode 8]]."},
		{"parts=4|part=3|series1=[[List of Supergirl episodes#ep50|''Supergirl'' season 3 episode 8]]|series2=[[List of Arrow episodes#ep123|''Arrow'' season 6 episode 8]]|series3=[[List of Legends of Tomorrow episodes#ep41|''Legends of Tomorrow'' season 3 episode 8]]", "<hr>This episode continues a crossover event that begins on [[List of Supergirl episodes#ep50|''Supergirl'' season 3 episode 8]] and [[List of Arrow episodes#ep123|''Arrow'' season 6 episode 8]], and concludes on [[List of Legends of Tomorrow episodes#ep41|''Legends of Tomorrow'' season 3 episode 8]]."},
		{"parts=4|part=4|[[List of Supergirl episodes#ep50|''Supergirl'' season 3 episode 8]]|[[List of Arrow episodes#ep123|''Arrow'' season 6 episode 8]]|[[The Flash season 4#ep77|''The Flash'' season 4 episode 8]]", "<hr>This episode concludes a crossover event that begins on [[List of Supergirl episodes#ep50|''Supergirl'' season 3 episode 8]] and continues on [[List of Arrow episodes#ep123|''Arrow'' season 6 episode 8]] and [[The Flash season 4#ep77|''The Flash'' season 4 episode 8]]."},
		{"parts=4|part=4|series1=[[List of Supergirl episodes#ep50|''Supergirl'' season 3 episode 8]]|series2=[[List of Arrow episodes#ep123|''Arrow'' season 6 episode 8]]|series3=[[The Flash season 4#ep77|''The Flash'' season 4 episode 8]]", "<hr>This episode concludes a crossover event that begins on [[List of Supergirl episodes#ep50|''Supergirl'' season 3 episode 8]] and continues on [[List of Arrow episodes#ep123|''Arrow'' season 6 episode 8]] and [[The Flash season 4#ep77|''The Flash'' season 4 episode 8]]."},
	}, {nowiki=1})
end

function p:test_5_1_5Parts_live()
	self:preprocess_equals_many('{{#invoke:Television crossover note|main|', '}}', {
		{"parts=5|part=1|''Batwoman'' season 1 episode 8|''The Flash'' season 5 episode 8|''Arrow'' season 7 episode 8|''Legends of Tomorrow'' season 4 episode 1", "<hr>This episode begins a crossover event that continues on ''Batwoman'' season 1 episode 8, ''The Flash'' season 5 episode 8, and ''Arrow'' season 7 episode 8, and concludes on ''Legends of Tomorrow'' season 4 episode 1."},
		{"parts=5|part=1|series1=''Batwoman'' season 1 episode 8|series2=''The Flash'' season 5 episode 8|series3=''Arrow'' season 7 episode 8|series4=''Legends of Tomorrow'' season 4 episode 1", "<hr>This episode begins a crossover event that continues on ''Batwoman'' season 1 episode 8, ''The Flash'' season 5 episode 8, and ''Arrow'' season 7 episode 8, and concludes on ''Legends of Tomorrow'' season 4 episode 1."},
		{"parts=5|part=2|''Supergirl'' season 4 episode 8|''The Flash'' season 5 episode 8|''Arrow'' season 7 episode 8|''Legends of Tomorrow'' season 4 episode 1", "<hr>This episode continues a crossover event that begins on ''Supergirl'' season 4 episode 8, continues on ''The Flash'' season 5 episode 8 and ''Arrow'' season 7 episode 8, and concludes on ''Legends of Tomorrow'' season 4 episode 1."},
		{"parts=5|part=2|series1=''Supergirl'' season 4 episode 8|series2=''The Flash'' season 5 episode 8|series3=''Arrow'' season 7 episode 8|series4=''Legends of Tomorrow'' season 4 episode 1", "<hr>This episode continues a crossover event that begins on ''Supergirl'' season 4 episode 8, continues on ''The Flash'' season 5 episode 8 and ''Arrow'' season 7 episode 8, and concludes on ''Legends of Tomorrow'' season 4 episode 1."},
		{"parts=5|part=3|''Supergirl'' season 4 episode 8|''Batwoman'' season 1 episode 8|''Arrow'' season 7 episode 8|''Legends of Tomorrow'' season 4 episode 1", "<hr>This episode continues a crossover event that begins on ''Supergirl'' season 4 episode 8 and ''Batwoman'' season 1 episode 8, continues on ''Arrow'' season 7 episode 8, and concludes on ''Legends of Tomorrow'' season 4 episode 1."},
		{"parts=5|part=3|series1=''Supergirl'' season 4 episode 8|series2=''Batwoman'' season 1 episode 8|series3=''Arrow'' season 7 episode 8|series4=''Legends of Tomorrow'' season 4 episode 1", "<hr>This episode continues a crossover event that begins on ''Supergirl'' season 4 episode 8 and ''Batwoman'' season 1 episode 8, continues on ''Arrow'' season 7 episode 8, and concludes on ''Legends of Tomorrow'' season 4 episode 1."},
		{"parts=5|part=4|''Supergirl'' season 4 episode 8|''Batwoman'' season 1 episode 8|''The Flash'' season 5 episode 8|''Legends of Tomorrow'' season 4 episode 1", "<hr>This episode continues a crossover event that begins on ''Supergirl'' season 4 episode 8, ''Batwoman'' season 1 episode 8, and ''The Flash'' season 5 episode 8, and concludes on ''Legends of Tomorrow'' season 4 episode 1."},
		{"parts=5|part=4|series1=''Supergirl'' season 4 episode 8|series2=''Batwoman'' season 1 episode 8|series3=''The Flash'' season 5 episode 8|series4=''Legends of Tomorrow'' season 4 episode 1", "<hr>This episode continues a crossover event that begins on ''Supergirl'' season 4 episode 8, ''Batwoman'' season 1 episode 8, and ''The Flash'' season 5 episode 8, and concludes on ''Legends of Tomorrow'' season 4 episode 1."},
		{"parts=5|part=5|''Supergirl'' season 4 episode 8|''Batwoman'' season 1 episode 8|''The Flash'' season 5 episode 8|''Arrow'' season 7 episode 8", "<hr>This episode concludes a crossover event that begins on ''Supergirl'' season 4 episode 8, and continues on ''Batwoman'' season 1 episode 8, ''The Flash'' season 5 episode 8, and ''Arrow'' season 7 episode 8."},
		{"parts=5|part=5|series1=''Supergirl'' season 4 episode 8|series2=''Batwoman'' season 1 episode 8|series3=''The Flash'' season 5 episode 8|series4=''Arrow'' season 7 episode 8", "<hr>This episode concludes a crossover event that begins on ''Supergirl'' season 4 episode 8, and continues on ''Batwoman'' season 1 episode 8, ''The Flash'' season 5 episode 8, and ''Arrow'' season 7 episode 8."},
	}, {nowiki=1})
end

function p:test_5_2_5Parts_sandbox()
	self:preprocess_equals_many('{{#invoke:Television crossover note|main|', '}}', {
		{"parts=5|part=1|''Batwoman'' season 1 episode 8|''The Flash'' season 5 episode 8|''Arrow'' season 7 episode 8|''Legends of Tomorrow'' season 4 episode 1", "<hr>This episode begins a crossover event that continues on ''Batwoman'' season 1 episode 8, ''The Flash'' season 5 episode 8, and ''Arrow'' season 7 episode 8, and concludes on ''Legends of Tomorrow'' season 4 episode 1."},
		{"parts=5|part=1|series1=''Batwoman'' season 1 episode 8|series2=''The Flash'' season 5 episode 8|series3=''Arrow'' season 7 episode 8|series4=''Legends of Tomorrow'' season 4 episode 1", "<hr>This episode begins a crossover event that continues on ''Batwoman'' season 1 episode 8, ''The Flash'' season 5 episode 8, and ''Arrow'' season 7 episode 8, and concludes on ''Legends of Tomorrow'' season 4 episode 1."},
		{"parts=5|part=2|''Supergirl'' season 4 episode 8|''The Flash'' season 5 episode 8|''Arrow'' season 7 episode 8|''Legends of Tomorrow'' season 4 episode 1", "<hr>This episode continues a crossover event that begins on ''Supergirl'' season 4 episode 8, continues on ''The Flash'' season 5 episode 8 and ''Arrow'' season 7 episode 8, and concludes on ''Legends of Tomorrow'' season 4 episode 1."},
		{"parts=5|part=2|series1=''Supergirl'' season 4 episode 8|series2=''The Flash'' season 5 episode 8|series3=''Arrow'' season 7 episode 8|series4=''Legends of Tomorrow'' season 4 episode 1", "<hr>This episode continues a crossover event that begins on ''Supergirl'' season 4 episode 8, continues on ''The Flash'' season 5 episode 8 and ''Arrow'' season 7 episode 8, and concludes on ''Legends of Tomorrow'' season 4 episode 1."},
		{"parts=5|part=3|''Supergirl'' season 4 episode 8|''Batwoman'' season 1 episode 8|''Arrow'' season 7 episode 8|''Legends of Tomorrow'' season 4 episode 1", "<hr>This episode continues a crossover event that begins on ''Supergirl'' season 4 episode 8 and ''Batwoman'' season 1 episode 8, continues on ''Arrow'' season 7 episode 8, and concludes on ''Legends of Tomorrow'' season 4 episode 1."},
		{"parts=5|part=3|series1=''Supergirl'' season 4 episode 8|series2=''Batwoman'' season 1 episode 8|series3=''Arrow'' season 7 episode 8|series4=''Legends of Tomorrow'' season 4 episode 1", "<hr>This episode continues a crossover event that begins on ''Supergirl'' season 4 episode 8 and ''Batwoman'' season 1 episode 8, continues on ''Arrow'' season 7 episode 8, and concludes on ''Legends of Tomorrow'' season 4 episode 1."},
		{"parts=5|part=4|''Supergirl'' season 4 episode 8|''Batwoman'' season 1 episode 8|''The Flash'' season 5 episode 8|''Legends of Tomorrow'' season 4 episode 1", "<hr>This episode continues a crossover event that begins on ''Supergirl'' season 4 episode 8, ''Batwoman'' season 1 episode 8, and ''The Flash'' season 5 episode 8, and concludes on ''Legends of Tomorrow'' season 4 episode 1."},
		{"parts=5|part=4|series1=''Supergirl'' season 4 episode 8|series2=''Batwoman'' season 1 episode 8|series3=''The Flash'' season 5 episode 8|series4=''Legends of Tomorrow'' season 4 episode 1", "<hr>This episode continues a crossover event that begins on ''Supergirl'' season 4 episode 8, ''Batwoman'' season 1 episode 8, and ''The Flash'' season 5 episode 8, and concludes on ''Legends of Tomorrow'' season 4 episode 1."},
		{"parts=5|part=5|''Supergirl'' season 4 episode 8|''Batwoman'' season 1 episode 8|''The Flash'' season 5 episode 8|''Arrow'' season 7 episode 8", "<hr>This episode concludes a crossover event that begins on ''Supergirl'' season 4 episode 8, and continues on ''Batwoman'' season 1 episode 8, ''The Flash'' season 5 episode 8, and ''Arrow'' season 7 episode 8."},
		{"parts=5|part=5|series1=''Supergirl'' season 4 episode 8|series2=''Batwoman'' season 1 episode 8|series3=''The Flash'' season 5 episode 8|series4=''Arrow'' season 7 episode 8", "<hr>This episode concludes a crossover event that begins on ''Supergirl'' season 4 episode 8, and continues on ''Batwoman'' season 1 episode 8, ''The Flash'' season 5 episode 8, and ''Arrow'' season 7 episode 8."},
	}, {nowiki=1})
end

function p:test_6_1_errors_live()
	self:preprocess_equals_many('{{#invoke:Television crossover note|main|', '}}', {
		{"parts=|part=1|[[Supergirl (TV series)|''Supergirl'']]", '<span style="font-size:100%;" class="error"> <strong>Error: </strong>missing |parts= value.</span>'},
		{"parts=2|part=dog|[[Supergirl (TV series)|''Supergirl'']]", '<span style="font-size:100%;" class="error"> <strong>Error: </strong>value of |part= should be a number.</span>'},
		{"parts=dog|part=2|[[Supergirl (TV series)|''Supergirl'']]", '<span style="font-size:100%;" class="error"> <strong>Error: </strong>value of |parts= should be a number.</span>'},
		{"parts=dog|part=dog|[[Supergirl (TV series)|''Supergirl'']]", '<span style="font-size:100%;" class="error"> <strong>Error: </strong>value of |parts= should be a number.</span><span style="font-size:100%;" class="error"> <strong>Error: </strong>value of |part= should be a number.</span>'},
		{"[[Supergirl (TV series)|''Supergirl'']]", '<span style="font-size:100%;" class="error"> <strong>Error: </strong>missing |parts= value.</span><span style="font-size:100%;" class="error"> <strong>Error: </strong>missing |part= value.</span>'},
		{"", '<span style="font-size:100%;" class="error"> <strong>Error: </strong>missing |parts= value.</span><span style="font-size:100%;" class="error"> <strong>Error: </strong>missing |part= value.</span>'},
		{"parts=3|part=3|series1=|series2=|series3=", '<span style="font-size:100%;" class="error"> <strong>Error: </strong>missing |1= value.</span>'},
	}, {nowiki=1})
end

function p:test_6_2_errors_sandbox()
	self:preprocess_equals_many('{{#invoke:Television crossover note|main|', '}}', {
		{"parts=|part=1|[[Supergirl (TV series)|''Supergirl'']]", '<span style="font-size:100%;" class="error"> <strong>Error: </strong>missing |parts= value.</span>'},
		{"parts=2|part=dog|[[Supergirl (TV series)|''Supergirl'']]", '<span style="font-size:100%;" class="error"> <strong>Error: </strong>value of |part= should be a number.</span>'},
		{"parts=dog|part=2|[[Supergirl (TV series)|''Supergirl'']]", '<span style="font-size:100%;" class="error"> <strong>Error: </strong>value of |parts= should be a number.</span>'},
		{"parts=dog|part=dog|[[Supergirl (TV series)|''Supergirl'']]", '<span style="font-size:100%;" class="error"> <strong>Error: </strong>value of |parts= should be a number.</span><span style="font-size:100%;" class="error"> <strong>Error: </strong>value of |part= should be a number.</span>'},
		{"[[Supergirl (TV series)|''Supergirl'']]", '<span style="font-size:100%;" class="error"> <strong>Error: </strong>missing |parts= value.</span><span style="font-size:100%;" class="error"> <strong>Error: </strong>missing |part= value.</span>'},
		{"", '<span style="font-size:100%;" class="error"> <strong>Error: </strong>missing |parts= value.</span><span style="font-size:100%;" class="error"> <strong>Error: </strong>missing |part= value.</span>'},
		{"parts=3|part=3|series1=|series2=|series3=", '<span style="font-size:100%;" class="error"> <strong>Error: </strong>missing |1= value.</span>'},
	}, {nowiki=1})
end

function p:test_7_1_no_hr_live()
	self:preprocess_equals_many('{{#invoke:Television crossover note|main|', '}}', {
		{"parts=1|part=1|[[Supergirl (TV series)|''Supergirl'']]|no_hr=y", "This episode is a crossover with [[Supergirl (TV series)|''Supergirl'']]."},
	}, {nowiki=1})
end

function p:test_7_2_no_hr_sandbox()
	self:preprocess_equals_many('{{#invoke:Television crossover note|main|', '}}', {
		{"parts=1|part=1|[[Supergirl (TV series)|''Supergirl'']]|no_hr=y", "This episode is a crossover with [[Supergirl (TV series)|''Supergirl'']]."},
	}, {nowiki=1})
end

return p