test/parser_test.rb in asciidoctor-1.5.6.2 vs test/parser_test.rb in asciidoctor-1.5.7

- old
+ new

@@ -349,11 +349,11 @@ test 'parse style attribute with option should preserve existing options' do attributes = {1 => '%header', 'options' => 'footer', 'footer-option' => ''} style = Asciidoctor::Parser.parse_style_attribute(attributes) assert_nil style - assert_equal 'header,footer', attributes['options'] + assert_equal 'footer,header', attributes['options'] assert_equal '', attributes['header-option'] assert_equal '', attributes['footer-option'] end test "parse author first" do @@ -524,19 +524,34 @@ assert_equal 'Doc Writer', metadata['author'] assert_equal 'Doc Writer', metadata['author_1'] assert_equal 'John Smith', metadata['author_2'] end + test 'skips blank author entries in implicit author line' do + metadata, _ = parse_header_metadata 'Doc Writer; ; John Smith <john.smith@asciidoc.org>;' + assert_equal 2, metadata['authorcount'] + assert_equal 'Doc Writer', metadata['author_1'] + assert_equal 'John Smith', metadata['author_2'] + end + test 'parse name with more than 3 parts in author attribute' do doc = empty_document parse_header_metadata ':author: Leroy Harold Scherer, Jr.', doc assert_equal 'Leroy Harold Scherer, Jr.', doc.attributes['author'] assert_equal 'Leroy', doc.attributes['firstname'] assert_equal 'Harold', doc.attributes['middlename'] assert_equal 'Scherer, Jr.', doc.attributes['lastname'] end + test 'sets authorcount to 0 if document has no authors' do + input = '' + doc = empty_document + metadata, _ = parse_header_metadata input, doc + assert_equal 0, doc.attributes['authorcount'] + assert_equal 0, metadata['authorcount'] + end + test 'does not drop name joiner when using multiple authors' do input = <<-EOS Kismet Chameleon; Lazarus het_Draeke EOS doc = empty_document @@ -708,9 +723,23 @@ assert_equal 8, metadata.size assert_equal 1, metadata['authorcount'] assert_equal 'Ryan Waldron', metadata['author'] assert_equal '0.0.7', metadata['revnumber'] assert_equal '2013-12-18', metadata['revdate'] + end + + test 'break header at line with three forward slashes' do + input = <<-EOS +Joe Cool +v1.0 +/// +stuff + EOS + metadata, _ = parse_header_metadata input + assert_equal 7, metadata.size + assert_equal 1, metadata['authorcount'] + assert_equal 'Joe Cool', metadata['author'] + assert_equal '1.0', metadata['revnumber'] end test 'attribute entry overrides generated author initials' do doc = empty_document metadata, _ = parse_header_metadata %(Stuart Rackham <founder@asciidoc.org>\n:Author Initials: SJR), doc