jekyll-minibundle 3.0.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +78 -66
- data/README.md +117 -101
- data/Rakefile +8 -26
- data/jekyll-minibundle.gemspec +5 -11
- data/lib/jekyll/minibundle/asset_bundle.rb +1 -1
- data/lib/jekyll/minibundle/asset_file_drop.rb +1 -3
- data/lib/jekyll/minibundle/asset_file_registry.rb +2 -2
- data/lib/jekyll/minibundle/asset_tag_markup.rb +1 -1
- data/lib/jekyll/minibundle/bundle_file.rb +3 -0
- data/lib/jekyll/minibundle/development_file.rb +2 -0
- data/lib/jekyll/minibundle/hashes.rb +1 -3
- data/lib/jekyll/minibundle/stamp_file.rb +3 -0
- data/lib/jekyll/minibundle/variable_template.rb +3 -1
- data/lib/jekyll/minibundle/variable_template_registry.rb +2 -2
- data/lib/jekyll/minibundle/version.rb +1 -1
- metadata +8 -184
- data/test/fixture/site/_assets/scripts/app.js +0 -5
- data/test/fixture/site/_assets/scripts/dependency.js +0 -4
- data/test/fixture/site/_assets/styles/common.css +0 -2
- data/test/fixture/site/_assets/styles/reset.css +0 -2
- data/test/fixture/site/_bin/remove_comments +0 -4
- data/test/fixture/site/_bin/with_count +0 -15
- data/test/fixture/site/_config.yml +0 -3
- data/test/fixture/site/_layouts/default.html +0 -29
- data/test/fixture/site/_tmp/site.css +0 -3
- data/test/fixture/site/about.html +0 -4
- data/test/fixture/site/assets/site.css +0 -2
- data/test/fixture/site/index.html +0 -4
- data/test/integration/minibundle_development_mode_test.rb +0 -554
- data/test/integration/minibundle_production_mode_test.rb +0 -900
- data/test/integration/ministamp_development_mode_test.rb +0 -235
- data/test/integration/ministamp_production_mode_test.rb +0 -342
- data/test/integration/static_files_as_asset_sources_test.rb +0 -75
- data/test/support/assertions.rb +0 -26
- data/test/support/fixture_config.rb +0 -20
- data/test/support/static_file_config.rb +0 -23
- data/test/support/test_case.rb +0 -175
- data/test/unit/asset_bundle_test.rb +0 -57
- data/test/unit/asset_file_drop_test.rb +0 -66
- data/test/unit/asset_file_registry_test.rb +0 -237
- data/test/unit/asset_tag_markup_test.rb +0 -46
- data/test/unit/bundle_file_properties_test.rb +0 -108
- data/test/unit/bundle_file_writing_test.rb +0 -155
- data/test/unit/development_file_properties_test.rb +0 -97
- data/test/unit/development_file_writing_test.rb +0 -50
- data/test/unit/environment_test.rb +0 -29
- data/test/unit/files_test.rb +0 -61
- data/test/unit/hashes_test.rb +0 -43
- data/test/unit/jekyll_static_file_api_test.rb +0 -172
- data/test/unit/mini_bundle_block_test.rb +0 -125
- data/test/unit/mini_stamp_tag_test.rb +0 -64
- data/test/unit/stamp_file_properties_test.rb +0 -98
- data/test/unit/stamp_file_writing_test.rb +0 -130
- data/test/unit/variable_template_test.rb +0 -121
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require_relative '../support/test_case'
|
|
4
|
-
require 'jekyll/minibundle/variable_template'
|
|
5
|
-
|
|
6
|
-
module Jekyll::Minibundle::Test
|
|
7
|
-
class VariableTemplateTest < TestCase
|
|
8
|
-
VARIABLES = {
|
|
9
|
-
'var1' => 41,
|
|
10
|
-
'var2' => '42',
|
|
11
|
-
'var3' => 43
|
|
12
|
-
}.freeze
|
|
13
|
-
|
|
14
|
-
def test_render_single_variable
|
|
15
|
-
assert_equal('41', render('{{var1}}', VARIABLES))
|
|
16
|
-
assert_equal('abc 41 zz', render('abc {{var1}} zz', VARIABLES))
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def test_render_many_variables
|
|
20
|
-
assert_equal('414243', render('{{var1}}{{var2}}{{var3}}', VARIABLES))
|
|
21
|
-
assert_equal('abc 41 42efg43hij', render('abc {{var1}} {{var2}}efg{{var3}}hij', VARIABLES))
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def test_render_single_variable_many_times
|
|
25
|
-
assert_equal('4141', render('{{var1}}{{var1}}', VARIABLES))
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def test_strip_whitespace_around_variable_name
|
|
29
|
-
assert_equal('41 42', render("{{ var1\t}} {{ \n var2\n}}", VARIABLES))
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
def test_render_empty_string_for_nil_variable
|
|
33
|
-
assert_equal('', render('{{nosuch}}', VARIABLES))
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def test_variable_name_can_be_anything_but_closing_tag
|
|
37
|
-
assert_equal('42', render('{{ foo {{ 3… } bar }}', 'foo {{ 3… } bar' => 42))
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
def test_return_template_without_variables_as_is
|
|
41
|
-
assert_equal('', render('', VARIABLES))
|
|
42
|
-
assert_equal('abc', render('abc', VARIABLES))
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
def test_raise_error_if_nil_template
|
|
46
|
-
err = assert_raises(ArgumentError) { VariableTemplate.compile(nil) }
|
|
47
|
-
assert_equal('Nil template', err.to_s)
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
def test_raise_error_if_unclosed_open_tag
|
|
51
|
-
err = assert_raises(VariableTemplate::SyntaxError) { VariableTemplate.compile('beg{{var}end') }
|
|
52
|
-
expected = <<~MESSAGE
|
|
53
|
-
Missing closing tag ("}}") for variable opening tag ("{{") at position 5 in template (position highlighted with "@"):
|
|
54
|
-
beg{{@var}end
|
|
55
|
-
MESSAGE
|
|
56
|
-
assert_equal(expected, err.to_s)
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
def test_application_to_same_compiled_template_many_times
|
|
60
|
-
template = VariableTemplate.compile('the answer is {{var}}, obviously')
|
|
61
|
-
assert_equal('the answer is 42, obviously', template.render('var' => 42))
|
|
62
|
-
assert_equal('the answer is 21, obviously', template.render('var' => 21))
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
def test_nonascii_template_and_variables
|
|
66
|
-
variables = {
|
|
67
|
-
'…first' => 'after first…',
|
|
68
|
-
'yötön yö' => 'yö'
|
|
69
|
-
}
|
|
70
|
-
actual = render('begin… {{ …first }} middle {{yötön yö}} …end', variables)
|
|
71
|
-
expected = 'begin… after first… middle yö …end'
|
|
72
|
-
assert_equal(expected, actual)
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
def test_escapes_with_backslash
|
|
76
|
-
assert_equal('\\', render('\\\\', VARIABLES))
|
|
77
|
-
assert_equal('{', render('\\{', VARIABLES))
|
|
78
|
-
assert_equal('}', render('\\}', VARIABLES))
|
|
79
|
-
assert_equal('\\a', render('\\a', VARIABLES))
|
|
80
|
-
assert_equal('{{var1}}', render('\{{var1}}', VARIABLES))
|
|
81
|
-
assert_equal('{{var1}}', render('{\{var1}}', VARIABLES))
|
|
82
|
-
assert_equal('{{var1}}', render('\{{var1\}}', VARIABLES))
|
|
83
|
-
assert_equal('{{var1}}', render('\{{var1}\}', VARIABLES))
|
|
84
|
-
assert_equal('bar', render('{{foo\\}}', 'foo\\' => 'bar'))
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
def test_generator_escapes_text_token
|
|
88
|
-
assert_equal('#{}', render('#{}', {})) # rubocop:disable Lint/InterpolationCheck
|
|
89
|
-
assert_equal('"hey"', render('"hey"', {}))
|
|
90
|
-
assert_equal("'hey'", render("'hey'", {}))
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
def test_generator_escapes_variable_token
|
|
94
|
-
assert_equal('42', render('{{ \\ }}', '\\' => 42))
|
|
95
|
-
assert_equal('42', render("{{ ' }}", "'" => 42))
|
|
96
|
-
assert_equal('42', render('{{ " }}', '"' => 42))
|
|
97
|
-
assert_equal('42', render('{{ #{} }}', '#{}' => 42)) # rubocop:disable Lint/InterpolationCheck
|
|
98
|
-
assert_equal("beg'42'end", render("beg'{{ 'var' }}'end", "'var'" => 42))
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
def test_complex_template
|
|
102
|
-
variables = {
|
|
103
|
-
'integer' => 42,
|
|
104
|
-
'string' => 'a rather long string',
|
|
105
|
-
'sneaky… \\' => 'clever…'
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
template = 'begin "ä\\{\\ö\\\\{{integer}}middle \{{trap}} and {{ string }} also {{ sneaky… \\}} end'
|
|
109
|
-
expected = 'begin "ä{\\ö\\42middle {{trap}} and a rather long string also clever… end'
|
|
110
|
-
actual = render(template, variables)
|
|
111
|
-
|
|
112
|
-
assert_equal(expected, actual)
|
|
113
|
-
end
|
|
114
|
-
|
|
115
|
-
private
|
|
116
|
-
|
|
117
|
-
def render(template, values)
|
|
118
|
-
VariableTemplate.compile(template).render(values)
|
|
119
|
-
end
|
|
120
|
-
end
|
|
121
|
-
end
|