foo').should == [
+ [:T_ELEM_NAME, 'tbody', 1],
+ [:T_ELEM_NAME, 'tr', 1],
+ [:T_TEXT, 'foo', 1],
+ [:T_ELEM_END, nil, 1],
+ [:T_ELEM_END, nil, 1]
+ ]
+ end
+ end
+end
diff --git a/spec/oga/xml/lexer/html_closing_rules/td_spec.rb b/spec/oga/xml/lexer/html_closing_rules/td_spec.rb
new file mode 100644
index 0000000..0e4de3c
--- /dev/null
+++ b/spec/oga/xml/lexer/html_closing_rules/td_spec.rb
@@ -0,0 +1,37 @@
+require 'spec_helper'
+
+describe Oga::XML::Lexer do
+ describe 'using HTML | elements' do
+ it 'lexes two unclosed | elements following each other as separate elements' do
+ lex_html(' | foo | bar').should == [
+ [:T_ELEM_NAME, 'td', 1],
+ [:T_TEXT, 'foo', 1],
+ [:T_ELEM_END, nil, 1],
+ [:T_ELEM_NAME, 'td', 1],
+ [:T_TEXT, 'bar', 1],
+ [:T_ELEM_END, nil, 1]
+ ]
+ end
+
+ it 'lexes an unclosed | followed by a as separate elements' do
+ lex_html('| foobar').should == [
+ [:T_ELEM_NAME, 'td', 1],
+ [:T_TEXT, 'foo', 1],
+ [:T_ELEM_END, nil, 1],
+ [:T_ELEM_NAME, 'thead', 1],
+ [:T_TEXT, 'bar', 1],
+ [:T_ELEM_END, nil, 1]
+ ]
+ end
+
+ it 'lexes a followed an unclosed as a child element' do
+ lex_html(' | foo').should == [
+ [:T_ELEM_NAME, 'td', 1],
+ [:T_ELEM_NAME, 'p', 1],
+ [:T_TEXT, 'foo', 1],
+ [:T_ELEM_END, nil, 1],
+ [:T_ELEM_END, nil, 1]
+ ]
+ end
+ end
+end
diff --git a/spec/oga/xml/lexer/html_closing_rules/tfoot_spec.rb b/spec/oga/xml/lexer/html_closing_rules/tfoot_spec.rb
new file mode 100644
index 0000000..4acb170
--- /dev/null
+++ b/spec/oga/xml/lexer/html_closing_rules/tfoot_spec.rb
@@ -0,0 +1,37 @@
+require 'spec_helper'
+
+describe Oga::XML::Lexer do
+ describe 'using HTML | | |