nanoc 3.7.3 → 3.7.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (182) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +71 -46
  3. data/NEWS.md +14 -0
  4. data/lib/nanoc.rb +1 -1
  5. data/lib/nanoc/base/checksummer.rb +1 -1
  6. data/lib/nanoc/base/compilation/checksum_store.rb +1 -1
  7. data/lib/nanoc/base/compilation/compiled_content_cache.rb +1 -1
  8. data/lib/nanoc/base/compilation/compiler.rb +11 -10
  9. data/lib/nanoc/base/compilation/compiler_dsl.rb +4 -4
  10. data/lib/nanoc/base/compilation/dependency_tracker.rb +7 -7
  11. data/lib/nanoc/base/compilation/filter.rb +1 -1
  12. data/lib/nanoc/base/compilation/item_rep_proxy.rb +6 -5
  13. data/lib/nanoc/base/compilation/item_rep_recorder_proxy.rb +8 -7
  14. data/lib/nanoc/base/compilation/outdatedness_checker.rb +6 -6
  15. data/lib/nanoc/base/compilation/rule.rb +1 -1
  16. data/lib/nanoc/base/compilation/rule_memory_store.rb +1 -1
  17. data/lib/nanoc/base/compilation/rules_collection.rb +5 -5
  18. data/lib/nanoc/base/context.rb +1 -1
  19. data/lib/nanoc/base/core_ext/array.rb +1 -1
  20. data/lib/nanoc/base/core_ext/date.rb +1 -1
  21. data/lib/nanoc/base/core_ext/hash.rb +1 -1
  22. data/lib/nanoc/base/directed_graph.rb +3 -3
  23. data/lib/nanoc/base/memoization.rb +1 -1
  24. data/lib/nanoc/base/notification_center.rb +1 -1
  25. data/lib/nanoc/base/ordered_hash.rb +1 -1
  26. data/lib/nanoc/base/plugin_registry.rb +3 -3
  27. data/lib/nanoc/base/result_data/item_rep.rb +13 -11
  28. data/lib/nanoc/base/source_data/code_snippet.rb +2 -2
  29. data/lib/nanoc/base/source_data/data_source.rb +3 -3
  30. data/lib/nanoc/base/source_data/item.rb +8 -8
  31. data/lib/nanoc/base/source_data/item_array.rb +1 -1
  32. data/lib/nanoc/base/source_data/layout.rb +1 -1
  33. data/lib/nanoc/base/source_data/site.rb +27 -18
  34. data/lib/nanoc/base/store.rb +3 -3
  35. data/lib/nanoc/base/temp_filename_factory.rb +2 -2
  36. data/lib/nanoc/cli.rb +6 -6
  37. data/lib/nanoc/cli/cleaning_stream.rb +1 -1
  38. data/lib/nanoc/cli/command_runner.rb +4 -3
  39. data/lib/nanoc/cli/commands/autocompile.rb +3 -3
  40. data/lib/nanoc/cli/commands/check.rb +3 -3
  41. data/lib/nanoc/cli/commands/compile.rb +23 -23
  42. data/lib/nanoc/cli/commands/create-item.rb +5 -5
  43. data/lib/nanoc/cli/commands/create-layout.rb +14 -14
  44. data/lib/nanoc/cli/commands/create-site.rb +6 -6
  45. data/lib/nanoc/cli/commands/deploy.rb +8 -8
  46. data/lib/nanoc/cli/commands/nanoc.rb +3 -3
  47. data/lib/nanoc/cli/commands/prune.rb +3 -3
  48. data/lib/nanoc/cli/commands/shell.rb +4 -4
  49. data/lib/nanoc/cli/commands/show-data.rb +5 -5
  50. data/lib/nanoc/cli/commands/show-plugins.rb +5 -5
  51. data/lib/nanoc/cli/commands/show-rules.rb +4 -4
  52. data/lib/nanoc/cli/commands/sync.rb +1 -1
  53. data/lib/nanoc/cli/commands/update.rb +13 -13
  54. data/lib/nanoc/cli/commands/validate-css.rb +3 -3
  55. data/lib/nanoc/cli/commands/validate-html.rb +3 -3
  56. data/lib/nanoc/cli/commands/validate-links.rb +6 -6
  57. data/lib/nanoc/cli/commands/view.rb +4 -4
  58. data/lib/nanoc/cli/commands/watch.rb +11 -11
  59. data/lib/nanoc/cli/error_handler.rb +10 -10
  60. data/lib/nanoc/cli/logger.rb +1 -1
  61. data/lib/nanoc/cli/stream_cleaners/abstract.rb +1 -1
  62. data/lib/nanoc/data_sources/deprecated/last_fm.rb +5 -5
  63. data/lib/nanoc/data_sources/deprecated/twitter.rb +1 -1
  64. data/lib/nanoc/data_sources/filesystem.rb +16 -16
  65. data/lib/nanoc/data_sources/filesystem_unified.rb +1 -1
  66. data/lib/nanoc/data_sources/filesystem_verbose.rb +1 -1
  67. data/lib/nanoc/data_sources/static.rb +1 -1
  68. data/lib/nanoc/extra/auto_compiler.rb +2 -2
  69. data/lib/nanoc/extra/checking/check.rb +11 -1
  70. data/lib/nanoc/extra/checking/checks/external_links.rb +15 -7
  71. data/lib/nanoc/extra/checking/checks/internal_links.rb +3 -3
  72. data/lib/nanoc/extra/checking/checks/stale.rb +6 -6
  73. data/lib/nanoc/extra/checking/runner.rb +10 -9
  74. data/lib/nanoc/extra/chick.rb +2 -2
  75. data/lib/nanoc/extra/core_ext/enumerable.rb +1 -1
  76. data/lib/nanoc/extra/deployers/fog.rb +2 -2
  77. data/lib/nanoc/extra/deployers/rsync.rb +3 -3
  78. data/lib/nanoc/extra/file_proxy.rb +3 -3
  79. data/lib/nanoc/extra/jruby_nokogiri_warner.rb +1 -1
  80. data/lib/nanoc/extra/link_collector.rb +3 -3
  81. data/lib/nanoc/extra/piper.rb +2 -2
  82. data/lib/nanoc/extra/pruner.rb +4 -3
  83. data/lib/nanoc/extra/validators/links.rb +2 -2
  84. data/lib/nanoc/extra/validators/w3c.rb +1 -1
  85. data/lib/nanoc/extra/vcs.rb +5 -5
  86. data/lib/nanoc/extra/vcses/dummy.rb +1 -1
  87. data/lib/nanoc/filters/asciidoc.rb +1 -1
  88. data/lib/nanoc/filters/bluecloth.rb +1 -1
  89. data/lib/nanoc/filters/coffeescript.rb +1 -1
  90. data/lib/nanoc/filters/colorize_syntax.rb +19 -21
  91. data/lib/nanoc/filters/erubis.rb +1 -1
  92. data/lib/nanoc/filters/handlebars.rb +1 -1
  93. data/lib/nanoc/filters/less.rb +2 -2
  94. data/lib/nanoc/filters/markaby.rb +1 -1
  95. data/lib/nanoc/filters/mustache.rb +1 -1
  96. data/lib/nanoc/filters/rdoc.rb +1 -1
  97. data/lib/nanoc/filters/relativize_paths.rb +5 -5
  98. data/lib/nanoc/filters/rubypants.rb +1 -1
  99. data/lib/nanoc/filters/sass/sass_filesystem_importer.rb +1 -1
  100. data/lib/nanoc/filters/typogruby.rb +1 -1
  101. data/lib/nanoc/filters/xsl.rb +1 -1
  102. data/lib/nanoc/helpers/blogging.rb +12 -12
  103. data/lib/nanoc/helpers/capturing.rb +3 -3
  104. data/lib/nanoc/helpers/html_escape.rb +6 -6
  105. data/lib/nanoc/helpers/tagging.rb +1 -1
  106. data/lib/nanoc/helpers/xml_sitemap.rb +4 -4
  107. data/lib/nanoc/tasks/clean.rake +1 -1
  108. data/lib/nanoc/tasks/clean.rb +1 -1
  109. data/lib/nanoc/tasks/deploy/rsync.rake +2 -2
  110. data/lib/nanoc/version.rb +1 -1
  111. data/tasks/rubocop.rake +1 -0
  112. data/test/base/core_ext/array_spec.rb +7 -7
  113. data/test/base/core_ext/hash_spec.rb +1 -1
  114. data/test/base/test_checksum_store.rb +1 -1
  115. data/test/base/test_compiler.rb +14 -14
  116. data/test/base/test_compiler_dsl.rb +13 -13
  117. data/test/base/test_context.rb +2 -2
  118. data/test/base/test_dependency_tracker.rb +42 -42
  119. data/test/base/test_directed_graph.rb +102 -102
  120. data/test/base/test_item.rb +21 -21
  121. data/test/base/test_item_array.rb +19 -19
  122. data/test/base/test_item_rep.rb +50 -50
  123. data/test/base/test_layout.rb +6 -6
  124. data/test/base/test_outdatedness_checker.rb +2 -2
  125. data/test/base/test_rule_context.rb +2 -2
  126. data/test/base/test_site.rb +5 -5
  127. data/test/cli/commands/test_compile.rb +7 -7
  128. data/test/cli/commands/test_create_site.rb +2 -2
  129. data/test/cli/commands/test_deploy.rb +10 -10
  130. data/test/cli/commands/test_prune.rb +2 -2
  131. data/test/cli/commands/test_sync.rb +1 -1
  132. data/test/cli/commands/test_watch.rb +7 -7
  133. data/test/cli/test_cleaning_stream.rb +4 -4
  134. data/test/cli/test_cli.rb +3 -3
  135. data/test/cli/test_error_handler.rb +3 -3
  136. data/test/data_sources/test_filesystem.rb +19 -19
  137. data/test/data_sources/test_filesystem_unified.rb +30 -30
  138. data/test/data_sources/test_filesystem_verbose.rb +3 -3
  139. data/test/data_sources/test_static.rb +9 -9
  140. data/test/extra/checking/checks/test_stale.rb +8 -8
  141. data/test/extra/checking/test_check.rb +11 -1
  142. data/test/extra/checking/test_dsl.rb +1 -1
  143. data/test/extra/core_ext/test_enumerable.rb +2 -2
  144. data/test/extra/deployers/test_fog.rb +10 -10
  145. data/test/extra/deployers/test_rsync.rb +2 -2
  146. data/test/extra/test_auto_compiler.rb +28 -28
  147. data/test/extra/test_filesystem_tools.rb +3 -3
  148. data/test/extra/test_link_collector.rb +39 -20
  149. data/test/extra/validators/test_w3c.rb +5 -5
  150. data/test/filters/test_asciidoc.rb +2 -2
  151. data/test/filters/test_bluecloth.rb +1 -1
  152. data/test/filters/test_coffeescript.rb +1 -1
  153. data/test/filters/test_colorize_syntax.rb +20 -13
  154. data/test/filters/test_erb.rb +1 -1
  155. data/test/filters/test_kramdown.rb +1 -1
  156. data/test/filters/test_less.rb +10 -10
  157. data/test/filters/test_markaby.rb +2 -2
  158. data/test/filters/test_maruku.rb +2 -2
  159. data/test/filters/test_pandoc.rb +3 -3
  160. data/test/filters/test_rainpress.rb +4 -4
  161. data/test/filters/test_rdiscount.rb +2 -2
  162. data/test/filters/test_rdoc.rb +1 -1
  163. data/test/filters/test_redcarpet.rb +5 -5
  164. data/test/filters/test_redcloth.rb +5 -5
  165. data/test/filters/test_relativize_paths.rb +33 -31
  166. data/test/filters/test_rubypants.rb +2 -2
  167. data/test/filters/test_sass.rb +8 -8
  168. data/test/filters/test_slim.rb +3 -3
  169. data/test/filters/test_uglify_js.rb +1 -1
  170. data/test/filters/test_yui_compressor.rb +3 -3
  171. data/test/gem_loader.rb +1 -1
  172. data/test/helper.rb +14 -16
  173. data/test/helpers/test_blogging.rb +28 -28
  174. data/test/helpers/test_breadcrumbs.rb +12 -12
  175. data/test/helpers/test_capturing.rb +7 -7
  176. data/test/helpers/test_filtering.rb +16 -16
  177. data/test/helpers/test_link_to.rb +3 -3
  178. data/test/helpers/test_rendering.rb +1 -1
  179. data/test/helpers/test_tagging.rb +11 -11
  180. data/test/helpers/test_xml_sitemap.rb +18 -18
  181. data/test/tasks/test_clean.rb +8 -8
  182. metadata +2 -2
@@ -8,7 +8,7 @@ class Nanoc::Filters::RDiscountTest < Nanoc::TestCase
8
8
  filter = ::Nanoc::Filters::RDiscount.new
9
9
 
10
10
  # Run filter
11
- result = filter.setup_and_run("> Quote")
11
+ result = filter.setup_and_run('> Quote')
12
12
  assert_match(/<blockquote>\s*<p>Quote<\/p>\s*<\/blockquote>/, result)
13
13
  end
14
14
  end
@@ -21,7 +21,7 @@ class Nanoc::Filters::RDiscountTest < Nanoc::TestCase
21
21
  # Run filter
22
22
  input = "The quotation 'marks' sure make this look sarcastic!"
23
23
  output_expected = /The quotation &lsquo;marks&rsquo; sure make this look sarcastic!/
24
- output_actual = filter.setup_and_run(input, :extensions => [ :smart ])
24
+ output_actual = filter.setup_and_run(input, :extensions => [:smart])
25
25
  assert_match(output_expected, output_actual)
26
26
  end
27
27
  end
@@ -7,7 +7,7 @@ class Nanoc::Filters::RDocTest < Nanoc::TestCase
7
7
  filter = ::Nanoc::Filters::RDoc.new
8
8
 
9
9
  # Run filter
10
- result = filter.setup_and_run("= Foo")
10
+ result = filter.setup_and_run('= Foo')
11
11
  assert_match(%r{\A\s*<h1( id="label-Foo")?>Foo(<span>.*</span>)?</h1>\s*\Z}, result)
12
12
  end
13
13
 
@@ -14,7 +14,7 @@ class Nanoc::Filters::RedcarpetTest < Nanoc::TestCase
14
14
  filter = ::Nanoc::Filters::Redcarpet.new
15
15
 
16
16
  # Run filter
17
- result = filter.setup_and_run("> Quote")
17
+ result = filter.setup_and_run('> Quote')
18
18
  assert_match(/<blockquote>\s*<p>Quote<\/p>\s*<\/blockquote>/, result)
19
19
  end
20
20
  end
@@ -26,13 +26,13 @@ class Nanoc::Filters::RedcarpetTest < Nanoc::TestCase
26
26
 
27
27
  # Run filter
28
28
  if ::Redcarpet::VERSION > '2'
29
- input = "this is ~~good~~ bad"
29
+ input = 'this is ~~good~~ bad'
30
30
  output_expected = /this is <del>good<\/del> bad/
31
31
  output_actual = filter.setup_and_run(input, :options => { :strikethrough => true })
32
32
  else
33
33
  input = "The quotation 'marks' sure make this look sarcastic!"
34
34
  output_expected = /The quotation &lsquo;marks&rsquo; sure make this look sarcastic!/
35
- output_actual = filter.setup_and_run(input, :options => [ :smart ])
35
+ output_actual = filter.setup_and_run(input, :options => [:smart])
36
36
  end
37
37
  assert_match(output_expected, output_actual)
38
38
  end
@@ -62,7 +62,7 @@ class Nanoc::Filters::RedcarpetTest < Nanoc::TestCase
62
62
  if ::Redcarpet::VERSION > '2'
63
63
  output_actual = filter.setup_and_run(input, :renderer_options => { :xhtml => true })
64
64
  else
65
- output_actual = filter.setup_and_run(input, :options => [ :xhtml ])
65
+ output_actual = filter.setup_and_run(input, :options => [:xhtml])
66
66
  end
67
67
  assert_match(output_expected, output_actual)
68
68
  end
@@ -71,7 +71,7 @@ class Nanoc::Filters::RedcarpetTest < Nanoc::TestCase
71
71
  def test_html_toc
72
72
  if_have 'redcarpet' do
73
73
  unless ::Redcarpet::VERSION > '2'
74
- skip "Requires Redcarpet >= 2"
74
+ skip 'Requires Redcarpet >= 2'
75
75
  end
76
76
 
77
77
  # Create filter
@@ -8,8 +8,8 @@ class Nanoc::Filters::RedClothTest < Nanoc::TestCase
8
8
  filter = ::Nanoc::Filters::RedCloth.new
9
9
 
10
10
  # Run filter
11
- result = filter.setup_and_run("h1. Foo")
12
- assert_equal("<h1>Foo</h1>", result)
11
+ result = filter.setup_and_run('h1. Foo')
12
+ assert_equal('<h1>Foo</h1>', result)
13
13
  end
14
14
  end
15
15
 
@@ -19,12 +19,12 @@ class Nanoc::Filters::RedClothTest < Nanoc::TestCase
19
19
  filter = ::Nanoc::Filters::RedCloth.new
20
20
 
21
21
  # Run filter without options
22
- result = filter.setup_and_run("I am a member of SPECTRE.")
22
+ result = filter.setup_and_run('I am a member of SPECTRE.')
23
23
  assert_equal("<p>I am a member of <span class=\"caps\">SPECTRE</span>.</p>", result)
24
24
 
25
25
  # Run filter with options
26
- result = filter.setup_and_run("I am a member of SPECTRE.", :no_span_caps => true)
27
- assert_equal("<p>I am a member of SPECTRE.</p>", result)
26
+ result = filter.setup_and_run('I am a member of SPECTRE.', :no_span_caps => true)
27
+ assert_equal('<p>I am a member of SPECTRE.</p>', result)
28
28
  end
29
29
  end
30
30
 
@@ -19,8 +19,8 @@ class Nanoc::Filters::RelativizePathsTest < Nanoc::TestCase
19
19
  end
20
20
 
21
21
  # Set content
22
- raw_content = %[<a href="/foo">foo</a>]
23
- expected_content = %[<a href="../..">foo</a>]
22
+ raw_content = %(<a href="/foo">foo</a>)
23
+ expected_content = %(<a href="../..">foo</a>)
24
24
 
25
25
  # Test
26
26
  actual_content = filter.setup_and_run(raw_content, :type => :html)
@@ -43,8 +43,8 @@ class Nanoc::Filters::RelativizePathsTest < Nanoc::TestCase
43
43
  end
44
44
 
45
45
  # Set content
46
- raw_content = %[<a href='/foo'>foo</a>]
47
- expected_content = %[<a href="../..">foo</a>]
46
+ raw_content = %(<a href='/foo'>foo</a>)
47
+ expected_content = %(<a href="../..">foo</a>)
48
48
 
49
49
  # Test
50
50
  actual_content = filter.setup_and_run(raw_content, :type => :html)
@@ -67,8 +67,8 @@ class Nanoc::Filters::RelativizePathsTest < Nanoc::TestCase
67
67
  end
68
68
 
69
69
  # Set content
70
- raw_content = %[<a href=/foo>foo</a>]
71
- expected_content = %[<a href="../..">foo</a>]
70
+ raw_content = %(<a href=/foo>foo</a>)
71
+ expected_content = %(<a href="../..">foo</a>)
72
72
 
73
73
  # Test
74
74
  actual_content = filter.setup_and_run(raw_content, :type => :html)
@@ -127,8 +127,8 @@ EOS
127
127
  end
128
128
 
129
129
  # Set content
130
- raw_content = %[<a href="/foo">foo</a> <a href="/bar">bar</a>]
131
- expected_content = %[<a href="../..">foo</a> <a href="../../../bar">bar</a>]
130
+ raw_content = %(<a href="/foo">foo</a> <a href="/bar">bar</a>)
131
+ expected_content = %(<a href="../..">foo</a> <a href="../../../bar">bar</a>)
132
132
 
133
133
  # Test
134
134
  actual_content = filter.setup_and_run(raw_content, :type => :html)
@@ -151,8 +151,8 @@ EOS
151
151
  end
152
152
 
153
153
  # Set content
154
- raw_content = %[<a href="/"><img src="/bar.png" /></a>]
155
- expected_content = %[<a href="../../../"><img src="../../../bar.png"></a>]
154
+ raw_content = %(<a href="/"><img src="/bar.png" /></a>)
155
+ expected_content = %(<a href="../../../"><img src="../../../bar.png"></a>)
156
156
 
157
157
  # Test
158
158
  actual_content = filter.setup_and_run(raw_content, :type => :html)
@@ -175,8 +175,8 @@ EOS
175
175
  end
176
176
 
177
177
  # Set content
178
- raw_content = %[stuff href="/foo" more stuff]
179
- expected_content = %[stuff href="/foo" more stuff]
178
+ raw_content = %(stuff href="/foo" more stuff)
179
+ expected_content = %(stuff href="/foo" more stuff)
180
180
 
181
181
  # Test
182
182
  actual_content = filter.setup_and_run(raw_content, :type => :html)
@@ -199,8 +199,8 @@ EOS
199
199
  end
200
200
 
201
201
  # Set content
202
- raw_content = %[<a href="/">foo</a>]
203
- expected_content = %[<a href="../../">foo</a>]
202
+ raw_content = %(<a href="/">foo</a>)
203
+ expected_content = %(<a href="../../">foo</a>)
204
204
 
205
205
  # Test
206
206
  actual_content = filter.setup_and_run(raw_content, :type => :html)
@@ -223,8 +223,8 @@ EOS
223
223
  end
224
224
 
225
225
  # Set content
226
- raw_content = %[<a href="//example.com/">example.com</a>]
227
- expected_content = %[<a href="//example.com/">example.com</a>]
226
+ raw_content = %(<a href="//example.com/">example.com</a>)
227
+ expected_content = %(<a href="//example.com/">example.com</a>)
228
228
 
229
229
  # Test
230
230
  actual_content = filter.setup_and_run(raw_content, :type => :html)
@@ -247,8 +247,8 @@ EOS
247
247
  end
248
248
 
249
249
  # Set content
250
- raw_content = %[<a href="#max-payne">Max Payne</a>]
251
- expected_content = %[<a href="#max-payne">Max Payne</a>]
250
+ raw_content = %(<a href="#max-payne">Max Payne</a>)
251
+ expected_content = %(<a href="#max-payne">Max Payne</a>)
252
252
 
253
253
  # Test
254
254
  actual_content = filter.setup_and_run(raw_content, :type => :html)
@@ -271,8 +271,8 @@ EOS
271
271
  end
272
272
 
273
273
  # Set content
274
- raw_content = %[<a href="http://example.com/">Example</a>]
275
- expected_content = %[<a href="http://example.com/">Example</a>]
274
+ raw_content = %(<a href="http://example.com/">Example</a>)
275
+ expected_content = %(<a href="http://example.com/">Example</a>)
276
276
 
277
277
  # Test
278
278
  actual_content = filter.setup_and_run(raw_content, :type => :html)
@@ -295,8 +295,8 @@ EOS
295
295
  end
296
296
 
297
297
  # Set content
298
- raw_content = %[<a href="example">Example</a>]
299
- expected_content = %[<a href="example">Example</a>]
298
+ raw_content = %(<a href="example">Example</a>)
299
+ expected_content = %(<a href="example">Example</a>)
300
300
 
301
301
  # Test
302
302
  actual_content = filter.setup_and_run(raw_content, :type => :html)
@@ -318,7 +318,7 @@ EOS
318
318
  @item_rep.path = '/woof/meow/'
319
319
  end
320
320
 
321
- raw_content = %[<object data="/example"><param name="movie" content="/example"></object>]
321
+ raw_content = %(<object data="/example"><param name="movie" content="/example"></object>)
322
322
  actual_content = filter.setup_and_run(raw_content, :type => :html)
323
323
 
324
324
  assert_match(/<object data="..\/..\/example">/, actual_content)
@@ -332,7 +332,7 @@ EOS
332
332
 
333
333
  # Test
334
334
  assert_raises(RuntimeError) do
335
- filter.setup_and_run("moo")
335
+ filter.setup_and_run('moo')
336
336
  end
337
337
  end
338
338
 
@@ -668,12 +668,13 @@ XML
668
668
  end
669
669
 
670
670
  # Set content
671
- raw_content = %[
671
+ raw_content = %(
672
672
  <link rel="stylesheet" href="/foo.css" />
673
673
  <!--[if lt IE 9]>
674
674
  <script src="/js/lib/html5shiv.js"></script>
675
675
  <![endif]-->
676
- ]
676
+
677
+ )
677
678
 
678
679
  actual_content = filter.setup_and_run(raw_content.freeze, :type => :xhtml)
679
680
 
@@ -700,15 +701,16 @@ XML
700
701
  end
701
702
 
702
703
  # Set content
703
- raw_content = %[
704
+ raw_content = %(
704
705
  <!--[if lt IE 9]>
705
706
  <script src="/js/lib/html5shiv.js"></script>
706
707
  <![endif]-->
707
- ]
708
+
709
+ )
708
710
 
709
711
  # Test
710
712
  actual_content = filter.setup_and_run(raw_content.freeze, :type => :html)
711
- assert actual_content.include? %[<script src="../../js/lib/html5shiv.js">]
713
+ assert actual_content.include? %(<script src="../../js/lib/html5shiv.js">)
712
714
  end
713
715
  end
714
716
 
@@ -728,8 +730,8 @@ XML
728
730
  end
729
731
 
730
732
  # Set content
731
- raw_content = %[&lt;!DOCTYPE html>]
732
- expected_content = %[&lt;!DOCTYPE html&gt;]
733
+ raw_content = %(&lt;!DOCTYPE html>)
734
+ expected_content = %(&lt;!DOCTYPE html&gt;)
733
735
 
734
736
  # Test
735
737
  actual_content = filter.setup_and_run(raw_content, :type => :html)
@@ -8,8 +8,8 @@ class Nanoc::Filters::RubyPantsTest < Nanoc::TestCase
8
8
  filter = ::Nanoc::Filters::RubyPants.new
9
9
 
10
10
  # Run filter
11
- result = filter.setup_and_run("Wait---what?")
12
- assert_equal("Wait&#8212;what?", result)
11
+ result = filter.setup_and_run('Wait---what?')
12
+ assert_equal('Wait&#8212;what?', result)
13
13
  end
14
14
  end
15
15
 
@@ -64,8 +64,8 @@ class Nanoc::Filters::SassTest < Nanoc::TestCase
64
64
  filter = create_filter
65
65
 
66
66
  # Create sample file
67
- File.open('moo.sass', 'w') { |io| io.write %Q{@import subdir/relative} }
68
- FileUtils.mkdir_p("subdir")
67
+ File.open('moo.sass', 'w') { |io| io.write %Q(@import subdir/relative) }
68
+ FileUtils.mkdir_p('subdir')
69
69
  File.open('subdir/relative.sass', 'w') { |io| io.write "body\n color: red" }
70
70
 
71
71
  # Run filter
@@ -251,7 +251,7 @@ class Nanoc::Filters::SassTest < Nanoc::TestCase
251
251
 
252
252
  # Check
253
253
  output_files = Dir['output/**/*'].select { |f| File.file?(f) }
254
- assert_equal [ 'output/style/super/main.css' ], output_files
254
+ assert_equal ['output/style/super/main.css'], output_files
255
255
  assert_match(/^p\s*\{\s*color:\s*red;?\s*\}/, File.read('output/style/super/main.css'))
256
256
 
257
257
  # Update included file
@@ -265,22 +265,22 @@ class Nanoc::Filters::SassTest < Nanoc::TestCase
265
265
 
266
266
  # Recheck
267
267
  output_files = Dir['output/**/*'].select { |f| File.file?(f) }
268
- assert_equal [ 'output/style/super/main.css' ], output_files
268
+ assert_equal ['output/style/super/main.css'], output_files
269
269
  assert_match(/^p\s*\{\s*color:\s*blue;?\s*\}/, File.read('output/style/super/main.css'))
270
270
  end
271
271
  end
272
272
  end
273
273
 
274
- private
274
+ private
275
275
 
276
- def create_filter(params={})
276
+ def create_filter(params = {})
277
277
  FileUtils.mkdir_p('content')
278
278
  File.open('content/xyzzy.sass', 'w') { |io| io.write('p\n color: green')}
279
279
 
280
- items = [ Nanoc::Item.new(
280
+ items = [Nanoc::Item.new(
281
281
  'blah',
282
282
  { :content_filename => 'content/xyzzy.sass' },
283
- '/blah/') ]
283
+ '/blah/')]
284
284
  params = { :item => items[0], :items => items }.merge(params)
285
285
  ::Nanoc::Filters::Sass.new(params)
286
286
  end
@@ -13,11 +13,11 @@ class Nanoc::Filters::SlimTest < Nanoc::TestCase
13
13
 
14
14
  # Run filter (assigns without @)
15
15
  result = filter.setup_and_run('p = rabbit')
16
- assert_equal("<p>The rabbit is on the branch.</p>", result)
16
+ assert_equal('<p>The rabbit is on the branch.</p>', result)
17
17
 
18
18
  # Run filter (assigns with @)
19
19
  result = filter.setup_and_run('p = @rabbit')
20
- assert_equal("<p>The rabbit is on the branch.</p>", result)
20
+ assert_equal('<p>The rabbit is on the branch.</p>', result)
21
21
  end
22
22
  end
23
23
 
@@ -26,7 +26,7 @@ class Nanoc::Filters::SlimTest < Nanoc::TestCase
26
26
  filter = ::Nanoc::Filters::Slim.new({ :content => 'The rabbit is on the branch.' })
27
27
 
28
28
  result = filter.setup_and_run('p = yield')
29
- assert_equal("<p>The rabbit is on the branch.</p>", result)
29
+ assert_equal('<p>The rabbit is on the branch.</p>', result)
30
30
  end
31
31
  end
32
32
 
@@ -8,7 +8,7 @@ class Nanoc::Filters::UglifyJSTest < Nanoc::TestCase
8
8
  filter = ::Nanoc::Filters::UglifyJS.new
9
9
 
10
10
  # Run filter
11
- input = "foo = 1; (function(bar) { if (true) alert(bar); })(foo)"
11
+ input = 'foo = 1; (function(bar) { if (true) alert(bar); })(foo)'
12
12
  result = filter.setup_and_run(input)
13
13
  assert_match(/foo=1,function\((.)\)\{alert\(\1\)\}\(foo\);/, result)
14
14
  end
@@ -17,10 +17,10 @@ class Nanoc::Filters::YUICompressorTest < Nanoc::TestCase
17
17
  JAVASCRIPT
18
18
 
19
19
  result = filter.setup_and_run(sample_js, { :type => 'js', :munge => true })
20
- assert_match "function factorial(c){var a=1;for(var b=2;b<=c;b++){a*=b}return a};", result
20
+ assert_match 'function factorial(c){var a=1;for(var b=2;b<=c;b++){a*=b}return a};', result
21
21
 
22
22
  result = filter.setup_and_run(sample_js, { :type => 'js', :munge => false })
23
- assert_match "function factorial(n){var result=1;for(var i=2;i<=n;i++){result*=i}return result};", result
23
+ assert_match 'function factorial(n){var result=1;for(var i=2;i<=n;i++){result*=i}return result};', result
24
24
  end
25
25
  end
26
26
 
@@ -35,7 +35,7 @@ class Nanoc::Filters::YUICompressorTest < Nanoc::TestCase
35
35
  CSS
36
36
 
37
37
  result = filter.setup_and_run(sample_css, { :type => 'css' })
38
- assert_match "*{margin:0}", result
38
+ assert_match '*{margin:0}', result
39
39
  end
40
40
  end
41
41
 
@@ -3,7 +3,7 @@
3
3
  begin
4
4
  require 'rubygems'
5
5
 
6
- gemspec = File.expand_path("nanoc.gemspec", Dir.pwd)
6
+ gemspec = File.expand_path('nanoc.gemspec', Dir.pwd)
7
7
  Gem::Specification.load(gemspec).dependencies.each do |dep|
8
8
  gem dep.name, *dep.requirement.as_list
9
9
  end
@@ -40,7 +40,7 @@ module Nanoc::TestHelpers
40
40
  def if_have(*libs)
41
41
  libs.each do |lib|
42
42
  if defined?(RUBY_ENGINE) && RUBY_ENGINE == 'jruby' && lib == 'nokogiri' && disable_nokogiri?
43
- skip "Pure Java Nokogiri has issues that cause problems with nanoc (see https://github.com/nanoc/nanoc/pull/422) -- run without DISABLE_NOKOGIRI to enable Nokogiri tests"
43
+ skip 'Pure Java Nokogiri has issues that cause problems with nanoc (see https://github.com/nanoc/nanoc/pull/422) -- run without DISABLE_NOKOGIRI to enable Nokogiri tests'
44
44
  return
45
45
  end
46
46
 
@@ -56,15 +56,13 @@ module Nanoc::TestHelpers
56
56
  end
57
57
 
58
58
  def if_implemented
59
- begin
60
- yield
61
- rescue NotImplementedError, NameError
62
- skip $!
63
- return
64
- end
59
+ yield
60
+ rescue NotImplementedError, NameError
61
+ skip $!
62
+ return
65
63
  end
66
64
 
67
- def with_site(params={})
65
+ def with_site(params = {})
68
66
  # Build site name
69
67
  site_name = params[:name]
70
68
  if site_name.nil?
@@ -182,7 +180,7 @@ EOS
182
180
  P(object).tags(:example).each do |example|
183
181
  # Classify
184
182
  lines = example.text.lines.map do |line|
185
- [ line =~ /^\s*# ?=>/ ? :result : :code, line ]
183
+ [line =~ /^\s*# ?=>/ ? :result : :code, line]
186
184
  end
187
185
 
188
186
  # Join
@@ -237,12 +235,12 @@ EOS
237
235
  Nanoc.on_windows?
238
236
  end
239
237
 
240
- def have_command?(cmd)
241
- which, null = on_windows? ? ["where", "NUL"] : ["which", "/dev/null"]
238
+ def command?(cmd)
239
+ which, null = on_windows? ? ['where', 'NUL'] : ['which', '/dev/null']
242
240
  system("#{which} #{cmd} > #{null} 2>&1")
243
241
  end
244
242
 
245
- def have_symlink?
243
+ def symlinks_supported?
246
244
  File.symlink nil, nil
247
245
  rescue NotImplementedError
248
246
  return false
@@ -251,11 +249,11 @@ EOS
251
249
  end
252
250
 
253
251
  def skip_unless_have_command(cmd)
254
- skip "Could not find external command \"#{cmd}\"" unless have_command?(cmd)
252
+ skip "Could not find external command \"#{cmd}\"" unless command?(cmd)
255
253
  end
256
254
 
257
- def skip_unless_have_symlink
258
- skip "Symlinks are not supported by Ruby on Windows" unless have_symlink?
255
+ def skip_unless_symlinks_supported
256
+ skip 'Symlinks are not supported by Ruby on Windows' unless symlinks_supported?
259
257
  end
260
258
 
261
259
  end
@@ -273,6 +271,6 @@ end
273
271
  #
274
272
  class Time
275
273
  def inspect
276
- strftime("%a %b %d %H:%M:%S.#{"%06d" % usec} %Z %Y")
274
+ strftime("%a %b %d %H:%M:%S.#{'%06d' % usec} %Z %Y")
277
275
  end
278
276
  end