Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

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