blob: 39b8f4a894743a9ee720ea38af26685451c40afe (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
require_relative 'spec_helper'
describe 'Asciidoctor::PDF::Converter - Example' do
it 'should keep block together if it can fit on one page' do
pdf = to_pdf <<~EOS, analyze: true
#{(['filler'] * 15).join %(\n\n)}
====
#{(['content'] * 15).join %(\n\n)}
====
EOS
example_text = (pdf.find_text 'content')[0]
(expect example_text[:page_number]).to eql 2
end
it 'should keep title with content when block is advanced to next page' do
pdf = to_pdf <<~EOS, analyze: true
#{(['filler'] * 15).join %(\n\n)}
.Title
====
#{(['content'] * 15).join %(\n\n)}
====
EOS
example_title_text = (pdf.find_text 'Example 1. Title')[0]
example_content_text = (pdf.find_text 'content')[0]
(expect example_title_text[:page_number]).to eql 2
(expect example_content_text[:page_number]).to eql 2
end
it 'should split block if it cannot fit on one page' do
pdf = to_pdf <<~EOS, analyze: true
.Title
====
#{(['content'] * 30).join %(\n\n)}
====
EOS
example_title_text = (pdf.find_text 'Example 1. Title')[0]
example_content_text = (pdf.find_text 'content')
(expect example_title_text[:page_number]).to eql 1
(expect example_content_text[0][:page_number]).to eql 1
(expect example_content_text[-1][:page_number]).to eql 2
end
it 'should split border when block is split across pages', integration: true do
to_file = to_pdf_file <<~EOS, 'example-page-split.pdf'
.Title
====
#{(['content'] * 30).join %(\n\n)}
====
EOS
(expect to_file).to visually_match 'example-page-split.pdf'
end
it 'should not add signifier and numeral to caption if example-caption attribute is unset' do
pdf = to_pdf <<~'EOS', analyze: true
:!example-caption:
.Title
====
content
====
EOS
(expect pdf.lines[0]).to eql 'Title'
end
it 'should allow theme to override caption for example blocks' do
pdf_theme = {
caption_font_color: '0000ff',
example_caption_font_style: 'bold',
}
pdf = to_pdf <<~'EOS', pdf_theme: pdf_theme, analyze: true
.Title
====
content
====
EOS
title_text = (pdf.find_text 'Example 1. Title')[0]
(expect title_text[:font_color]).to eql '0000FF'
(expect title_text[:font_name]).to eql 'NotoSerif-Bold'
end
end
|