Simplified the lexer output for doctypes.
This commit is contained in:
1 parent
ac775918ee
commit
470be5a839
3 files changed
+10
-10
No files matched your search
+2
-2
@@ -282,7 +282,7 @@ module Oga
|
||||
|
||||
action start_doctype {
|
||||
emit_buffer
|
||||
t(:T_DOCTYPE_START)
|
||||
add_token(:T_DOCTYPE_START, nil)
|
||||
fcall doctype;
|
||||
}
|
||||
|
||||
@@ -300,7 +300,7 @@ module Oga
|
||||
whitespace;
|
||||
|
||||
'>' => {
|
||||
t(:T_DOCTYPE_END)
|
||||
add_token(:T_DOCTYPE_END, nil)
|
||||
fret;
|
||||
};
|
||||
*|;
|
||||
|
||||
@@ -4,28 +4,28 @@ describe Oga::Lexer do
|
||||
context 'doctypes' do
|
||||
example 'lex the HTML5 doctype' do
|
||||
lex('<!DOCTYPE html>').should == [
|
||||
[:T_DOCTYPE_START, '<!DOCTYPE html', 1],
|
||||
[:T_DOCTYPE_END, '>', 1]
|
||||
[:T_DOCTYPE_START, nil, 1],
|
||||
[:T_DOCTYPE_END, nil, 1]
|
||||
]
|
||||
end
|
||||
|
||||
example 'lex a doctype with a public and system ID' do
|
||||
lex('<!DOCTYPE HTML PUBLIC "foobar" "baz">').should == [
|
||||
[:T_DOCTYPE_START, '<!DOCTYPE HTML', 1],
|
||||
[:T_DOCTYPE_START, nil, 1],
|
||||
[:T_DOCTYPE_TYPE, 'PUBLIC', 1],
|
||||
[:T_STRING, 'foobar', 1],
|
||||
[:T_STRING, 'baz', 1],
|
||||
[:T_DOCTYPE_END, '>', 1]
|
||||
[:T_DOCTYPE_END, nil, 1]
|
||||
]
|
||||
end
|
||||
|
||||
example 'lex a doctype with a public and system ID using single quotes' do
|
||||
lex("<!DOCTYPE HTML PUBLIC 'foobar' 'baz'>").should == [
|
||||
[:T_DOCTYPE_START, '<!DOCTYPE HTML', 1],
|
||||
[:T_DOCTYPE_START, nil, 1],
|
||||
[:T_DOCTYPE_TYPE, 'PUBLIC', 1],
|
||||
[:T_STRING, 'foobar', 1],
|
||||
[:T_STRING, 'baz', 1],
|
||||
[:T_DOCTYPE_END, '>', 1]
|
||||
[:T_DOCTYPE_END, nil, 1]
|
||||
]
|
||||
end
|
||||
end
|
||||
|
||||
@@ -14,8 +14,8 @@ describe Oga::Lexer do
|
||||
EOF
|
||||
|
||||
lex(html).should == [
|
||||
[:T_DOCTYPE_START, '<!DOCTYPE html', 1],
|
||||
[:T_DOCTYPE_END, '>', 1],
|
||||
[:T_DOCTYPE_START, nil, 1],
|
||||
[:T_DOCTYPE_END, nil, 1],
|
||||
[:T_TEXT, "\n", 1],
|
||||
|
||||
# <html>
|
||||
|
||||
Reference in new issue
Block a user