summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorDan Allen <dan.j.allen@gmail.com>2019-12-02 23:35:00 -0700
committerDan Allen <dan.j.allen@gmail.com>2019-12-02 23:35:00 -0700
commit6de03d94c275dad81d427d648c44aa640ea3ff2b (patch)
tree9407bd4f011d37ee0f2ba614d11f8b2c5232fd4b /spec
parent18d7e776f34357e3bba56d121ceb0b0a2aa199d2 (diff)
fix lint errors in test suite
Diffstat (limited to 'spec')
-rw-r--r--spec/admonition_spec.rb9
-rw-r--r--spec/converter_spec.rb10
-rw-r--r--spec/cover_page_spec.rb6
-rw-r--r--spec/font_spec.rb10
-rw-r--r--spec/footnote_spec.rb8
-rw-r--r--spec/formatted_text_formatter_spec.rb28
-rw-r--r--spec/formatted_text_transform_spec.rb4
-rw-r--r--spec/hyphens_spec.rb4
-rw-r--r--spec/icon_spec.rb16
-rw-r--r--spec/image_spec.rb58
-rw-r--r--spec/index_spec.rb4
-rw-r--r--spec/link_spec.rb4
-rw-r--r--spec/list_spec.rb5
-rw-r--r--spec/media_spec.rb2
-rw-r--r--spec/open_spec.rb8
-rw-r--r--spec/optimizer_spec.rb4
-rw-r--r--spec/page_spec.rb4
-rw-r--r--spec/paragraph_spec.rb12
-rw-r--r--spec/pdf_info_spec.rb2
-rw-r--r--spec/running_content_spec.rb111
-rw-r--r--spec/section_spec.rb24
-rw-r--r--spec/source_spec.rb16
-rw-r--r--spec/spec_helper.rb35
-rw-r--r--spec/table_spec.rb43
-rw-r--r--spec/title_page_spec.rb4
-rw-r--r--spec/toc_spec.rb8
26 files changed, 206 insertions, 233 deletions
diff --git a/spec/admonition_spec.rb b/spec/admonition_spec.rb
index 670de98a..1d2d9422 100644
--- a/spec/admonition_spec.rb
+++ b/spec/admonition_spec.rb
@@ -167,7 +167,7 @@ describe 'Asciidoctor::PDF::Converter - Admonition' do
end
it 'should warn and fallback to admonition label if image icon cannot be resolved' do
- (expect {
+ (expect do
pdf = to_pdf <<~'EOS', attribute_overrides: { 'docdir' => fixtures_dir }, analyze: true
:icons: image
:iconsdir:
@@ -181,7 +181,7 @@ describe 'Asciidoctor::PDF::Converter - Admonition' do
note_text = (pdf.find_text 'NOTE')[0]
(expect note_text).not_to be_nil
(expect note_text[:font_name]).to include 'Bold'
- }).to log_message severity: :WARN, message: '~admonition icon not found or not readable'
+ end).to log_message severity: :WARN, message: '~admonition icon not found or not readable'
end
it 'should allow theme to specify icon for custom admonition type' do
@@ -199,10 +199,7 @@ describe 'Asciidoctor::PDF::Converter - Admonition' do
end
pdf_theme = {
- admonition_icon_question: {
- name: 'question-circle',
- size: 20,
- }
+ admonition_icon_question: { name: 'question-circle', size: 20 },
}
pdf = to_pdf <<~'EOS', pdf_theme: pdf_theme, extensions: extensions, analyze: true
diff --git a/spec/converter_spec.rb b/spec/converter_spec.rb
index 4c0ee9d0..c0dd85a2 100644
--- a/spec/converter_spec.rb
+++ b/spec/converter_spec.rb
@@ -55,10 +55,10 @@ describe Asciidoctor::PDF::Converter do
input_file = fixture_file 'book.adoc'
doc = Asciidoctor.load_file input_file, backend: 'pdf', safe: :safe, attributes: { 'reproducible' => '' }
converter = doc.converter
- pdf_1 = doc.convert.render
+ pdf1 = doc.convert.render
doc = Asciidoctor.load_file input_file, backend: 'pdf', safe: :safe, attributes: { 'reproducible' => '' }, converter: converter
- pdf_2 = doc.convert.render
- (expect pdf_1).to eql pdf_2
+ pdf2 = doc.convert.render
+ (expect pdf1).to eql pdf2
end
it 'should ensure data-uri attribute is set' do
@@ -143,9 +143,9 @@ describe Asciidoctor::PDF::Converter do
end
it 'should log error if theme cannot be found or loaded' do
- (expect {
+ (expect do
Asciidoctor.convert 'foo', backend: 'pdf', attributes: { 'pdf-theme' => 'foo' }
- }).to (raise_exception Errno::ENOENT) & (log_message severity: :ERROR, message: '~could not locate or load the built-in pdf theme `foo\'')
+ end).to (raise_exception Errno::ENOENT) & (log_message severity: :ERROR, message: '~could not locate or load the built-in pdf theme `foo\'')
end
it 'should not crash if theme does not specify any keys' do
diff --git a/spec/cover_page_spec.rb b/spec/cover_page_spec.rb
index 1bc41d59..9f796c88 100644
--- a/spec/cover_page_spec.rb
+++ b/spec/cover_page_spec.rb
@@ -47,14 +47,14 @@ describe 'Asciidoctor::PDF::Converter - Cover Page' do
it 'should not crash if front cover image is a URI and the allow-uri-read attribute is not set' do
pdf = nil
- (expect {
+ (expect do
pdf = to_pdf <<~'EOS', analyze: true
= Document Title
:front-cover-image: https://example.org/cover.svg
content
EOS
- }).to not_raise_exception & (log_message severity: :WARN, message: '~allow-uri-read is not enabled')
+ end).to not_raise_exception & (log_message severity: :WARN, message: '~allow-uri-read is not enabled')
(expect pdf.pages).to have_size 1
(expect pdf.find_text 'Document Title').to have_size 1
end
@@ -181,7 +181,7 @@ describe 'Asciidoctor::PDF::Converter - Cover Page' do
pdf = to_pdf input, analyze: :rect
rects = pdf.rectangles
(expect rects).to have_size 1
- (expect rects[0]).to eql({ point: [0.0, 0.0], width: 612.0, height: 792.0 })
+ (expect rects[0]).to eql point: [0.0, 0.0], width: 612.0, height: 792.0
pdf = to_pdf input, analyze: true
(expect pdf.pages).to have_size 2
diff --git a/spec/font_spec.rb b/spec/font_spec.rb
index 3111f33f..f8765bae 100644
--- a/spec/font_spec.rb
+++ b/spec/font_spec.rb
@@ -41,17 +41,17 @@ describe 'Asciidoctor::PDF::Converter - Font' do
context 'built-in (AFM)' do
it 'should warn if document contains glyph not supported by AFM font' do
- (expect {
+ (expect do
pdf = to_pdf 'α to ω', analyze: true, attribute_overrides: { 'pdf-theme' => 'base' }
not_glyph = ?\u00ac
text = pdf.text
(expect text).to have_size 1
(expect text[0][:string]).to eql %(#{not_glyph} to #{not_glyph})
- }).to log_message severity: :WARN, message: %(The following text could not be fully converted to the Windows-1252 character set:\n| α to ω)
+ end).to log_message severity: :WARN, message: %(The following text could not be fully converted to the Windows-1252 character set:\n| α to ω)
end
it 'should replace essential characters with suitable replacements to avoid warnings' do
- (expect {
+ (expect do
pdf = to_pdf <<~'EOS', pdf_theme: { base_font_family: 'Helvetica' }, analyze: true
:experimental:
@@ -66,7 +66,7 @@ describe 'Asciidoctor::PDF::Converter - Font' do
EOS
(expect pdf.find_text font_name: 'Helvetica').to have_size pdf.text.size
(expect pdf.lines).to eql [%(\u2022disc), '-circle', %(\u00b7square), 'nospace', 'button:[Save]']
- }).to not_log_message
+ end).to not_log_message
end
end
@@ -217,7 +217,7 @@ describe 'Asciidoctor::PDF::Converter - Font' do
it 'should resolve font size of inline element specified in rem' do
pdf_theme = {
base_font_size: 12,
- link_font_size: '0.75rem'
+ link_font_size: '0.75rem',
}
pdf = to_pdf 'https://asciidoctor.org[Asciidoctor]', pdf_theme: pdf_theme, analyze: true
linked_text = (pdf.find_text 'Asciidoctor')[0]
diff --git a/spec/footnote_spec.rb b/spec/footnote_spec.rb
index d359c515..f0dd6a11 100644
--- a/spec/footnote_spec.rb
+++ b/spec/footnote_spec.rb
@@ -53,7 +53,7 @@ describe 'Asciidoctor::PDF::Converter - Footnote' do
(expect text[2][:font_size]).to be < text[1][:font_size]
# footnote item
(expect (pdf.find_text 'Section B')[0][:order]).to be < (pdf.find_text '] More about that thing.')[0][:order]
- (expect (strings.slice(-3, 3)).join).to eql '[1] More about that thing.'
+ (expect strings.slice(-3, 3).join).to eql '[1] More about that thing.'
(expect text[-1][:page_number]).to eql 2
(expect text[-1][:font_size]).to eql 8
end
@@ -116,12 +116,12 @@ describe 'Asciidoctor::PDF::Converter - Footnote' do
text = pdf.text
p1 = (pdf.find_text %r/download/)[0]
- fn1 = (text.slice p1[:order], 3).reduce('') {|accum, it| accum += it[:string] }
+ fn1 = (text.slice p1[:order], 3).reduce('') {|accum, it| accum + it[:string] }
(expect fn1).to eql '[1]'
p2 = (pdf.find_text %r/support request/)[0]
- fn2 = (text.slice p2[:order], 3).reduce('') {|accum, it| accum += it[:string] }
+ fn2 = (text.slice p2[:order], 3).reduce('') {|accum, it| accum + it[:string] }
(expect fn2).to eql '[1]'
- f1 = (pdf.find_text font_size: 8).reduce('') {|accum, it| accum += it[:string] }
+ f1 = (pdf.find_text font_size: 8).reduce('') {|accum, it| accum + it[:string] }
(expect f1).to eql '[1] Only available if you have an active subscription.'
end
diff --git a/spec/formatted_text_formatter_spec.rb b/spec/formatted_text_formatter_spec.rb
index da6acd2c..d8a33f9e 100644
--- a/spec/formatted_text_formatter_spec.rb
+++ b/spec/formatted_text_formatter_spec.rb
@@ -42,11 +42,11 @@ describe Asciidoctor::PDF::FormattedText::Formatter do
end
it 'should ignore unknown named entities' do
- (expect {
+ (expect do
output = subject.format '&dagger;'
(expect output).to have_size 1
(expect output[0][:text]).to eql '&dagger;'
- }).to log_message severity: :ERROR, message: '~failed to parse formatted text'
+ end).to log_message severity: :ERROR, message: '~failed to parse formatted text'
end
it 'should decode decimal character references in link href' do
@@ -66,40 +66,40 @@ describe Asciidoctor::PDF::FormattedText::Formatter do
context 'integration' do
it 'should format constrained strong phrase' do
pdf = to_pdf '*strong*', analyze: true
- (expect pdf.text[0].values_at :string, :font_name).to eql ['strong', 'NotoSerif-Bold']
+ (expect pdf.text[0].values_at :string, :font_name).to eql %w(strong NotoSerif-Bold)
end
it 'should format unconstrained strong phrase' do
pdf = to_pdf '**super**nova', analyze: true
- (expect pdf.text[0].values_at :string, :font_name).to eql ['super', 'NotoSerif-Bold']
- (expect pdf.text[1].values_at :string, :font_name).to eql ['nova', 'NotoSerif']
+ (expect pdf.text[0].values_at :string, :font_name).to eql %w(super NotoSerif-Bold)
+ (expect pdf.text[1].values_at :string, :font_name).to eql %w(nova NotoSerif)
end
it 'should format constrained emphasis phrase' do
pdf = to_pdf '_emphasis_', analyze: true
- (expect pdf.text[0].values_at :string, :font_name).to eql ['emphasis', 'NotoSerif-Italic']
+ (expect pdf.text[0].values_at :string, :font_name).to eql %w(emphasis NotoSerif-Italic)
end
it 'should format unconstrained emphasis phrase' do
pdf = to_pdf '__un__cool', analyze: true
- (expect pdf.text[0].values_at :string, :font_name).to eql ['un', 'NotoSerif-Italic']
- (expect pdf.text[1].values_at :string, :font_name).to eql ['cool', 'NotoSerif']
+ (expect pdf.text[0].values_at :string, :font_name).to eql %w(un NotoSerif-Italic)
+ (expect pdf.text[1].values_at :string, :font_name).to eql %w(cool NotoSerif)
end
it 'should format constrained monospace phrase' do
pdf = to_pdf '`monospace`', analyze: true
- (expect pdf.text[0].values_at :string, :font_name).to eql ['monospace', 'mplus1mn-regular']
+ (expect pdf.text[0].values_at :string, :font_name).to eql %w(monospace mplus1mn-regular)
end
it 'should format unconstrained monospace phrase' do
pdf = to_pdf '``install``ed', analyze: true
- (expect pdf.text[0].values_at :string, :font_name).to eql ['install', 'mplus1mn-regular']
- (expect pdf.text[1].values_at :string, :font_name).to eql ['ed', 'NotoSerif']
+ (expect pdf.text[0].values_at :string, :font_name).to eql %w(install mplus1mn-regular)
+ (expect pdf.text[1].values_at :string, :font_name).to eql %w(ed NotoSerif)
end
it 'should format superscript phrase' do
pdf = to_pdf 'x^2^', analyze: true
- (expect pdf.strings).to eql ['x', '2']
+ (expect pdf.strings).to eql %w(x 2)
text = pdf.text
(expect text[0][:font_size]).to be > text[1][:font_size]
(expect text[0][:y]).to be < text[1][:y]
@@ -107,7 +107,7 @@ describe Asciidoctor::PDF::FormattedText::Formatter do
it 'should format subscript phrase' do
pdf = to_pdf 'O~2~', analyze: true
- (expect pdf.strings).to eql ['O', '2']
+ (expect pdf.strings).to eql %w(O 2)
text = pdf.text
(expect text[0][:font_size]).to be > text[1][:font_size]
(expect text[0][:y]).to be > text[1][:y]
@@ -488,7 +488,7 @@ describe Asciidoctor::PDF::FormattedText::Formatter do
role_variable_border_color: 'ED398A',
role_variable_border_offset: 1.25,
role_variable_border_radius: 2,
- role_variable_border_width: 1
+ role_variable_border_width: 1,
}
to_file = to_pdf_file '[.variable]#counter#', 'text-formatter-inline-role-bg.pdf', pdf_theme: pdf_theme
(expect to_file).to visually_match 'text-formatter-inline-role-bg.pdf'
diff --git a/spec/formatted_text_transform_spec.rb b/spec/formatted_text_transform_spec.rb
index d352050c..b656d6a7 100644
--- a/spec/formatted_text_transform_spec.rb
+++ b/spec/formatted_text_transform_spec.rb
@@ -85,7 +85,7 @@ describe Asciidoctor::PDF::FormattedText::Transform do
it 'should apply inherited styles' do
input = '<a href="https://asciidoctor.org">Asciidoctor</a>'
parsed = parser.parse input
- fragments = subject.apply parsed.content, [], { styles: [:bold].to_set }
+ fragments = subject.apply parsed.content, [], styles: [:bold].to_set
(expect fragments).to have_size 1
(expect fragments[0][:text]).to eql 'Asciidoctor'
(expect fragments[0][:styles].to_a).to eql [:bold]
@@ -94,7 +94,7 @@ describe Asciidoctor::PDF::FormattedText::Transform do
it 'should apply styles to inherited styles' do
input = 'Go <strong>get</strong> them!'
parsed = parser.parse input
- fragments = subject.apply parsed.content, [], { styles: [:italic].to_set }
+ fragments = subject.apply parsed.content, [], styles: [:italic].to_set
(expect fragments).to have_size 3
get_fragment = fragments.find {|it| it[:text] == 'get' }
(expect get_fragment[:styles].to_a.sort).to eql [:bold, :italic]
diff --git a/spec/hyphens_spec.rb b/spec/hyphens_spec.rb
index b3f76ec5..55062662 100644
--- a/spec/hyphens_spec.rb
+++ b/spec/hyphens_spec.rb
@@ -77,7 +77,7 @@ describe 'Asciidoctor::PDF::Converter - Hyphens' do
end
it 'should not mangle formatting when hyphenating text' do
- (expect {
+ (expect do
pdf = to_pdf <<~'EOS', analyze: true
:icons: font
:hyphens:
@@ -91,7 +91,7 @@ describe 'Asciidoctor::PDF::Converter - Hyphens' do
(expect lines[0].count ?\u00ad).to eql 1
(expect lines[0]).to include ?\uf780
(expect lines[0]).to include ?\uf1b0
- }).to not_log_message
+ end).to not_log_message
end
it 'should set hyphenation language based on value of hyphens attribute' do
diff --git a/spec/icon_spec.rb b/spec/icon_spec.rb
index 850bc6ee..563ea4cc 100644
--- a/spec/icon_spec.rb
+++ b/spec/icon_spec.rb
@@ -48,7 +48,7 @@ describe 'Asciidoctor::PDF::Converter - Icon' do
end
it 'should not support icon set as prefix on icon name if explicit icon set is specified' do
- (expect {
+ (expect do
pdf = to_pdf <<~'EOS', analyze: true
:icons: font
@@ -56,7 +56,7 @@ describe 'Asciidoctor::PDF::Converter - Icon' do
EOS
wink_text = pdf.find_text ?\uf0ad
(expect wink_text).to be_empty
- }).to log_message severity: :WARN, message: 'fas-wrench is not a valid icon name in the fab icon set'
+ end).to log_message severity: :WARN, message: 'fas-wrench is not a valid icon name in the fab icon set'
end
it 'should reserve 1em of space for fw icon' do
@@ -88,7 +88,7 @@ describe 'Asciidoctor::PDF::Converter - Icon' do
['icon:no-such-icon@fas[]', 'no such icon@fas'],
['icon:fas-no-such-icon[]', 'fas no such icon'],
].each do |macro, alt|
- (expect {
+ (expect do
pdf = to_pdf <<~EOS, analyze: true
:icons: font
@@ -97,12 +97,12 @@ describe 'Asciidoctor::PDF::Converter - Icon' do
text = pdf.text
(expect text).to have_size 1
(expect text[0][:string]).to eql %([#{alt}] will surely fail.)
- }).to log_message severity: :WARN, message: 'no-such-icon is not a valid icon name in the fas icon set'
+ end).to log_message severity: :WARN, message: 'no-such-icon is not a valid icon name in the fas icon set'
end
end
it 'should remap legacy icon name if icon set is not specified and report remapping' do
- (expect {
+ (expect do
pdf = to_pdf <<~'EOS', analyze: true
:icons: font
@@ -111,11 +111,11 @@ describe 'Asciidoctor::PDF::Converter - Icon' do
hdd_text = pdf.find_text ?\uf0a0
(expect hdd_text).to have_size 1
(expect hdd_text[0][:font_name]).to eql 'FontAwesome5Free-Regular'
- }).to log_message severity: :INFO, message: 'hdd-o icon found in deprecated fa icon set; using hdd from far icon set instead', using_log_level: :INFO
+ end).to log_message severity: :INFO, message: 'hdd-o icon found in deprecated fa icon set; using hdd from far icon set instead', using_log_level: :INFO
end
it 'should resolve non-legacy icon name if icon set is not specified and report icon set in which it was found' do
- (expect {
+ (expect do
pdf = to_pdf <<~'EOS', analyze: true
:icons: font
@@ -124,7 +124,7 @@ describe 'Asciidoctor::PDF::Converter - Icon' do
wink_text = pdf.find_text ?\uf4da
(expect wink_text).to have_size 1
(expect wink_text[0][:font_name]).to eql 'FontAwesome5Free-Regular'
- }).to log_message severity: :INFO, message: 'smile-wink icon not found in deprecated fa icon set; using match found in far icon set instead', using_log_level: :INFO
+ end).to log_message severity: :INFO, message: 'smile-wink icon not found in deprecated fa icon set; using match found in far icon set instead', using_log_level: :INFO
end
it 'should apply styles from role to icon' do
diff --git a/spec/image_spec.rb b/spec/image_spec.rb
index c9b2b62c..52c551e8 100644
--- a/spec/image_spec.rb
+++ b/spec/image_spec.rb
@@ -11,41 +11,41 @@ describe 'Asciidoctor::PDF::Converter - Image' do
end
it 'should replace block image with alt text if image is missing' do
- (expect {
+ (expect do
pdf = to_pdf 'image::no-such-image.png[Missing Image]', analyze: true
(expect pdf.lines).to eql ['[Missing Image] | no-such-image.png']
- }).to log_message severity: :WARN, message: '~image to embed not found or not readable'
+ end).to log_message severity: :WARN, message: '~image to embed not found or not readable'
end
it 'should be able to customize formatting of alt text using theme' do
pdf_theme = {
- image_alt_content: '%{alt} (%{target})'
+ image_alt_content: '%{alt} (%{target})', # rubocop:disable Style/FormatStringToken
}
- (expect {
+ (expect do
pdf = to_pdf 'image::no-such-image.png[Missing Image]', pdf_theme: pdf_theme, analyze: true
(expect pdf.lines).to eql ['Missing Image (no-such-image.png)']
- }).to log_message severity: :WARN, message: '~image to embed not found or not readable'
+ end).to log_message severity: :WARN, message: '~image to embed not found or not readable'
end
it 'should be able to customize formatting of alt text using theme' do
pdf_theme = {
- image_alt_content: '%{alt} (%{target})'
+ image_alt_content: '%{alt} (%{target})', # rubocop:disable Style/FormatStringToken
}
- (expect {
+ (expect do
pdf = to_pdf 'image::no-such-image.png[Missing Image]', pdf_theme: pdf_theme, analyze: true
(expect pdf.lines).to eql ['Missing Image (no-such-image.png)']
- }).to log_message severity: :WARN, message: '~image to embed not found or not readable'
+ end).to log_message severity: :WARN, message: '~image to embed not found or not readable'
end
- it 'should warn instead of crash if block image is unreadable' do
+ it 'wip should warn instead of crash if block image is unreadable' do
image_file = fixture_file 'logo.png'
old_mode = (File.stat image_file).mode
begin
- (expect {
- FileUtils.chmod 0000, image_file
+ (expect do
+ FileUtils.chmod 0o000, image_file
pdf = to_pdf 'image::logo.png[Unreadable Image]', analyze: true
(expect pdf.lines).to eql ['[Unreadable Image] | logo.png']
- }).to log_message severity: :WARN, message: '~image to embed not found or not readable'
+ end).to log_message severity: :WARN, message: '~image to embed not found or not readable'
ensure
FileUtils.chmod old_mode, image_file
end
@@ -60,10 +60,10 @@ describe 'Asciidoctor::PDF::Converter - Image' do
end
it 'should replace inline image with alt text if image is missing' do
- (expect {
+ (expect do
pdf = to_pdf 'You cannot see that which is image:not-there.png[not there].', analyze: true
(expect pdf.lines).to eql ['You cannot see that which is [not there].']
- }).to log_message severity: :WARN, message: '~image to embed not found or not readable'
+ end).to log_message severity: :WARN, message: '~image to embed not found or not readable'
end
it 'should respect value of imagesdir if changed mid-document' do
@@ -84,11 +84,11 @@ describe 'Asciidoctor::PDF::Converter - Image' do
image_file = fixture_file 'logo.png'
old_mode = (File.stat image_file).mode
begin
- (expect {
- FileUtils.chmod 0000, image_file
+ (expect do
+ FileUtils.chmod 0o000, image_file
pdf = to_pdf 'image:logo.png[Unreadable Image,16] Company Name', analyze: true
(expect pdf.lines).to eql ['[Unreadable Image] Company Name']
- }).to log_message severity: :WARN, message: '~image to embed not found or not readable'
+ end).to log_message severity: :WARN, message: '~image to embed not found or not readable'
ensure
FileUtils.chmod old_mode, image_file
end
@@ -124,9 +124,9 @@ describe 'Asciidoctor::PDF::Converter - Image' do
end
context 'Width' do
- subject {
+ subject do
asciidoctor_2_or_better? ? (Asciidoctor::Converter.create 'pdf') : (Asciidoctor::Converter::Factory.create 'pdf')
- }
+ end
it 'should resolve pdfwidth in % to pt' do
attrs = { 'pdfwidth' => '25%' }
@@ -370,20 +370,20 @@ describe 'Asciidoctor::PDF::Converter - Image' do
it 'should fail to embed interlaced PNG image with warning' do
{ '::' => '[Interlaced PNG] | interlaced.png', ':' => '[Interlaced PNG]' }.each do |macro_delim, alt_text|
- (expect {
+ (expect do
pdf = to_pdf %(image#{macro_delim}interlaced.png[Interlaced PNG]), analyze: true
(expect pdf.lines).to eql [alt_text]
- }).to log_message severity: :WARN, message: %(could not embed image: #{fixture_file 'interlaced.png'}; PNG uses unsupported interlace method; install prawn-gmagick gem to add support)
+ end).to log_message severity: :WARN, message: %(could not embed image: #{fixture_file 'interlaced.png'}; PNG uses unsupported interlace method; install prawn-gmagick gem to add support)
end
end
end
context 'BMP' do
it 'should warn and replace block image with alt text if image format is unsupported' do
- (expect {
+ (expect do
pdf = to_pdf 'image::waterfall.bmp[Waterfall,240]', analyze: true
(expect pdf.lines).to eql ['[Waterfall] | waterfall.bmp']
- }).to log_message severity: :WARN, message: '~could not embed image'
+ end).to log_message severity: :WARN, message: '~could not embed image'
end
end
@@ -498,10 +498,10 @@ describe 'Asciidoctor::PDF::Converter - Image' do
context 'allow-uri-read' do
it 'should warn if image is remote and allow-uri-read is not set' do
- (expect {
+ (expect do
pdf = to_pdf 'image::https://raw.githubusercontent.com/asciidoctor/asciidoctor-pdf/master/spec/fixtures/logo.png[Remote Image]', analyze: true
(expect pdf.lines).to eql ['[Remote Image] | https://raw.githubusercontent.com/asciidoctor/asciidoctor-pdf/master/spec/fixtures/logo.png']
- }).to log_message severity: :WARN, message: '~allow-uri-read is not enabled; cannot embed remote image'
+ end).to log_message severity: :WARN, message: '~allow-uri-read is not enabled; cannot embed remote image'
end
it 'should read remote image if allow-uri-read is set' do
@@ -512,10 +512,10 @@ describe 'Asciidoctor::PDF::Converter - Image' do
end
it 'should log warning if remote image cannot be fetched' do
- (expect {
+ (expect do
pdf = to_pdf 'image::http://example.org/no-such-image.png[No Such Image]', attribute_overrides: { 'allow-uri-read' => '' }, analyze: true
(expect pdf.lines).to eql ['[No Such Image] | http://example.org/no-such-image.png']
- }).to log_message severity: :WARN, message: '~could not retrieve remote image: http://example.org/no-such-image.png; 404 Not Found'
+ end).to log_message severity: :WARN, message: '~could not retrieve remote image: http://example.org/no-such-image.png; 404 Not Found'
end
it 'should use image format specified by format attribute' do
@@ -611,7 +611,7 @@ describe 'Asciidoctor::PDF::Converter - Image' do
end
it 'should use link in alt text if image is missing' do
- (expect {
+ (expect do
pdf = to_pdf 'image::no-such-image.png[Missing Image,link=https://example.org]'
text = (pdf.page 1).text
(expect text).to eql '[Missing Image] | no-such-image.png'
@@ -620,7 +620,7 @@ describe 'Asciidoctor::PDF::Converter - Image' do
link_annotation = annotations[0]
(expect link_annotation[:Subtype]).to eql :Link
(expect link_annotation[:A][:URI]).to eql 'https://example.org'
- }).to log_message severity: :WARN, message: '~image to embed not found or not readable'
+ end).to log_message severity: :WARN, message: '~image to embed not found or not readable'
end
it 'should add link around inline image if link attribute is set' do
diff --git a/spec/index_spec.rb b/spec/index_spec.rb
index a8706e1a..3917c035 100644
--- a/spec/index_spec.rb
+++ b/spec/index_spec.rb
@@ -216,7 +216,7 @@ describe 'Asciidoctor::PDF::Converter - Index' do
== Chapter B
((Asciidoctor)) is an AsciiDoc processor.
-
+
== Chapter C
If an element has an ((anchor)), you can link to it.
@@ -228,7 +228,7 @@ describe 'Asciidoctor::PDF::Converter - Index' do
index_pagenum = (pdf.find_text 'Index')[0][:page_number]
index_page_lines = pdf.lines pdf.find_text page_number: index_pagenum
terms = index_page_lines.select {|it| it.include? ',' }.map {|it| (it.split ',', 2)[0] }
- (expect terms).to eql ['anchor', 'AsciiDoc', 'Asciidoctor', 'authoring']
+ (expect terms).to eql %w(anchor AsciiDoc Asciidoctor authoring)
end
it 'should not combine range if same index entry occurs on sequential pages when media is screen' do
diff --git a/spec/link_spec.rb b/spec/link_spec.rb
index 5c424f34..94a385f0 100644
--- a/spec/link_spec.rb
+++ b/spec/link_spec.rb
@@ -61,7 +61,7 @@ describe 'Asciidoctor::PDF::Converter - Link' do
it 'should reveal URL of link when media=print or media=prepress' do
%w(print prepress).each do |media|
- pdf = to_pdf <<~'EOS', attribute_overrides: { 'media' => 'print' }, analyze: true
+ pdf = to_pdf <<~'EOS', attribute_overrides: { 'media' => media }, analyze: true
https://asciidoctor.org[Asciidoctor] is a text processor.
EOS
@@ -98,7 +98,7 @@ describe 'Asciidoctor::PDF::Converter - Link' do
lines = pdf.lines
(expect lines).to have_size 1
underline = lines[0]
- pdf = to_pdf input, pdf_theme: pdf_theme, analyze: :true
+ pdf = to_pdf input, pdf_theme: pdf_theme, analyze: true
link_text = (pdf.find_text 'https://asciidoctor.org')[0]
(expect link_text[:font_color]).to eql underline[:color]
(expect underline[:width]).to be_nil
diff --git a/spec/list_spec.rb b/spec/list_spec.rb
index 9cdb3ff1..83e49970 100644
--- a/spec/list_spec.rb
+++ b/spec/list_spec.rb
@@ -16,7 +16,7 @@ describe 'Asciidoctor::PDF::Converter - List' do
'◦level two',
'▪level three',
'▪level four',
- '•back to level one'
+ '•back to level one',
]
(expect pdf.lines).to eql expected_lines
@@ -807,7 +807,7 @@ describe 'Asciidoctor::PDF::Converter - List' do
'An implementation of the AsciiDoc processor in Ruby.',
'2.',
'What is the answer to the Ultimate Question?',
- '42'
+ '42',
]
end
@@ -948,7 +948,6 @@ describe 'Asciidoctor::PDF::Converter - List' do
context 'Bibliography' do
it 'should reference bibliography entry using ID in square brackets by default' do
-
pdf = to_pdf <<~EOS, analyze: true
The recommended reading includes <<bar>>.
diff --git a/spec/media_spec.rb b/spec/media_spec.rb
index 4aa2d92c..aae14488 100644
--- a/spec/media_spec.rb
+++ b/spec/media_spec.rb
@@ -34,7 +34,7 @@ describe 'Asciidoctor::PDF::Converter - media' do
(expect (pdf.page 1).text).to be_empty
(expect (pdf.page 3).text).to eql 'Document Title'
(expect (pdf.page 5).text).to eql 'Chapter Title'
- # TODO add helper method to get content stream for page
+ # TODO: add helper method to get content stream for page
title_page_contents = pdf.objects[(pdf.page 1).page_object[:Contents][0]].data
(expect (title_page_contents.split ?\n).slice 0, 3).to eql ['q', '/DeviceRGB cs', '0.0 0.0 1.0 scn']
end
diff --git a/spec/open_spec.rb b/spec/open_spec.rb
index bc3ffb55..8d0c16be 100644
--- a/spec/open_spec.rb
+++ b/spec/open_spec.rb
@@ -10,9 +10,9 @@ describe 'Asciidoctor::PDF::Converter - Open' do
[%unbreakable]
--
To install Antora, open a terminal and type:
-
+
$ npm i -g @antora/cli@2.2 @antora/site-generator-default@2.2
-
+
The `@` at the beginning of the package name is important.
It tells `npm` that the `cli` package is located in the `antora` group.
If you omit this character, `npm` will assume the package name is the name of a git repository on GitHub.
@@ -35,9 +35,9 @@ describe 'Asciidoctor::PDF::Converter - Open' do
[%unbreakable]
--
To install Antora, open a terminal and type:
-
+
$ npm i -g @antora/cli@2.2 @antora/site-generator-default@2.2
-
+
The `@` at the beginning of the package name is important.
It tells `npm` that the `cli` package is located in the `antora` group.
If you omit this character, `npm` will assume the package name is the name of a git repository on GitHub.
diff --git a/spec/optimizer_spec.rb b/spec/optimizer_spec.rb
index 47828d7e..b9249541 100644
--- a/spec/optimizer_spec.rb
+++ b/spec/optimizer_spec.rb
@@ -58,9 +58,9 @@ describe 'Asciidoctor::PDF::Optimizer' do
it 'should use default quality if specified quality is not recognized' do
input_file = Pathname.new example_file 'basic-example.adoc'
- (expect {
+ (expect do
to_pdf_file input_file, 'optimizer-fallback-quality.pdf', attribute_overrides: { 'optimize' => 'foobar' }
- }).to not_raise_exception
+ end).to not_raise_exception
end
it 'should optimize PDF passed to asciidoctor-pdf-optimizer CLI', cli: true do
diff --git a/spec/page_spec.rb b/spec/page_spec.rb
index d5b6ecf0..ab18c90e 100644
--- a/spec/page_spec.rb
+++ b/spec/page_spec.rb
@@ -277,14 +277,14 @@ describe 'Asciidoctor::PDF::Converter - Page' do
end
it 'should not crash if background image is a URI and the allow-uri-read attribute is not set' do
- (expect {
+ (expect do
to_pdf <<~'EOS'
= Document Title
:page-background-image: image:https://example.org/bg.svg[]
content
EOS
- }).to not_raise_exception & (log_message severity: :WARN, message: '~allow-uri-read is not enabled')
+ end).to not_raise_exception & (log_message severity: :WARN, message: '~allow-uri-read is not enabled')
end
it 'should set the background image using path specified in page-background-image attribute', visual: true do
diff --git a/spec/paragraph_spec.rb b/spec/paragraph_spec.rb
index c8b4aabc..0205957e 100644
--- a/spec/paragraph_spec.rb
+++ b/spec/paragraph_spec.rb
@@ -157,12 +157,12 @@ describe 'Asciidoctor::PDF::Converter - Paragraph' do
EOS
halfway_point = (pdf.page 1)[:size][0] * 0.5
- abstract_text_1 = pdf.find_text 'Enter stage right.'
- (expect abstract_text_1).to have_size 1
- (expect abstract_text_1[0][:x]).to be > halfway_point
- abstract_text_2 = pdf.find_text 'Mirror, stage left.'
- (expect abstract_text_2).to have_size 1
- (expect abstract_text_2[0][:x]).to be < halfway_point
+ abstract_text1 = pdf.find_text 'Enter stage right.'
+ (expect abstract_text1).to have_size 1
+ (expect abstract_text1[0][:x]).to be > halfway_point
+ abstract_text2 = pdf.find_text 'Mirror, stage left.'
+ (expect abstract_text2).to have_size 1
+ (expect abstract_text2[0][:x]).to be < halfway_point
end
it 'should apply same line height to all paragraphs in abstract' do
diff --git a/spec/pdf_info_spec.rb b/spec/pdf_info_spec.rb
index a338a48b..a55dac58 100644
--- a/spec/pdf_info_spec.rb
+++ b/spec/pdf_info_spec.rb
@@ -179,7 +179,7 @@ describe 'Asciidoctor::PDF::Converter - PDF Info' do
doctitle = 'Guide de démarrage rapide'
pdf = to_pdf %(= #{doctitle})
(expect pdf.info[:Title]).to eql doctitle
- encoded_doctitle = (pdf.objects[pdf.objects.trailer[:Info]])[:Title].unpack 'H*'
+ encoded_doctitle = pdf.objects[pdf.objects.trailer[:Info]][:Title].unpack 'H*'
(expect encoded_doctitle).to eql (doctitle.encode Encoding::UTF_16).unpack 'H*'
end
end
diff --git a/spec/running_content_spec.rb b/spec/running_content_spec.rb
index 9e6cf9e4..bfea377e 100644
--- a/spec/running_content_spec.rb
+++ b/spec/running_content_spec.rb
@@ -97,28 +97,28 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
(expect pdf.find_text %r/^\d+$/).to be_empty
end
- it 'should add footer if theme extends base and footer height is set' do
- pdf_theme = {
- extends: 'base',
- footer_height: 36,
- }
- pdf = to_pdf <<~'EOS', enable_footer: true, pdf_theme: pdf_theme, analyze: true
- = Document Title
- :doctype: book
-
- == Beginning
-
- == End
- EOS
-
- pagenum_1_text = (pdf.find_text '1')[0]
- pagenum_2_text = (pdf.find_text '2')[0]
- (expect pagenum_1_text).not_to be_nil
- (expect pagenum_1_text[:page_number]).to eql 2
- (expect pagenum_2_text).not_to be_nil
- (expect pagenum_2_text[:page_number]).to eql 3
- (expect pagenum_1_text[:x]).to be > pagenum_2_text[:x]
- end
+ it 'should add footer if theme extends base and footer height is set' do
+ pdf_theme = {
+ extends: 'base',
+ footer_height: 36,
+ }
+ pdf = to_pdf <<~'EOS', enable_footer: true, pdf_theme: pdf_theme, analyze: true
+ = Document Title
+ :doctype: book
+
+ == Beginning
+
+ == End
+ EOS
+
+ pagenum1_text = (pdf.find_text '1')[0]
+ pagenum2_text = (pdf.find_text '2')[0]
+ (expect pagenum1_text).not_to be_nil
+ (expect pagenum1_text[:page_number]).to eql 2
+ (expect pagenum2_text).not_to be_nil
+ (expect pagenum2_text[:page_number]).to eql 3
+ (expect pagenum1_text[:x]).to be > pagenum2_text[:x]
+ end
end
context 'Header' do
@@ -129,7 +129,7 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
header_line_height: 1,
header_padding: [6, 1, 0, 1],
header_recto_right_content: '({document-title})',
- header_verso_right_content: '({document-title})'
+ header_verso_right_content: '({document-title})',
}
pdf = to_pdf <<~'EOS', enable_footer: true, pdf_theme: (build_pdf_theme theme_overrides), analyze: true
@@ -163,7 +163,7 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
header_line_height: 1,
header_padding: [6, 1, 0, 1],
header_recto_right_content: '({document-title})',
- header_verso_right_content: '({document-title})'
+ header_verso_right_content: '({document-title})',
}
pdf = to_pdf <<~'EOS', enable_footer: true, attribute_overrides: { 'noheader' => '' }, pdf_theme: (build_pdf_theme theme_overrides), analyze: true
@@ -193,9 +193,8 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
== Third Chapter
EOS
- pgnum_labels = (1.upto pdf.pages.size).reduce([]) do |accum, page_number|
+ pgnum_labels = (1.upto pdf.pages.size).each_with_object([]) do |page_number, accum|
accum << (pdf.find_text page_number: page_number, y: 14.263)[-1][:string]
- accum
end
(expect pgnum_labels).to eq %w(i ii 1 2 3)
end
@@ -217,9 +216,8 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
EOS
(expect pdf.find_text page_number: 1).to be_empty
- pgnum_labels = (2.upto pdf.pages.size).reduce([]) do |accum, page_number|
+ pgnum_labels = (2.upto pdf.pages.size).each_with_object([]) do |page_number, accum|
accum << (pdf.find_text page_number: page_number, y: 14.263)[-1][:string]
- accum
end
(expect pgnum_labels).to eq %w(ii iii 1 2 3)
end
@@ -240,9 +238,8 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
== Third Chapter
EOS
- pgnum_labels = (1.upto pdf.pages.size).reduce([]) do |accum, page_number|
+ pgnum_labels = (1.upto pdf.pages.size).each_with_object([]) do |page_number, accum|
accum << (pdf.find_text page_number: page_number, y: 14.263)[-1][:string]
- accum
end
(expect pgnum_labels).to eq %w(i 1 2 3)
end
@@ -262,9 +259,8 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
== Third Chapter
EOS
- pgnum_labels = (1.upto pdf.pages.size).reduce([]) do |accum, page_number|
+ pgnum_labels = (1.upto pdf.pages.size).each_with_object([]) do |page_number, accum|
accum << (pdf.find_text page_number: page_number, y: 14.263)[-1][:string]
- accum
end
(expect pgnum_labels).to eq %w(1 2 3)
end
@@ -284,9 +280,8 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
== Third Chapter
EOS
- pgnum_labels = (1.upto pdf.pages.size).reduce([]) do |accum, page_number|
+ pgnum_labels = (1.upto pdf.pages.size).each_with_object([]) do |page_number, accum|
accum << ((pdf.find_text page_number: page_number, y: 14.263)[-1] || {})[:string]
- accum
end
(expect pgnum_labels).to eq [nil, 'ii', '1', '2', '3']
end
@@ -307,9 +302,8 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
== Third Chapter
EOS
- pgnum_labels = (1.upto pdf.pages.size).reduce([]) do |accum, page_number|
+ pgnum_labels = (1.upto pdf.pages.size).each_with_object([]) do |page_number, accum|
accum << ((pdf.find_text page_number: page_number, y: 14.263)[-1] || {})[:string]
- accum
end
(expect pgnum_labels).to eq %w(i 1 2 3)
end
@@ -328,9 +322,8 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
== Third Chapter
EOS
- pgnum_labels = (1.upto pdf.pages.size).reduce([]) do |accum, page_number|
+ pgnum_labels = (1.upto pdf.pages.size).each_with_object([]) do |page_number, accum|
accum << ((pdf.find_text page_number: page_number, y: 14.263)[-1] || {})[:string]
- accum
end
(expect pgnum_labels).to eq [nil, '1', '2', '3']
end
@@ -350,9 +343,8 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
== Third Chapter
EOS
- pgnum_labels = (1.upto pdf.pages.size).reduce([]) do |accum, page_number|
+ pgnum_labels = (1.upto pdf.pages.size).each_with_object([]) do |page_number, accum|
accum << (pdf.find_text page_number: page_number, y: 14.263)[-1][:string]
- accum
end
(expect pgnum_labels).to eq %w(1 2 3)
end
@@ -372,9 +364,8 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
== Third Chapter
EOS
- pgnum_labels = (1.upto pdf.pages.size).reduce([]) do |accum, page_number|
+ pgnum_labels = (1.upto pdf.pages.size).each_with_object([]) do |page_number, accum|
accum << (pdf.find_text page_number: page_number, y: 14.263)[-1][:string]
- accum
end
(expect pgnum_labels).to eq %w(i 1 2 3)
end
@@ -394,9 +385,8 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
== Third Chapter
EOS
- pgnum_labels = (1.upto pdf.pages.size).reduce([]) do |accum, page_number|
+ pgnum_labels = (1.upto pdf.pages.size).each_with_object([]) do |page_number, accum|
accum << (pdf.find_text page_number: page_number, y: 14.263)[-1][:string]
- accum
end
(expect pgnum_labels).to eq %w(1 2 3 4 5)
end
@@ -417,9 +407,8 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
== Third Chapter
EOS
- pgnum_labels = (1.upto pdf.pages.size).reduce([]) do |accum, page_number|
+ pgnum_labels = (1.upto pdf.pages.size).each_with_object([]) do |page_number, accum|
accum << (pdf.find_text page_number: page_number, y: 14.263)[-1][:string]
- accum
end
(expect pgnum_labels).to eq %w(1 2 3 4)
end
@@ -439,9 +428,8 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
== Third Chapter
EOS
- pgnum_labels = (1.upto pdf.pages.size).reduce([]) do |accum, page_number|
+ pgnum_labels = (1.upto pdf.pages.size).each_with_object([]) do |page_number, accum|
accum << (pdf.find_text page_number: page_number, y: 14.263)[-1][:string]
- accum
end
(expect pgnum_labels).to eq %w(1 2 3)
end
@@ -461,9 +449,8 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
== Third Chapter
EOS
- pgnum_labels = (1.upto pdf.pages.size).reduce([]) do |accum, page_number|
+ pgnum_labels = (1.upto pdf.pages.size).each_with_object([]) do |page_number, accum|
accum << (pdf.find_text page_number: page_number, y: 14.263)[-1][:string]
- accum
end
(expect pgnum_labels).to eq %w(i 1 2 3 4)
end
@@ -484,9 +471,8 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
== Third Chapter
EOS
- pgnum_labels = (1.upto pdf.pages.size).reduce([]) do |accum, page_number|
+ pgnum_labels = (1.upto pdf.pages.size).each_with_object([]) do |page_number, accum|
accum << (pdf.find_text page_number: page_number, y: 14.263)[-1][:string]
- accum
end
(expect pgnum_labels).to eq %w(1 2 3 4)
end
@@ -612,7 +598,7 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
header_line_height: 1,
header_padding: 5,
header_recto_right_content: '{page-number}',
- header_verso_left_content: '{page-number}'
+ header_verso_left_content: '{page-number}',
}
pdf = to_pdf <<~'EOS', pdf_theme: (build_pdf_theme theme_overrides), analyze: true
@@ -859,7 +845,7 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
== Chapter
- #{40.times.map {|it| %(=== Section #{it + 1})}.join %(\n\n)}
+ #{40.times.map {|it| %(=== Section #{it + 1}) }.join %(\n\n)}
EOS
(expect pdf.find_text page_number: 4, string: 'Chapter').to have_size 1
@@ -964,7 +950,7 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
footer_verso_left_content: '({doctitle})',
}
- (expect {
+ (expect do
pdf = to_pdf <<~'EOS', enable_footer: true, attribute_overrides: { 'doctitle' => 'The Chronicles of <Foo> & &#166;' }, pdf_theme: (build_pdf_theme theme_overrides), analyze: true
:doctype: book
@@ -975,7 +961,7 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
running_text = pdf.find_text %(The Chronicles of <Foo> & \u00a6)
(expect running_text).to have_size 1
- }).to not_log_message
+ end).to not_log_message
end
it 'should set document-title and document-subtitle based on doctitle' do
@@ -1034,9 +1020,8 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
EOS
footer_y = (pdf.find_text 'FOOTER')[0][:y]
- titles_by_page = (pdf.find_text y: footer_y).reduce({}) do |accum, it|
+ titles_by_page = (pdf.find_text y: footer_y).each_with_object({}) do |it, accum|
accum[it[:page_number]] = it[:string] unless it[:string] == 'FOOTER'
- accum
end
(expect titles_by_page[2]).to eql '[Part I||]'
(expect titles_by_page[3]).to eql '[Part I|Chapter A|Detail]'
@@ -1306,7 +1291,7 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
EOS
expected_running_content_by_page = { 1 => 'Document Title', 2 => 'Table of Contents', 3 => 'Preface', 4 => 'Chapter 1' }
- running_content_by_page = (pdf.find_text y: 14.263).reduce({}) {|accum, text| accum[text[:page_number]] = text[:string]; accum }
+ running_content_by_page = (pdf.find_text y: 14.263).each_with_object({}) {|text, accum| accum[text[:page_number]] = text[:string] }
(expect running_content_by_page).to eql expected_running_content_by_page
end
@@ -1332,7 +1317,7 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
[nil, 'Chapter 1. Beginning'],
['document', 'Chapter 1. Beginning'],
['toc', '1. Beginning'],
- ['basic', 'Beginning'],
+ %w(basic Beginning),
].each do |(title_style, expected_title)|
pdf_theme = pdf_theme.merge footer_title_style: title_style if title_style
pdf = to_pdf input, pdf_theme: pdf_theme, enable_footer: true, analyze: true
@@ -1347,7 +1332,7 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
pdf_theme = {
footer_columns: '>50% <50%',
footer_recto_left_content: %(image:#{fixture_file 'tux.png'}[fit=contain]),
- footer_recto_right_content: %(image:#{fixture_file 'tux.png'}[fit=contain])
+ footer_recto_right_content: %(image:#{fixture_file 'tux.png'}[fit=contain]),
}
to_file = to_pdf_file 'body', 'running-content-image-alignment.pdf', pdf_theme: pdf_theme, enable_footer: true
@@ -1518,7 +1503,7 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
it 'should warn and replace image with alt text if image is not found' do
[true, false].each do |block|
- (expect {
+ (expect do
pdf_theme = build_pdf_theme \
header_height: 36,
header_recto_columns: '=100%',
@@ -1528,7 +1513,7 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
alt_text = pdf.find_text '[alt text]'
(expect alt_text).to have_size 1
- }).to log_message severity: :WARN, message: %r(image to embed not found or not readable.*data/themes/no-such-image\.png$)
+ end).to log_message severity: :WARN, message: %r(image to embed not found or not readable.*data/themes/no-such-image\.png$)
end
end
diff --git a/spec/section_spec.rb b/spec/section_spec.rb
index 79ff2c86..57346bb1 100644
--- a/spec/section_spec.rb
+++ b/spec/section_spec.rb
@@ -494,10 +494,10 @@ describe 'Asciidoctor::PDF::Converter - Section' do
== Chapter in Part II
EOS
- part_1_text = (pdf.find_text 'Part I')[0]
- part_2_text = (pdf.find_text 'Part II')[0]
- (expect part_1_text[:page_number]).to eql 2
- (expect part_2_text[:page_number]).to eql 2
+ part1_text = (pdf.find_text 'Part I')[0]
+ part2_text = (pdf.find_text 'Part II')[0]
+ (expect part1_text[:page_number]).to eql 2
+ (expect part2_text[:page_number]).to eql 2
end
it 'should add break after part if heading-part-break-after key in theme is always' do
@@ -516,14 +516,14 @@ describe 'Asciidoctor::PDF::Converter - Section' do
== Chapter in Part II
EOS
- part_1_text = (pdf.find_text 'Part I')[0]
- part_2_text = (pdf.find_text 'Part II')[0]
- chapter_1_text = (pdf.find_text 'Chapter in Part I')[0]
- chapter_2_text = (pdf.find_text 'Another Chapter in Part I')[0]
- (expect part_1_text[:page_number]).to eql 2
- (expect chapter_1_text[:page_number]).to eql 3
- (expect chapter_2_text[:page_number]).to eql 3
- (expect part_2_text[:page_number]).to eql 4
+ part1_text = (pdf.find_text 'Part I')[0]
+ part2_text = (pdf.find_text 'Part II')[0]
+ chapter1_text = (pdf.find_text 'Chapter in Part I')[0]
+ chapter2_text = (pdf.find_text 'Another Chapter in Part I')[0]
+ (expect part1_text[:page_number]).to eql 2
+ (expect chapter1_text[:page_number]).to eql 3
+ (expect chapter2_text[:page_number]).to eql 3
+ (expect part2_text[:page_number]).to eql 4
end
context 'Section indent' do
diff --git a/spec/source_spec.rb b/spec/source_spec.rb
index 33358d54..faf54c73 100644
--- a/spec/source_spec.rb
+++ b/spec/source_spec.rb
@@ -111,7 +111,7 @@ describe 'Asciidoctor::PDF::Converter - Source' do
end
it 'should not crash if source-highlighter attribute is defined outside of document header' do
- (expect {
+ (expect do
to_pdf <<~'EOS'
= Document Title
@@ -122,7 +122,7 @@ describe 'Asciidoctor::PDF::Converter - Source' do
puts 'yo, world!'
----
EOS
- }).not_to raise_exception
+ end).not_to raise_exception
end
end
@@ -144,7 +144,7 @@ describe 'Asciidoctor::PDF::Converter - Source' do
end
it 'should not crash if source-highlighter attribute is defined outside of document header' do
- (expect {
+ (expect do
to_pdf <<~'EOS'
= Document Title
@@ -155,7 +155,7 @@ describe 'Asciidoctor::PDF::Converter - Source' do
puts 'yo, world!'
----
EOS
- }).not_to raise_exception
+ end).not_to raise_exception
end
it 'should expand tabs to preserve indentation' do
@@ -195,7 +195,7 @@ describe 'Asciidoctor::PDF::Converter - Source' do
end
it 'should not crash when adding indentation guards' do
- (expect {
+ (expect do
pdf = to_pdf <<~EOS, analyze: true
:source-highlighter: pygments
@@ -210,7 +210,7 @@ describe 'Asciidoctor::PDF::Converter - Source' do
(expect pdf.find_text %(\u00a0 hash:)).to have_size 1
(expect pdf.find_text %(\u00a0 key: )).to have_size 1
(expect pdf.find_text '"value"').to have_size 1
- }).not_to raise_exception
+ end).not_to raise_exception
end
it 'should expand tabs to preserve indentation' do
@@ -232,7 +232,7 @@ describe 'Asciidoctor::PDF::Converter - Source' do
end
it 'should not crash when aligning line numbers' do
- (expect {
+ (expect do
to_pdf <<~'EOS'
:source-highlighter: pygments
@@ -251,7 +251,7 @@ describe 'Asciidoctor::PDF::Converter - Source' do
</urlset>
----
EOS
- }).not_to raise_exception
+ end).not_to raise_exception
end
it 'should preserve space before callout on last line' do
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index 1e1b31f2..dcebd3a8 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -84,11 +84,10 @@ class EnhancedPDFTextInspector < PDF::Inspector
def lines text = @text
prev_y = nil
- text.reduce [] do |accum, it|
+ text.each_with_object [] do |it, accum|
current_line = prev_y && (prev_y - it[:y]).abs < 6 ? accum.pop : ''
accum << %(#{current_line}#{it[:string]})
prev_y = it[:y]
- accum
end
end
@@ -108,18 +107,18 @@ class EnhancedPDFTextInspector < PDF::Inspector
end
# Tf
- def set_text_font_and_size *params
+ def set_text_font_and_size *params # rubocop:disable Naming/AccessorMethodName
@state.set_text_font_and_size(*params)
@font_settings = { name: @fonts[params[0]], size: params[1], color: @color }
end
# scn (used for font color in SVG)
- def set_color_for_nonstroking_and_special *params
+ def set_color_for_nonstroking_and_special *params # rubocop:disable Naming/AccessorMethodName
@color = params.map {|it| '%02X' % (it.to_f * 255).round }.join
end
# SCN
- def set_color_for_stroking_and_special *params
+ def set_color_for_stroking_and_special *params # rubocop:disable Naming/AccessorMethodName
@color = params.map {|it| '%02X' % (it.to_f * 255).round }.join
end
@@ -161,13 +160,12 @@ class ImageInspector < PDF::Inspector
def page= page
@page_number = page.number
- @image_xobjects = page.xobjects.reduce({}) do |accum, (name, xobject)|
+ @image_xobjects = page.xobjects.each_with_object({}) do |(name, xobject), accum|
accum[name] = xobject if xobject.hash[:Subtype] == :Image
- accum
end
end
- def concatenate_matrix width, p2, p3, height, x, y
+ def concatenate_matrix width, _p2, _p3, height, x, y
@width = width
@height = height
@x = x
@@ -214,33 +212,30 @@ class LineInspector < PDF::Inspector
end
# SCN
- def set_color_for_stroking_and_special *params
+ def set_color_for_stroking_and_special *params # rubocop:disable Naming/AccessorMethodName
@color = params.map {|it| '%02X' % (it.to_f * 255).round }.join
end
# gs
- def set_graphics_state_parameters ref
+ def set_graphics_state_parameters ref # rubocop:disable Naming/AccessorMethodName
if (opacity = @graphic_states[ref][:ca])
@color += '%02X' % (opacity * 255).round
end
end
# w
- def set_line_width line_width
+ def set_line_width line_width # rubocop:disable Naming/AccessorMethodName
@width = line_width
end
end
RSpec.configure do |config|
-
config.before :suite do
FileUtils.mkdir_p output_dir
end
config.after :suite do
- unless (ENV.key? 'DEBUG') || config.reporter.failed_examples.find {|it| it.metadata[:visual] }
- FileUtils.rm_r output_dir, force: true, secure: true
- end
+ FileUtils.rm_r output_dir, force: true, secure: true unless (ENV.key? 'DEBUG') || config.reporter.failed_examples.find {|it| it.metadata[:visual] }
end
def asciidoctor_2_or_better?
@@ -397,7 +392,7 @@ RSpec.configure do |config|
def get_page_labels pdf
objects = pdf.objects
- Hash[*objects[pdf.catalog[:PageLabels]][:Nums]].reduce([]) {|accum, (idx, val)| accum[idx] = val[:P]; accum }
+ Hash[*objects[pdf.catalog[:PageLabels]][:Nums]].each_with_object([]) {|(idx, val), accum| accum[idx] = val[:P] }
end
def get_annotations pdf, page_num = nil
@@ -405,7 +400,7 @@ RSpec.configure do |config|
if page_num
(pdf.page page_num).attributes[:Annots].to_a.map {|ref| objects[ref] }
else
- pdf.pages.reduce([]) {|accum, page| page.attributes[:Annots].to_a.each {|ref| accum << objects[ref] }; accum }
+ pdf.pages.each_with_object([]) {|page, accum| page.attributes[:Annots].to_a.each {|ref| accum << objects[ref] } }
end
end
@@ -413,7 +408,7 @@ RSpec.configure do |config|
if page_num
(pdf.page page_num).xobjects.select {|_, candidate| candidate.hash[:Subtype] == :Image }.values
else
- pdf.pages.reduce([]) {|accum, page| page.xobjects.each {|_, candidate| candidate.hash[:Subtype] == :Image ? (accum << candidate) : accum }; accum }
+ pdf.pages.each_with_object([]) {|page, accum| page.xobjects.each {|_, candidate| candidate.hash[:Subtype] == :Image ? (accum << candidate) : accum } }
end
end
@@ -473,11 +468,11 @@ RSpec.configure do |config|
actual_image.height.times do |y|
actual_image.row(y).each_with_index do |pixel, x|
- diff << [x,y] unless pixel == reference_image[x,y]
+ diff << [x, y] unless pixel == reference_image[x, y]
end
end
- if diff.length > 0 && difference
+ if !diff.empty? && difference
x = diff.map {|xy| xy[0] }
y = diff.map {|xy| xy[1] }
actual_image.rect x.min, y.min, x.max, y.max, (ChunkyPNG::Color.rgb 0, 255, 0)
diff --git a/spec/table_spec.rb b/spec/table_spec.rb
index 9bf465dd..a8e8ee25 100644
--- a/spec/table_spec.rb
+++ b/spec/table_spec.rb
@@ -203,7 +203,7 @@ describe 'Asciidoctor::PDF::Converter - Table' do
end
it 'should use value of cellbgcolor attribute in table cell to override background color set by theme', visual: true do
- to_file = to_pdf_file <<~'EOS','table-cellbgcolor-override.pdf', pdf_theme: { table_body_background_color: 'CCCCCC' }
+ to_file = to_pdf_file <<~'EOS', 'table-cellbgcolor-override.pdf', pdf_theme: { table_body_background_color: 'CCCCCC' }
:attribute-undefined: drop
[%autowidth,cols=3*]
@@ -220,14 +220,14 @@ describe 'Asciidoctor::PDF::Converter - Table' do
context 'Dimensions' do
it 'should throw exception if no width is assigned to column' do
- (expect {
+ (expect do
to_pdf <<~'EOS'
[cols=",50%,50%"]
|===
| Column A | Column B | Column C
|===
EOS
- }).to raise_exception ::Prawn::Errors::CannotFit
+ end).to raise_exception ::Prawn::Errors::CannotFit
end
it 'should not fail to fit text in cell' do
@@ -446,15 +446,15 @@ describe 'Asciidoctor::PDF::Converter - Table' do
it 'should not split cells in head row across pages' do
hard_line_break = %( +\n)
filler = (['filler'] * 40).join hard_line_break
- head_cell_1 = %w(this is a very tall cell in the head row of this table).join hard_line_break
- head_cell_2 = %w(this is an even taller cell also in the head row of this table).join hard_line_break
+ head_cell1 = %w(this is a very tall cell in the head row of this table).join hard_line_break
+ head_cell2 = %w(this is an even taller cell also in the head row of this table).join hard_line_break
pdf = to_pdf <<~EOS, analyze: true
#{filler}
[%header,cols=2*]
|===
- |#{head_cell_1}
- |#{head_cell_2}
+ |#{head_cell1}
+ |#{head_cell2}
|body cell
|body cell
@@ -485,15 +485,15 @@ describe 'Asciidoctor::PDF::Converter - Table' do
|===
EOS
- cell_1_text = pdf.find_text 'all one line'
- (expect cell_1_text).not_to be_empty
- cell_2_text = pdf.find_text %r/^line (?:1|2)/
- (expect cell_2_text).to have_size 2
- (expect cell_2_text[0][:y]).to be > cell_2_text[1][:y]
- cell_3_text = pdf.find_text %r/^paragraph (?:1|2)/
- (expect cell_3_text).to have_size 2
- (expect cell_3_text[0][:y]).to be > cell_3_text[1][:y]
- (expect cell_3_text[0][:y] - cell_3_text[1][:y]).to be > (cell_2_text[0][:y] - cell_2_text[1][:y])
+ cell1_text = pdf.find_text 'all one line'
+ (expect cell1_text).not_to be_empty
+ cell2_text = pdf.find_text %r/^line (?:1|2)/
+ (expect cell2_text).to have_size 2
+ (expect cell2_text[0][:y]).to be > cell2_text[1][:y]
+ cell3_text = pdf.find_text %r/^paragraph (?:1|2)/
+ (expect cell3_text).to have_size 2
+ (expect cell3_text[0][:y]).to be > cell3_text[1][:y]
+ (expect cell3_text[0][:y] - cell3_text[1][:y]).to be > (cell2_text[0][:y] - cell2_text[1][:y])
end
it 'should normalize newlines and whitespace' do
@@ -535,9 +535,8 @@ describe 'Asciidoctor::PDF::Converter - Table' do
|===
EOS
- lines_by_page = pdf.lines.reduce ::Hash.new do |accum, line|
+ lines_by_page = pdf.lines.each_with_object ::Hash.new do |line, accum|
(accum[line.delete :page_number] ||= []) << line
- accum
end
(expect lines_by_page[1]).to have_size 4
(2..3).each do |rownum|
@@ -636,10 +635,10 @@ describe 'Asciidoctor::PDF::Converter - Table' do
(expect pdf.lines.find {|l| l.include? '!' }).to be_nil
(expect pdf.lines).to have_size 2
(expect pdf.lines[1]).to eql 'Nested table cell 1Nested table cell 2'
- nested_cell_1 = (pdf.find_text 'Nested table cell 1')[0]
- nested_cell_2 = (pdf.find_text 'Nested table cell 2')[0]
- (expect nested_cell_1[:y]).to eql nested_cell_2[:y]
- (expect nested_cell_1[:x]).to be < nested_cell_2[:x]
+ nested_cell1 = (pdf.find_text 'Nested table cell 1')[0]
+ nested_cell2 = (pdf.find_text 'Nested table cell 2')[0]
+ (expect nested_cell1[:y]).to eql nested_cell2[:y]
+ (expect nested_cell1[:x]).to be < nested_cell2[:x]
end
it 'should not fail to fit content in table cell and create blank page when margin bottom is 0' do
diff --git a/spec/title_page_spec.rb b/spec/title_page_spec.rb
index a1675d55..9961d4dd 100644
--- a/spec/title_page_spec.rb
+++ b/spec/title_page_spec.rb
@@ -44,7 +44,7 @@ describe 'Asciidoctor::PDF::Converter - Title Page' do
body
EOS
- title_page_lines = pdf.lines(pdf.find_text page_number: 1)
+ title_page_lines = pdf.lines pdf.find_text page_number: 1
(expect title_page_lines).to eql ['Document Title', 'Doc Writer, Junior Writer']
end
@@ -321,7 +321,7 @@ describe 'Asciidoctor::PDF::Converter - Title Page' do
body
EOS
- title_page_lines = pdf.lines(pdf.find_text page_number: 1)
+ title_page_lines = pdf.lines pdf.find_text page_number: 1
(expect title_page_lines).to include %(Doc Writer \uf099)
end
diff --git a/spec/toc_spec.rb b/spec/toc_spec.rb
index 2e733231..c791b548 100644
--- a/spec/toc_spec.rb
+++ b/spec/toc_spec.rb
@@ -82,9 +82,7 @@ describe 'Asciidoctor::PDF::Converter - TOC' do
end
(expect pdf.pages[1][:strings]).to include 'Chapter 1'
(expect pdf.pages[1][:strings]).to include '2'
- if attrs.include? 'preface-title'
- (expect pdf.pages[2][:strings]).to include 'Preface'
- end
+ (expect pdf.pages[2][:strings]).to include 'Preface' if attrs.include? 'preface-title'
(expect pdf.pages[2][:strings]).to include 'This is the preface.'
(expect pdf.pages[3][:strings]).to include 'Chapter 1'
end
@@ -582,8 +580,8 @@ describe 'Asciidoctor::PDF::Converter - TOC' do
== Get Started _Quickly_
EOS
- get_started_text = (pdf.find_text page_number: 2, string: %r/^Get Started/)[0]
- quickly_text = (pdf.find_text page_number: 2, string: 'Quickly')[0]
+ get_started_text = (pdf.find_text page_number: 2, string: /^Get Started/)[0]
+ quickly_text = (pdf.find_text page_number: 2, string: 'Quickly')[0]
(expect get_started_text[:font_name]).to eql 'NotoSerif-Bold'
(expect quickly_text[:font_name]).to eql 'NotoSerif-Italic'
end