summaryrefslogtreecommitdiff
path: root/test/parser_test.rb
diff options
context:
space:
mode:
authorDan Allen <dan.j.allen@gmail.com>2021-11-12 23:46:40 -0700
committerDan Allen <dan.j.allen@gmail.com>2021-11-13 03:12:08 -0700
commit213907c543e4190ac814930549e1219df2369269 (patch)
tree7520541fe0934c7b5fc01d12135461518ec0e6a4 /test/parser_test.rb
parent50ce4a5b9177a7462294cdc1f4c2910e02b29115 (diff)
add flag to suppress retrieving metadata from parse_header_metadata; include metadata from author overrides
Diffstat (limited to 'test/parser_test.rb')
-rw-r--r--test/parser_test.rb14
1 files changed, 11 insertions, 3 deletions
diff --git a/test/parser_test.rb b/test/parser_test.rb
index 95d3bebc..860ffaf3 100644
--- a/test/parser_test.rb
+++ b/test/parser_test.rb
@@ -395,13 +395,16 @@ context 'Parser' do
test 'replace implicit authors if value of authors attribute does not match computed value' do
input = <<~'EOS'
Doc Writer; Junior Writer
- :authors: Stuart Rackham; Dan Allen
+ :authors: Stuart Rackham; Dan Allen; Sarah White
EOS
doc = empty_document
- parse_header_metadata input, doc
- assert_equal 'Stuart Rackham, Dan Allen', doc.attributes['authors']
+ metadata = parse_header_metadata input, doc
+ assert_equal metadata['authorcount'], 3
+ assert_equal doc.attributes['authorcount'], 3
+ assert_equal 'Stuart Rackham, Dan Allen, Sarah White', doc.attributes['authors']
assert_equal 'Stuart Rackham', doc.attributes['author_1']
assert_equal 'Dan Allen', doc.attributes['author_2']
+ assert_equal 'Sarah White', doc.attributes['author_3']
end
test 'sets authorcount to 0 if document has no authors' do
@@ -412,6 +415,11 @@ context 'Parser' do
assert_equal 0, metadata['authorcount']
end
+ test 'returns empty hash if document has no authors and invoked without document' do
+ metadata = parse_header_metadata ''
+ assert_empty metadata
+ end
+
test 'does not drop name joiner when using multiple authors' do
input = 'Kismet Chameleon; Lazarus het_Draeke'
doc = empty_document