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