diff --git a/lib/oga/parser.y b/lib/oga/parser.y index 8c03af9..aefa1a1 100644 --- a/lib/oga/parser.y +++ b/lib/oga/parser.y @@ -95,13 +95,14 @@ rule ; element_body + : element_body element_body_ { val } + | element_body_ + | /* none */ { nil } + ; + + element_body_ : texts - | texts elements { val } - | texts elements texts { val } | elements - | elements texts { val } - | elements texts elements { val } - | /* none */ { nil } ; # Attributes diff --git a/spec/oga/parser/documents_spec.rb b/spec/oga/parser/documents_spec.rb index cfc5b4e..90e0c3c 100644 --- a/spec/oga/parser/documents_spec.rb +++ b/spec/oga/parser/documents_spec.rb @@ -16,6 +16,7 @@ describe Oga::Parser do parse_html(html).should == s( :document, s(:doctype), + s(:text, "\n"), # s( @@ -24,6 +25,8 @@ describe Oga::Parser do 'html', nil, + s(:text, "\n"), + #
s( :element, @@ -31,6 +34,8 @@ describe Oga::Parser do 'head', nil, + s(:text, "\n"), + #