nanoc 3.7.4 → 3.7.5
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/Gemfile +19 -18
- data/LICENSE +1 -1
- data/NEWS.md +14 -0
- data/Rakefile +1 -1
- data/doc/yardoc_handlers/identifier.rb +1 -5
- data/lib/nanoc.rb +1 -3
- data/lib/nanoc/base.rb +1 -4
- data/lib/nanoc/base/checksummer.rb +10 -12
- data/lib/nanoc/base/compilation/checksum_store.rb +0 -4
- data/lib/nanoc/base/compilation/compiled_content_cache.rb +0 -4
- data/lib/nanoc/base/compilation/compiler.rb +27 -31
- data/lib/nanoc/base/compilation/compiler_dsl.rb +3 -7
- data/lib/nanoc/base/compilation/dependency_tracker.rb +2 -6
- data/lib/nanoc/base/compilation/filter.rb +1 -7
- data/lib/nanoc/base/compilation/item_rep_proxy.rb +0 -4
- data/lib/nanoc/base/compilation/item_rep_recorder_proxy.rb +0 -4
- data/lib/nanoc/base/compilation/outdatedness_checker.rb +0 -4
- data/lib/nanoc/base/compilation/outdatedness_reasons.rb +0 -6
- data/lib/nanoc/base/compilation/rule.rb +1 -5
- data/lib/nanoc/base/compilation/rule_context.rb +7 -11
- data/lib/nanoc/base/compilation/rule_memory_calculator.rb +0 -4
- data/lib/nanoc/base/compilation/rule_memory_store.rb +0 -4
- data/lib/nanoc/base/compilation/rules_collection.rb +5 -9
- data/lib/nanoc/base/context.rb +0 -3
- data/lib/nanoc/base/core_ext.rb +0 -1
- data/lib/nanoc/base/core_ext/array.rb +0 -2
- data/lib/nanoc/base/core_ext/hash.rb +0 -2
- data/lib/nanoc/base/core_ext/pathname.rb +0 -2
- data/lib/nanoc/base/core_ext/string.rb +0 -2
- data/lib/nanoc/base/directed_graph.rb +0 -4
- data/lib/nanoc/base/errors.rb +1 -39
- data/lib/nanoc/base/memoization.rb +0 -4
- data/lib/nanoc/base/notification_center.rb +1 -7
- data/lib/nanoc/base/plugin_registry.rb +4 -10
- data/lib/nanoc/base/result_data/item_rep.rb +8 -16
- data/lib/nanoc/base/source_data/code_snippet.rb +1 -5
- data/lib/nanoc/base/source_data/configuration.rb +0 -4
- data/lib/nanoc/base/source_data/data_source.rb +2 -5
- data/lib/nanoc/base/source_data/item.rb +3 -7
- data/lib/nanoc/base/source_data/item_array.rb +1 -5
- data/lib/nanoc/base/source_data/layout.rb +2 -6
- data/lib/nanoc/base/source_data/site.rb +20 -23
- data/lib/nanoc/base/store.rb +1 -5
- data/lib/nanoc/base/temp_filename_factory.rb +0 -4
- data/lib/nanoc/cli.rb +3 -5
- data/lib/nanoc/cli/ansi_string_colorizer.rb +6 -10
- data/lib/nanoc/cli/cleaning_stream.rb +2 -6
- data/lib/nanoc/cli/command_runner.rb +1 -5
- data/lib/nanoc/cli/commands/autocompile.rb +2 -6
- data/lib/nanoc/cli/commands/check.rb +0 -4
- data/lib/nanoc/cli/commands/compile.rb +12 -27
- data/lib/nanoc/cli/commands/create-item.rb +1 -5
- data/lib/nanoc/cli/commands/create-layout.rb +0 -4
- data/lib/nanoc/cli/commands/create-site.rb +2 -8
- data/lib/nanoc/cli/commands/deploy.rb +3 -7
- data/lib/nanoc/cli/commands/prune.rb +2 -6
- data/lib/nanoc/cli/commands/shell.rb +4 -8
- data/lib/nanoc/cli/commands/show-data.rb +3 -7
- data/lib/nanoc/cli/commands/show-plugins.rb +3 -7
- data/lib/nanoc/cli/commands/show-rules.rb +11 -15
- data/lib/nanoc/cli/commands/sync.rb +0 -4
- data/lib/nanoc/cli/commands/update.rb +1 -7
- data/lib/nanoc/cli/commands/validate-css.rb +0 -4
- data/lib/nanoc/cli/commands/validate-html.rb +0 -4
- data/lib/nanoc/cli/commands/validate-links.rb +0 -4
- data/lib/nanoc/cli/commands/view.rb +3 -7
- data/lib/nanoc/cli/commands/watch.rb +4 -10
- data/lib/nanoc/cli/error_handler.rb +9 -13
- data/lib/nanoc/cli/logger.rb +8 -12
- data/lib/nanoc/cli/stream_cleaners.rb +0 -4
- data/lib/nanoc/cli/stream_cleaners/abstract.rb +1 -5
- data/lib/nanoc/cli/stream_cleaners/ansi_colors.rb +0 -4
- data/lib/nanoc/cli/stream_cleaners/utf8.rb +1 -5
- data/lib/nanoc/data_sources.rb +2 -4
- data/lib/nanoc/data_sources/deprecated/delicious.rb +6 -10
- data/lib/nanoc/data_sources/deprecated/last_fm.rb +7 -11
- data/lib/nanoc/data_sources/deprecated/twitter.rb +2 -6
- data/lib/nanoc/data_sources/filesystem.rb +10 -13
- data/lib/nanoc/data_sources/filesystem_unified.rb +0 -4
- data/lib/nanoc/data_sources/filesystem_verbose.rb +0 -4
- data/lib/nanoc/data_sources/static.rb +4 -8
- data/lib/nanoc/extra.rb +2 -4
- data/lib/nanoc/extra/auto_compiler.rb +2 -6
- data/lib/nanoc/extra/checking.rb +0 -4
- data/lib/nanoc/extra/checking/check.rb +0 -4
- data/lib/nanoc/extra/checking/checks.rb +0 -2
- data/lib/nanoc/extra/checking/checks/css.rb +6 -6
- data/lib/nanoc/extra/checking/checks/external_links.rb +3 -11
- data/lib/nanoc/extra/checking/checks/html.rb +6 -6
- data/lib/nanoc/extra/checking/checks/internal_links.rb +3 -7
- data/lib/nanoc/extra/checking/checks/stale.rb +3 -7
- data/lib/nanoc/extra/checking/dsl.rb +0 -4
- data/lib/nanoc/extra/checking/issue.rb +0 -4
- data/lib/nanoc/extra/checking/runner.rb +4 -7
- data/lib/nanoc/extra/chick.rb +7 -17
- data/lib/nanoc/extra/core_ext.rb +0 -1
- data/lib/nanoc/extra/core_ext/pathname.rb +0 -4
- data/lib/nanoc/extra/core_ext/time.rb +0 -2
- data/lib/nanoc/extra/deployer.rb +0 -4
- data/lib/nanoc/extra/deployers.rb +0 -4
- data/lib/nanoc/extra/deployers/fog.rb +7 -11
- data/lib/nanoc/extra/deployers/rsync.rb +1 -5
- data/lib/nanoc/extra/file_proxy.rb +1 -5
- data/lib/nanoc/extra/filesystem_tools.rb +37 -12
- data/lib/nanoc/extra/jruby_nokogiri_warner.rb +0 -4
- data/lib/nanoc/extra/link_collector.rb +3 -7
- data/lib/nanoc/extra/piper.rb +0 -6
- data/lib/nanoc/extra/pruner.rb +1 -7
- data/lib/nanoc/extra/validators.rb +0 -4
- data/lib/nanoc/extra/validators/links.rb +0 -4
- data/lib/nanoc/extra/validators/w3c.rb +0 -4
- data/lib/nanoc/extra/vcs.rb +3 -7
- data/lib/nanoc/extra/vcses.rb +0 -2
- data/lib/nanoc/extra/vcses/bazaar.rb +0 -4
- data/lib/nanoc/extra/vcses/dummy.rb +0 -4
- data/lib/nanoc/extra/vcses/git.rb +0 -4
- data/lib/nanoc/extra/vcses/mercurial.rb +0 -4
- data/lib/nanoc/extra/vcses/subversion.rb +0 -4
- data/lib/nanoc/filters.rb +0 -2
- data/lib/nanoc/filters/asciidoc.rb +1 -5
- data/lib/nanoc/filters/bluecloth.rb +0 -2
- data/lib/nanoc/filters/coderay.rb +0 -2
- data/lib/nanoc/filters/coffeescript.rb +0 -4
- data/lib/nanoc/filters/colorize_syntax.rb +17 -15
- data/lib/nanoc/filters/erb.rb +1 -3
- data/lib/nanoc/filters/erubis.rb +2 -4
- data/lib/nanoc/filters/haml.rb +2 -4
- data/lib/nanoc/filters/handlebars.rb +0 -4
- data/lib/nanoc/filters/kramdown.rb +7 -4
- data/lib/nanoc/filters/less.rb +1 -3
- data/lib/nanoc/filters/markaby.rb +0 -2
- data/lib/nanoc/filters/maruku.rb +0 -2
- data/lib/nanoc/filters/mustache.rb +1 -5
- data/lib/nanoc/filters/pandoc.rb +0 -2
- data/lib/nanoc/filters/rainpress.rb +0 -2
- data/lib/nanoc/filters/rdiscount.rb +0 -2
- data/lib/nanoc/filters/rdoc.rb +0 -2
- data/lib/nanoc/filters/redcarpet.rb +0 -4
- data/lib/nanoc/filters/redcloth.rb +0 -2
- data/lib/nanoc/filters/relativize_paths.rb +2 -4
- data/lib/nanoc/filters/rubypants.rb +0 -2
- data/lib/nanoc/filters/sass.rb +2 -4
- data/lib/nanoc/filters/sass/sass_filesystem_importer.rb +0 -2
- data/lib/nanoc/filters/slim.rb +2 -6
- data/lib/nanoc/filters/typogruby.rb +0 -4
- data/lib/nanoc/filters/uglify_js.rb +0 -2
- data/lib/nanoc/filters/xsl.rb +1 -5
- data/lib/nanoc/filters/yui_compressor.rb +0 -4
- data/lib/nanoc/helpers.rb +0 -2
- data/lib/nanoc/helpers/blogging.rb +12 -20
- data/lib/nanoc/helpers/breadcrumbs.rb +0 -4
- data/lib/nanoc/helpers/capturing.rb +2 -10
- data/lib/nanoc/helpers/filtering.rb +0 -4
- data/lib/nanoc/helpers/html_escape.rb +3 -7
- data/lib/nanoc/helpers/link_to.rb +0 -4
- data/lib/nanoc/helpers/rendering.rb +8 -12
- data/lib/nanoc/helpers/tagging.rb +0 -4
- data/lib/nanoc/helpers/text.rb +1 -5
- data/lib/nanoc/helpers/xml_sitemap.rb +3 -7
- data/lib/nanoc/tasks/clean.rb +1 -7
- data/lib/nanoc/tasks/deploy/rsync.rake +0 -2
- data/lib/nanoc/tasks/validate.rake +0 -4
- data/lib/nanoc/version.rb +1 -3
- data/nanoc.gemspec +12 -9
- data/tasks/rubocop.rake +1 -1
- data/tasks/test.rake +6 -7
- data/test/base/checksummer_spec.rb +28 -44
- data/test/base/core_ext/array_spec.rb +1 -9
- data/test/base/core_ext/hash_spec.rb +7 -19
- data/test/base/core_ext/pathname_spec.rb +2 -4
- data/test/base/core_ext/string_spec.rb +0 -4
- data/test/base/temp_filename_factory_spec.rb +0 -8
- data/test/base/test_checksum_store.rb +0 -2
- data/test/base/test_code_snippet.rb +0 -2
- data/test/base/test_compiler.rb +15 -17
- data/test/base/test_compiler_dsl.rb +7 -9
- data/test/base/test_context.rb +2 -4
- data/test/base/test_data_source.rb +0 -2
- data/test/base/test_dependency_tracker.rb +0 -2
- data/test/base/test_directed_graph.rb +2 -4
- data/test/base/test_filter.rb +5 -7
- data/test/base/test_item.rb +17 -13
- data/test/base/test_item_array.rb +2 -4
- data/test/base/test_item_rep.rb +79 -73
- data/test/base/test_layout.rb +3 -5
- data/test/base/test_memoization.rb +13 -21
- data/test/base/test_notification_center.rb +0 -2
- data/test/base/test_outdatedness_checker.rb +34 -36
- data/test/base/test_plugin.rb +0 -2
- data/test/base/test_rule.rb +3 -5
- data/test/base/test_rule_context.rb +4 -6
- data/test/base/test_site.rb +9 -17
- data/test/base/test_store.rb +2 -6
- data/test/cli/commands/test_check.rb +1 -3
- data/test/cli/commands/test_compile.rb +24 -15
- data/test/cli/commands/test_create_item.rb +1 -3
- data/test/cli/commands/test_create_layout.rb +0 -2
- data/test/cli/commands/test_create_site.rb +0 -3
- data/test/cli/commands/test_deploy.rb +9 -11
- data/test/cli/commands/test_help.rb +0 -2
- data/test/cli/commands/test_info.rb +0 -2
- data/test/cli/commands/test_prune.rb +6 -8
- data/test/cli/commands/test_sync.rb +0 -2
- data/test/cli/commands/test_update.rb +0 -2
- data/test/cli/commands/test_watch.rb +4 -6
- data/test/cli/test_cleaning_stream.rb +4 -6
- data/test/cli/test_cli.rb +9 -5
- data/test/cli/test_error_handler.rb +9 -7
- data/test/cli/test_logger.rb +0 -2
- data/test/data_sources/test_filesystem.rb +8 -10
- data/test/data_sources/test_filesystem_unified.rb +35 -34
- data/test/data_sources/test_filesystem_verbose.rb +31 -33
- data/test/data_sources/test_static.rb +20 -21
- data/test/extra/checking/checks/test_css.rb +23 -2
- data/test/extra/checking/checks/test_external_links.rb +2 -4
- data/test/extra/checking/checks/test_html.rb +4 -3
- data/test/extra/checking/checks/test_internal_links.rb +1 -3
- data/test/extra/checking/checks/test_stale.rb +4 -6
- data/test/extra/checking/test_check.rb +0 -2
- data/test/extra/checking/test_dsl.rb +1 -3
- data/test/extra/checking/test_runner.rb +0 -2
- data/test/extra/core_ext/test_pathname.rb +0 -3
- data/test/extra/core_ext/test_time.rb +0 -2
- data/test/extra/deployers/test_fog.rb +13 -15
- data/test/extra/deployers/test_rsync.rb +4 -6
- data/test/extra/test_auto_compiler.rb +47 -25
- data/test/extra/test_file_proxy.rb +1 -3
- data/test/extra/test_filesystem_tools.rb +47 -7
- data/test/extra/test_link_collector.rb +0 -2
- data/test/extra/test_piper.rb +3 -5
- data/test/extra/test_vcs.rb +0 -2
- data/test/extra/validators/test_links.rb +0 -1
- data/test/extra/validators/test_w3c.rb +2 -4
- data/test/filters/test_asciidoc.rb +0 -2
- data/test/filters/test_bluecloth.rb +0 -2
- data/test/filters/test_coderay.rb +2 -4
- data/test/filters/test_coffeescript.rb +0 -2
- data/test/filters/test_colorize_syntax.rb +16 -18
- data/test/filters/test_erb.rb +12 -14
- data/test/filters/test_erubis.rb +4 -6
- data/test/filters/test_haml.rb +7 -9
- data/test/filters/test_handlebars.rb +10 -12
- data/test/filters/test_kramdown.rb +13 -1
- data/test/filters/test_less.rb +9 -11
- data/test/filters/test_markaby.rb +0 -2
- data/test/filters/test_maruku.rb +0 -2
- data/test/filters/test_mustache.rb +4 -6
- data/test/filters/test_pandoc.rb +1 -3
- data/test/filters/test_rainpress.rb +1 -3
- data/test/filters/test_rdiscount.rb +1 -3
- data/test/filters/test_rdoc.rb +0 -2
- data/test/filters/test_redcarpet.rb +6 -8
- data/test/filters/test_redcloth.rb +1 -3
- data/test/filters/test_relativize_paths.rb +29 -34
- data/test/filters/test_rubypants.rb +0 -2
- data/test/filters/test_sass.rb +8 -10
- data/test/filters/test_slim.rb +2 -4
- data/test/filters/test_typogruby.rb +0 -3
- data/test/filters/test_uglify_js.rb +2 -4
- data/test/filters/test_xsl.rb +16 -18
- data/test/filters/test_yui_compressor.rb +3 -5
- data/test/fixtures/vcr_cassettes/css_run_parse_error.yml +65 -0
- data/test/gem_loader.rb +1 -1
- data/test/helper.rb +11 -15
- data/test/helpers/test_blogging.rb +61 -63
- data/test/helpers/test_breadcrumbs.rb +0 -2
- data/test/helpers/test_capturing.rb +4 -6
- data/test/helpers/test_filtering.rb +2 -4
- data/test/helpers/test_html_escape.rb +0 -2
- data/test/helpers/test_link_to.rb +5 -6
- data/test/helpers/test_rendering.rb +2 -4
- data/test/helpers/test_tagging.rb +9 -11
- data/test/helpers/test_text.rb +6 -8
- data/test/helpers/test_xml_sitemap.rb +11 -13
- data/test/tasks/test_clean.rb +0 -2
- data/test/test_gem.rb +1 -3
- metadata +15 -14
- data/Gemfile.lock +0 -252
- data/lib/nanoc/base/core_ext/date.rb +0 -29
- data/lib/nanoc/base/ordered_hash.rb +0 -228
- data/lib/nanoc/extra/core_ext/enumerable.rb +0 -33
- data/test/base/core_ext/date_spec.rb +0 -15
- data/test/extra/core_ext/test_enumerable.rb +0 -28
data/test/extra/test_piper.rb
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
|
|
3
3
|
class Nanoc::Extra::PiperTest < Nanoc::TestCase
|
|
4
|
-
|
|
5
4
|
def test_basic
|
|
6
5
|
stdout = StringIO.new
|
|
7
6
|
stderr = StringIO.new
|
|
@@ -11,7 +10,7 @@ class Nanoc::Extra::PiperTest < Nanoc::TestCase
|
|
|
11
10
|
File.open('foo.txt', 'w') { |io| io.write('hi') }
|
|
12
11
|
File.open('bar.txt', 'w') { |io| io.write('ho') }
|
|
13
12
|
|
|
14
|
-
piper = Nanoc::Extra::Piper.new(:
|
|
13
|
+
piper = Nanoc::Extra::Piper.new(stdout: stdout, stderr: stderr)
|
|
15
14
|
piper.run(cmd, nil)
|
|
16
15
|
|
|
17
16
|
assert_match(/foo\.txt/, stdout.string)
|
|
@@ -26,7 +25,7 @@ class Nanoc::Extra::PiperTest < Nanoc::TestCase
|
|
|
26
25
|
input = 'Hello World!'
|
|
27
26
|
cmd = %w( cat )
|
|
28
27
|
|
|
29
|
-
piper = Nanoc::Extra::Piper.new(:
|
|
28
|
+
piper = Nanoc::Extra::Piper.new(stdout: stdout, stderr: stderr)
|
|
30
29
|
piper.run(cmd, input)
|
|
31
30
|
|
|
32
31
|
assert_equal(input, stdout.string)
|
|
@@ -39,10 +38,9 @@ class Nanoc::Extra::PiperTest < Nanoc::TestCase
|
|
|
39
38
|
|
|
40
39
|
cmd = %w( cat kafhawilgoiwaejagoualjdsfilofiewaguihaifeowuiga )
|
|
41
40
|
|
|
42
|
-
piper = Nanoc::Extra::Piper.new(:
|
|
41
|
+
piper = Nanoc::Extra::Piper.new(stdout: stdout, stderr: stderr)
|
|
43
42
|
assert_raises(Nanoc::Extra::Piper::Error) do
|
|
44
43
|
piper.run(cmd, nil)
|
|
45
44
|
end
|
|
46
45
|
end
|
|
47
|
-
|
|
48
46
|
end
|
data/test/extra/test_vcs.rb
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
|
|
3
3
|
class Nanoc::Extra::VCSTest < Nanoc::TestCase
|
|
4
|
-
|
|
5
4
|
def test_named
|
|
6
5
|
assert_nil(Nanoc::Extra::VCS.named(:lkasjdlkfjlkasdfkj))
|
|
7
6
|
|
|
@@ -16,5 +15,4 @@ class Nanoc::Extra::VCSTest < Nanoc::TestCase
|
|
|
16
15
|
assert_raises(NotImplementedError) { vcs.remove('x') }
|
|
17
16
|
assert_raises(NotImplementedError) { vcs.move('x', 'y') }
|
|
18
17
|
end
|
|
19
|
-
|
|
20
18
|
end
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
|
|
3
3
|
class Nanoc::Extra::Validators::W3CTest < Nanoc::TestCase
|
|
4
|
-
|
|
5
4
|
def test_simple
|
|
6
5
|
if_have 'w3c_validators' do
|
|
7
|
-
with_site do |
|
|
6
|
+
with_site do |_site|
|
|
8
7
|
# Create some sample files
|
|
9
8
|
%w(foo bar baz).each do |filename|
|
|
10
9
|
%w(xxx yyy).each do |extension|
|
|
@@ -23,7 +22,7 @@ class Nanoc::Extra::Validators::W3CTest < Nanoc::TestCase
|
|
|
23
22
|
|
|
24
23
|
def test_with_unknown_types
|
|
25
24
|
if_have 'w3c_validators' do
|
|
26
|
-
with_site do |
|
|
25
|
+
with_site do |_site|
|
|
27
26
|
# Create validator
|
|
28
27
|
w3c = Nanoc::Extra::Validators::W3C.new('.', [:foo])
|
|
29
28
|
|
|
@@ -35,5 +34,4 @@ class Nanoc::Extra::Validators::W3CTest < Nanoc::TestCase
|
|
|
35
34
|
end
|
|
36
35
|
end
|
|
37
36
|
end
|
|
38
|
-
|
|
39
37
|
end
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
|
|
3
3
|
class Nanoc::Filters::AsciiDocTest < Nanoc::TestCase
|
|
4
|
-
|
|
5
4
|
def test_filter
|
|
6
5
|
skip_unless_have_command 'asciidoc'
|
|
7
6
|
|
|
@@ -12,5 +11,4 @@ class Nanoc::Filters::AsciiDocTest < Nanoc::TestCase
|
|
|
12
11
|
result = filter.setup_and_run('== Blah blah')
|
|
13
12
|
assert_match %r{<h2 id="_blah_blah">Blah blah</h2>}, result
|
|
14
13
|
end
|
|
15
|
-
|
|
16
14
|
end
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
|
|
3
3
|
class Nanoc::Filters::BlueClothTest < Nanoc::TestCase
|
|
4
|
-
|
|
5
4
|
def test_filter
|
|
6
5
|
if_have 'bluecloth' do
|
|
7
6
|
# Create filter
|
|
@@ -12,5 +11,4 @@ class Nanoc::Filters::BlueClothTest < Nanoc::TestCase
|
|
|
12
11
|
assert_match %r{<blockquote>\s*<p>Quote</p>\s*</blockquote>}, result
|
|
13
12
|
end
|
|
14
13
|
end
|
|
15
|
-
|
|
16
14
|
end
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
|
|
3
3
|
class Nanoc::Filters::CodeRayTest < Nanoc::TestCase
|
|
4
|
-
|
|
5
4
|
def test_filter_without_language
|
|
6
5
|
if_have 'coderay' do
|
|
7
6
|
# Get filter
|
|
@@ -22,7 +21,7 @@ class Nanoc::Filters::CodeRayTest < Nanoc::TestCase
|
|
|
22
21
|
|
|
23
22
|
# Run filter
|
|
24
23
|
code = "def some_function ; x = blah.foo ; x.bar 'xyzzy' ; end"
|
|
25
|
-
result = filter.setup_and_run(code, :
|
|
24
|
+
result = filter.setup_and_run(code, language: 'ruby')
|
|
26
25
|
assert_match %r{^<span class="keyword">def</span> <span class="function">some_function</span>}, result
|
|
27
26
|
end
|
|
28
27
|
end
|
|
@@ -34,9 +33,8 @@ class Nanoc::Filters::CodeRayTest < Nanoc::TestCase
|
|
|
34
33
|
|
|
35
34
|
# Run filter
|
|
36
35
|
code = "def some_function ; x = blah.foo ; x.bar 'xyzzy' ; end"
|
|
37
|
-
result = filter.setup_and_run(code, :
|
|
36
|
+
result = filter.setup_and_run(code, language: 'skldfhjsdhfjszfnocmluhfixfmersumulh')
|
|
38
37
|
assert_equal code, result
|
|
39
38
|
end
|
|
40
39
|
end
|
|
41
|
-
|
|
42
40
|
end
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
|
|
3
3
|
class Nanoc::Filters::CoffeeScriptTest < Nanoc::TestCase
|
|
4
|
-
|
|
5
4
|
def test_filter
|
|
6
5
|
if_have 'coffee-script' do
|
|
7
6
|
# Create filter
|
|
@@ -12,5 +11,4 @@ class Nanoc::Filters::CoffeeScriptTest < Nanoc::TestCase
|
|
|
12
11
|
assert_equal('(function() { alert(42); }).call(this); ', result.gsub(/\s+/, ' '))
|
|
13
12
|
end
|
|
14
13
|
end
|
|
15
|
-
|
|
16
14
|
end
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
|
|
3
3
|
class Nanoc::Filters::ColorizeSyntaxTest < Nanoc::TestCase
|
|
4
|
-
|
|
5
4
|
CODERAY_PRE = '<div class="CodeRay"><div class="code">'
|
|
6
5
|
CODERAY_POST = '</div></div>'
|
|
7
6
|
|
|
@@ -30,7 +29,7 @@ class Nanoc::Filters::ColorizeSyntaxTest < Nanoc::TestCase
|
|
|
30
29
|
expected_output = input # because we are using a dummy
|
|
31
30
|
|
|
32
31
|
# Run filter
|
|
33
|
-
actual_output = filter.setup_and_run(input, :
|
|
32
|
+
actual_output = filter.setup_and_run(input, default_colorizer: :dummy)
|
|
34
33
|
assert_equal(expected_output, actual_output)
|
|
35
34
|
end
|
|
36
35
|
end
|
|
@@ -41,7 +40,7 @@ class Nanoc::Filters::ColorizeSyntaxTest < Nanoc::TestCase
|
|
|
41
40
|
input.freeze
|
|
42
41
|
|
|
43
42
|
filter = ::Nanoc::Filters::ColorizeSyntax.new
|
|
44
|
-
filter.setup_and_run(input, :
|
|
43
|
+
filter.setup_and_run(input, default_colorizer: :dummy)
|
|
45
44
|
end
|
|
46
45
|
end
|
|
47
46
|
|
|
@@ -65,7 +64,7 @@ EOS
|
|
|
65
64
|
expected_output_regex = %r{^<!DOCTYPE html>\s*<html>\s*<head>\s*<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\s*<title>Foo</title>\s*</head>\s*<body>\s*<pre title="moo"><code class="language-ruby"># comment</code></pre>\s*</body>\s*</html>}
|
|
66
65
|
|
|
67
66
|
# Run filter
|
|
68
|
-
actual_output = filter.setup_and_run(input, :
|
|
67
|
+
actual_output = filter.setup_and_run(input, default_colorizer: :dummy, is_fullpage: true)
|
|
69
68
|
assert_match expected_output_regex, actual_output
|
|
70
69
|
end
|
|
71
70
|
end
|
|
@@ -147,7 +146,7 @@ EOS
|
|
|
147
146
|
expected_output = '<pre title="moo"><code class="language-ruby"><span class="c1"># comment</span></code></pre>'
|
|
148
147
|
|
|
149
148
|
# Run filter
|
|
150
|
-
actual_output = filter.setup_and_run(input, :
|
|
149
|
+
actual_output = filter.setup_and_run(input, colorizers: { ruby: :pygmentize })
|
|
151
150
|
assert_equal(expected_output, actual_output)
|
|
152
151
|
end
|
|
153
152
|
end
|
|
@@ -163,7 +162,7 @@ EOS
|
|
|
163
162
|
expected_output = '<pre title="moo"><code class="language-ruby"><span class="c1"># comment…</span></code></pre>'
|
|
164
163
|
|
|
165
164
|
# Run filter
|
|
166
|
-
actual_output = filter.setup_and_run(input, :
|
|
165
|
+
actual_output = filter.setup_and_run(input, colorizers: { ruby: :pygmentsrb })
|
|
167
166
|
assert_equal(expected_output, actual_output)
|
|
168
167
|
end
|
|
169
168
|
end
|
|
@@ -176,13 +175,13 @@ EOS
|
|
|
176
175
|
filter = ::Nanoc::Filters::ColorizeSyntax.new
|
|
177
176
|
|
|
178
177
|
# Get input and expected output
|
|
179
|
-
input = %
|
|
178
|
+
input = %(<pre title="moo"><code class="language-ruby">
|
|
180
179
|
# comment
|
|
181
180
|
</code></pre>)
|
|
182
181
|
expected_output = '<pre title="moo"><code class="language-ruby"><span class="hl slc"># comment</span></code></pre>'
|
|
183
182
|
|
|
184
183
|
# Run filter
|
|
185
|
-
actual_output = filter.setup_and_run(input, :
|
|
184
|
+
actual_output = filter.setup_and_run(input, default_colorizer: :simon_highlight)
|
|
186
185
|
assert_equal(expected_output, actual_output)
|
|
187
186
|
end
|
|
188
187
|
end
|
|
@@ -194,7 +193,7 @@ EOS
|
|
|
194
193
|
|
|
195
194
|
# Run filter
|
|
196
195
|
assert_raises RuntimeError do
|
|
197
|
-
filter.setup_and_run('<p>whatever</p>', :
|
|
196
|
+
filter.setup_and_run('<p>whatever</p>', syntax: :kasflwafhaweoineurl)
|
|
198
197
|
end
|
|
199
198
|
end
|
|
200
199
|
end
|
|
@@ -209,7 +208,7 @@ EOS
|
|
|
209
208
|
expected_output = '<p>foo<br/>bar</p>'
|
|
210
209
|
|
|
211
210
|
# Run filter
|
|
212
|
-
actual_output = filter.setup_and_run(input, :
|
|
211
|
+
actual_output = filter.setup_and_run(input, syntax: :xml)
|
|
213
212
|
assert_equal(expected_output, actual_output)
|
|
214
213
|
end
|
|
215
214
|
end
|
|
@@ -224,7 +223,7 @@ EOS
|
|
|
224
223
|
expected_output = '<p>foo<br />bar</p>'
|
|
225
224
|
|
|
226
225
|
# Run filter
|
|
227
|
-
actual_output = filter.setup_and_run(input, :
|
|
226
|
+
actual_output = filter.setup_and_run(input, syntax: :xhtml)
|
|
228
227
|
assert_equal(expected_output, actual_output)
|
|
229
228
|
end
|
|
230
229
|
end
|
|
@@ -241,7 +240,7 @@ EOS
|
|
|
241
240
|
expected_output = '<pre><code class="language-ruby"><span class="nb">puts</span> <span class="s2">"foo"</span></code></pre>'
|
|
242
241
|
|
|
243
242
|
# Run filter
|
|
244
|
-
actual_output = filter.setup_and_run(input, :
|
|
243
|
+
actual_output = filter.setup_and_run(input, default_colorizer: :pygmentize)
|
|
245
244
|
assert_equal(expected_output, actual_output)
|
|
246
245
|
end
|
|
247
246
|
end
|
|
@@ -264,7 +263,7 @@ EOS
|
|
|
264
263
|
input = '<pre><code class="language-ruby">puts "foo"</code></pre>'
|
|
265
264
|
filter.setup_and_run(
|
|
266
265
|
input,
|
|
267
|
-
:
|
|
266
|
+
colorizers: { ruby: colorizer })
|
|
268
267
|
flunk 'expected colorizer to raise if no executable is available'
|
|
269
268
|
rescue
|
|
270
269
|
end
|
|
@@ -342,7 +341,7 @@ EOS
|
|
|
342
341
|
expected_output = '<code class="language-ruby"># comment</code>'
|
|
343
342
|
|
|
344
343
|
# Run filter
|
|
345
|
-
actual_output = filter.setup_and_run(input, :
|
|
344
|
+
actual_output = filter.setup_and_run(input, outside_pre: false)
|
|
346
345
|
assert_equal(expected_output, actual_output)
|
|
347
346
|
end
|
|
348
347
|
end
|
|
@@ -357,7 +356,7 @@ EOS
|
|
|
357
356
|
expected_output = '<code class="language-ruby"><span class="comment"># comment</span></code>'
|
|
358
357
|
|
|
359
358
|
# Run filter
|
|
360
|
-
actual_output = filter.setup_and_run(input, :
|
|
359
|
+
actual_output = filter.setup_and_run(input, outside_pre: true)
|
|
361
360
|
assert_equal(expected_output, actual_output)
|
|
362
361
|
end
|
|
363
362
|
end
|
|
@@ -414,7 +413,7 @@ after
|
|
|
414
413
|
EOS
|
|
415
414
|
|
|
416
415
|
# Run filter
|
|
417
|
-
actual_output = filter.setup_and_run(input, :
|
|
416
|
+
actual_output = filter.setup_and_run(input, default_colorizer: :rouge)
|
|
418
417
|
assert_equal(expected_output, actual_output)
|
|
419
418
|
end
|
|
420
419
|
end
|
|
@@ -441,9 +440,8 @@ after
|
|
|
441
440
|
EOS
|
|
442
441
|
|
|
443
442
|
# Run filter
|
|
444
|
-
actual_output = filter.setup_and_run(input, :
|
|
443
|
+
actual_output = filter.setup_and_run(input, default_colorizer: :rouge, rouge: { css_class: 'my-class' })
|
|
445
444
|
assert_equal(expected_output, actual_output)
|
|
446
445
|
end
|
|
447
446
|
end
|
|
448
|
-
|
|
449
447
|
end
|
data/test/filters/test_erb.rb
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
|
|
3
3
|
class Nanoc::Filters::ERBTest < Nanoc::TestCase
|
|
4
|
-
|
|
5
4
|
def test_filter_with_instance_variable
|
|
6
5
|
# Create filter
|
|
7
|
-
filter = ::Nanoc::Filters::ERB.new({ :
|
|
6
|
+
filter = ::Nanoc::Filters::ERB.new({ location: 'a cheap motel' })
|
|
8
7
|
|
|
9
8
|
# Run filter
|
|
10
9
|
result = filter.setup_and_run('<%= "I was hiding in #{@location}." %>')
|
|
@@ -13,7 +12,7 @@ class Nanoc::Filters::ERBTest < Nanoc::TestCase
|
|
|
13
12
|
|
|
14
13
|
def test_filter_with_instance_method
|
|
15
14
|
# Create filter
|
|
16
|
-
filter = ::Nanoc::Filters::ERB.new({ :
|
|
15
|
+
filter = ::Nanoc::Filters::ERB.new({ location: 'a cheap motel' })
|
|
17
16
|
|
|
18
17
|
# Run filter
|
|
19
18
|
result = filter.setup_and_run('<%= "I was hiding in #{location}." %>')
|
|
@@ -29,9 +28,9 @@ class Nanoc::Filters::ERBTest < Nanoc::TestCase
|
|
|
29
28
|
|
|
30
29
|
# Create filter
|
|
31
30
|
filter = ::Nanoc::Filters::ERB.new({
|
|
32
|
-
:
|
|
33
|
-
:
|
|
34
|
-
:
|
|
31
|
+
item: item,
|
|
32
|
+
item_rep: item_rep,
|
|
33
|
+
location: 'a cheap motel'
|
|
35
34
|
})
|
|
36
35
|
|
|
37
36
|
# Run filter
|
|
@@ -48,7 +47,7 @@ class Nanoc::Filters::ERBTest < Nanoc::TestCase
|
|
|
48
47
|
|
|
49
48
|
def test_filter_with_yield
|
|
50
49
|
# Create filter
|
|
51
|
-
filter = ::Nanoc::Filters::ERB.new({ :
|
|
50
|
+
filter = ::Nanoc::Filters::ERB.new({ content: 'a cheap motel' })
|
|
52
51
|
|
|
53
52
|
# Run filter
|
|
54
53
|
result = filter.setup_and_run('<%= "I was hiding in #{yield}." %>')
|
|
@@ -57,7 +56,7 @@ class Nanoc::Filters::ERBTest < Nanoc::TestCase
|
|
|
57
56
|
|
|
58
57
|
def test_filter_with_yield_without_content
|
|
59
58
|
# Create filter
|
|
60
|
-
filter = ::Nanoc::Filters::ERB.new({ :
|
|
59
|
+
filter = ::Nanoc::Filters::ERB.new({ location: 'a cheap motel' })
|
|
61
60
|
|
|
62
61
|
# Run filter
|
|
63
62
|
assert_raises LocalJumpError do
|
|
@@ -75,18 +74,18 @@ class Nanoc::Filters::ERBTest < Nanoc::TestCase
|
|
|
75
74
|
File.open('moo', 'w') { |io| io.write('one miiillion dollars') }
|
|
76
75
|
|
|
77
76
|
# Without
|
|
78
|
-
res = filter.setup_and_run('<%= File.read("moo") %>', :
|
|
77
|
+
res = filter.setup_and_run('<%= File.read("moo") %>', safe_level: nil)
|
|
79
78
|
assert_equal 'one miiillion dollars', res
|
|
80
79
|
|
|
81
80
|
# With
|
|
82
81
|
assert_raises(SecurityError) do
|
|
83
|
-
res = filter.setup_and_run('<%= File.read("moo") %>', :
|
|
82
|
+
res = filter.setup_and_run('<%= File.read("moo") %>', safe_level: 3)
|
|
84
83
|
end
|
|
85
84
|
end
|
|
86
85
|
|
|
87
86
|
def test_trim_mode
|
|
88
87
|
# Set up
|
|
89
|
-
filter = ::Nanoc::Filters::ERB.new({ :
|
|
88
|
+
filter = ::Nanoc::Filters::ERB.new({ location: 'a cheap motel' })
|
|
90
89
|
$trim_mode_works = false
|
|
91
90
|
|
|
92
91
|
# Without
|
|
@@ -94,14 +93,13 @@ class Nanoc::Filters::ERBTest < Nanoc::TestCase
|
|
|
94
93
|
refute $trim_mode_works
|
|
95
94
|
|
|
96
95
|
# With
|
|
97
|
-
filter.setup_and_run('% $trim_mode_works = true', :
|
|
96
|
+
filter.setup_and_run('% $trim_mode_works = true', trim_mode: '%')
|
|
98
97
|
assert $trim_mode_works
|
|
99
98
|
end
|
|
100
99
|
|
|
101
100
|
def test_locals
|
|
102
101
|
filter = ::Nanoc::Filters::ERB.new
|
|
103
|
-
result = filter.setup_and_run('<%= @local %>', :
|
|
102
|
+
result = filter.setup_and_run('<%= @local %>', locals: { local: 123 })
|
|
104
103
|
assert_equal '123', result
|
|
105
104
|
end
|
|
106
|
-
|
|
107
105
|
end
|
data/test/filters/test_erubis.rb
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
|
|
3
3
|
class Nanoc::Filters::ErubisTest < Nanoc::TestCase
|
|
4
|
-
|
|
5
4
|
def test_filter_with_instance_variable
|
|
6
5
|
if_have 'erubis' do
|
|
7
6
|
# Create filter
|
|
8
|
-
filter = ::Nanoc::Filters::Erubis.new({ :
|
|
7
|
+
filter = ::Nanoc::Filters::Erubis.new({ location: 'a cheap motel' })
|
|
9
8
|
|
|
10
9
|
# Run filter
|
|
11
10
|
result = filter.setup_and_run('<%= "I was hiding in #{@location}." %>')
|
|
@@ -16,7 +15,7 @@ class Nanoc::Filters::ErubisTest < Nanoc::TestCase
|
|
|
16
15
|
def test_filter_with_instance_method
|
|
17
16
|
if_have 'erubis' do
|
|
18
17
|
# Create filter
|
|
19
|
-
filter = ::Nanoc::Filters::Erubis.new({ :
|
|
18
|
+
filter = ::Nanoc::Filters::Erubis.new({ location: 'a cheap motel' })
|
|
20
19
|
|
|
21
20
|
# Run filter
|
|
22
21
|
result = filter.setup_and_run('<%= "I was hiding in #{location}." %>')
|
|
@@ -45,7 +44,7 @@ class Nanoc::Filters::ErubisTest < Nanoc::TestCase
|
|
|
45
44
|
def test_filter_with_yield
|
|
46
45
|
if_have 'erubis' do
|
|
47
46
|
# Create filter
|
|
48
|
-
filter = ::Nanoc::Filters::Erubis.new({ :
|
|
47
|
+
filter = ::Nanoc::Filters::Erubis.new({ content: 'a cheap motel' })
|
|
49
48
|
|
|
50
49
|
# Run filter
|
|
51
50
|
result = filter.setup_and_run('<%= "I was hiding in #{yield}." %>')
|
|
@@ -56,7 +55,7 @@ class Nanoc::Filters::ErubisTest < Nanoc::TestCase
|
|
|
56
55
|
def test_filter_with_yield_without_content
|
|
57
56
|
if_have 'erubis' do
|
|
58
57
|
# Create filter
|
|
59
|
-
filter = ::Nanoc::Filters::Erubis.new({ :
|
|
58
|
+
filter = ::Nanoc::Filters::Erubis.new({ location: 'a cheap motel' })
|
|
60
59
|
|
|
61
60
|
# Run filter
|
|
62
61
|
assert_raises LocalJumpError do
|
|
@@ -72,5 +71,4 @@ class Nanoc::Filters::ErubisTest < Nanoc::TestCase
|
|
|
72
71
|
assert_equal 'stuffstuff', result
|
|
73
72
|
end
|
|
74
73
|
end
|
|
75
|
-
|
|
76
74
|
end
|
data/test/filters/test_haml.rb
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
|
|
3
3
|
class Nanoc::Filters::HamlTest < Nanoc::TestCase
|
|
4
|
-
|
|
5
4
|
def test_filter
|
|
6
5
|
if_have 'haml' do
|
|
7
6
|
# Create filter
|
|
8
|
-
filter = ::Nanoc::Filters::Haml.new({ :
|
|
7
|
+
filter = ::Nanoc::Filters::Haml.new({ question: 'Is this the Payne residence?' })
|
|
9
8
|
|
|
10
9
|
# Run filter (no assigns)
|
|
11
10
|
result = filter.setup_and_run('%html')
|
|
@@ -24,14 +23,14 @@ class Nanoc::Filters::HamlTest < Nanoc::TestCase
|
|
|
24
23
|
def test_filter_with_params
|
|
25
24
|
if_have 'haml' do
|
|
26
25
|
# Create filter
|
|
27
|
-
filter = ::Nanoc::Filters::Haml.new({ :
|
|
26
|
+
filter = ::Nanoc::Filters::Haml.new({ foo: 'bar' })
|
|
28
27
|
|
|
29
28
|
# Check with HTML5
|
|
30
|
-
result = filter.setup_and_run('%img', :
|
|
29
|
+
result = filter.setup_and_run('%img', format: :html5)
|
|
31
30
|
assert_match(/<img>/, result)
|
|
32
31
|
|
|
33
32
|
# Check with XHTML
|
|
34
|
-
result = filter.setup_and_run('%img', :
|
|
33
|
+
result = filter.setup_and_run('%img', format: :xhtml)
|
|
35
34
|
assert_match(/<img\s*\/>/, result)
|
|
36
35
|
end
|
|
37
36
|
end
|
|
@@ -39,7 +38,7 @@ class Nanoc::Filters::HamlTest < Nanoc::TestCase
|
|
|
39
38
|
def test_filter_error
|
|
40
39
|
if_have 'haml' do
|
|
41
40
|
# Create filter
|
|
42
|
-
filter = ::Nanoc::Filters::Haml.new({ :
|
|
41
|
+
filter = ::Nanoc::Filters::Haml.new({ foo: 'bar' })
|
|
43
42
|
|
|
44
43
|
# Run filter
|
|
45
44
|
raised = false
|
|
@@ -57,7 +56,7 @@ class Nanoc::Filters::HamlTest < Nanoc::TestCase
|
|
|
57
56
|
def test_filter_with_yield
|
|
58
57
|
if_have 'haml' do
|
|
59
58
|
# Create filter
|
|
60
|
-
filter = ::Nanoc::Filters::Haml.new({ :
|
|
59
|
+
filter = ::Nanoc::Filters::Haml.new({ content: 'Is this the Payne residence?' })
|
|
61
60
|
|
|
62
61
|
# Run filter
|
|
63
62
|
result = filter.setup_and_run('%p= yield')
|
|
@@ -68,7 +67,7 @@ class Nanoc::Filters::HamlTest < Nanoc::TestCase
|
|
|
68
67
|
def test_filter_with_yield_without_content
|
|
69
68
|
if_have 'haml' do
|
|
70
69
|
# Create filter
|
|
71
|
-
filter = ::Nanoc::Filters::Haml.new({ :
|
|
70
|
+
filter = ::Nanoc::Filters::Haml.new({ location: 'Is this the Payne residence?' })
|
|
72
71
|
|
|
73
72
|
# Run filter
|
|
74
73
|
assert_raises LocalJumpError do
|
|
@@ -90,5 +89,4 @@ class Nanoc::Filters::HamlTest < Nanoc::TestCase
|
|
|
90
89
|
assert_match(/Max Payne
Mona Sax/, result)
|
|
91
90
|
end
|
|
92
91
|
end
|
|
93
|
-
|
|
94
92
|
end
|