nanoc 3.7.4 → 3.7.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (284) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +19 -18
  3. data/LICENSE +1 -1
  4. data/NEWS.md +14 -0
  5. data/Rakefile +1 -1
  6. data/doc/yardoc_handlers/identifier.rb +1 -5
  7. data/lib/nanoc.rb +1 -3
  8. data/lib/nanoc/base.rb +1 -4
  9. data/lib/nanoc/base/checksummer.rb +10 -12
  10. data/lib/nanoc/base/compilation/checksum_store.rb +0 -4
  11. data/lib/nanoc/base/compilation/compiled_content_cache.rb +0 -4
  12. data/lib/nanoc/base/compilation/compiler.rb +27 -31
  13. data/lib/nanoc/base/compilation/compiler_dsl.rb +3 -7
  14. data/lib/nanoc/base/compilation/dependency_tracker.rb +2 -6
  15. data/lib/nanoc/base/compilation/filter.rb +1 -7
  16. data/lib/nanoc/base/compilation/item_rep_proxy.rb +0 -4
  17. data/lib/nanoc/base/compilation/item_rep_recorder_proxy.rb +0 -4
  18. data/lib/nanoc/base/compilation/outdatedness_checker.rb +0 -4
  19. data/lib/nanoc/base/compilation/outdatedness_reasons.rb +0 -6
  20. data/lib/nanoc/base/compilation/rule.rb +1 -5
  21. data/lib/nanoc/base/compilation/rule_context.rb +7 -11
  22. data/lib/nanoc/base/compilation/rule_memory_calculator.rb +0 -4
  23. data/lib/nanoc/base/compilation/rule_memory_store.rb +0 -4
  24. data/lib/nanoc/base/compilation/rules_collection.rb +5 -9
  25. data/lib/nanoc/base/context.rb +0 -3
  26. data/lib/nanoc/base/core_ext.rb +0 -1
  27. data/lib/nanoc/base/core_ext/array.rb +0 -2
  28. data/lib/nanoc/base/core_ext/hash.rb +0 -2
  29. data/lib/nanoc/base/core_ext/pathname.rb +0 -2
  30. data/lib/nanoc/base/core_ext/string.rb +0 -2
  31. data/lib/nanoc/base/directed_graph.rb +0 -4
  32. data/lib/nanoc/base/errors.rb +1 -39
  33. data/lib/nanoc/base/memoization.rb +0 -4
  34. data/lib/nanoc/base/notification_center.rb +1 -7
  35. data/lib/nanoc/base/plugin_registry.rb +4 -10
  36. data/lib/nanoc/base/result_data/item_rep.rb +8 -16
  37. data/lib/nanoc/base/source_data/code_snippet.rb +1 -5
  38. data/lib/nanoc/base/source_data/configuration.rb +0 -4
  39. data/lib/nanoc/base/source_data/data_source.rb +2 -5
  40. data/lib/nanoc/base/source_data/item.rb +3 -7
  41. data/lib/nanoc/base/source_data/item_array.rb +1 -5
  42. data/lib/nanoc/base/source_data/layout.rb +2 -6
  43. data/lib/nanoc/base/source_data/site.rb +20 -23
  44. data/lib/nanoc/base/store.rb +1 -5
  45. data/lib/nanoc/base/temp_filename_factory.rb +0 -4
  46. data/lib/nanoc/cli.rb +3 -5
  47. data/lib/nanoc/cli/ansi_string_colorizer.rb +6 -10
  48. data/lib/nanoc/cli/cleaning_stream.rb +2 -6
  49. data/lib/nanoc/cli/command_runner.rb +1 -5
  50. data/lib/nanoc/cli/commands/autocompile.rb +2 -6
  51. data/lib/nanoc/cli/commands/check.rb +0 -4
  52. data/lib/nanoc/cli/commands/compile.rb +12 -27
  53. data/lib/nanoc/cli/commands/create-item.rb +1 -5
  54. data/lib/nanoc/cli/commands/create-layout.rb +0 -4
  55. data/lib/nanoc/cli/commands/create-site.rb +2 -8
  56. data/lib/nanoc/cli/commands/deploy.rb +3 -7
  57. data/lib/nanoc/cli/commands/prune.rb +2 -6
  58. data/lib/nanoc/cli/commands/shell.rb +4 -8
  59. data/lib/nanoc/cli/commands/show-data.rb +3 -7
  60. data/lib/nanoc/cli/commands/show-plugins.rb +3 -7
  61. data/lib/nanoc/cli/commands/show-rules.rb +11 -15
  62. data/lib/nanoc/cli/commands/sync.rb +0 -4
  63. data/lib/nanoc/cli/commands/update.rb +1 -7
  64. data/lib/nanoc/cli/commands/validate-css.rb +0 -4
  65. data/lib/nanoc/cli/commands/validate-html.rb +0 -4
  66. data/lib/nanoc/cli/commands/validate-links.rb +0 -4
  67. data/lib/nanoc/cli/commands/view.rb +3 -7
  68. data/lib/nanoc/cli/commands/watch.rb +4 -10
  69. data/lib/nanoc/cli/error_handler.rb +9 -13
  70. data/lib/nanoc/cli/logger.rb +8 -12
  71. data/lib/nanoc/cli/stream_cleaners.rb +0 -4
  72. data/lib/nanoc/cli/stream_cleaners/abstract.rb +1 -5
  73. data/lib/nanoc/cli/stream_cleaners/ansi_colors.rb +0 -4
  74. data/lib/nanoc/cli/stream_cleaners/utf8.rb +1 -5
  75. data/lib/nanoc/data_sources.rb +2 -4
  76. data/lib/nanoc/data_sources/deprecated/delicious.rb +6 -10
  77. data/lib/nanoc/data_sources/deprecated/last_fm.rb +7 -11
  78. data/lib/nanoc/data_sources/deprecated/twitter.rb +2 -6
  79. data/lib/nanoc/data_sources/filesystem.rb +10 -13
  80. data/lib/nanoc/data_sources/filesystem_unified.rb +0 -4
  81. data/lib/nanoc/data_sources/filesystem_verbose.rb +0 -4
  82. data/lib/nanoc/data_sources/static.rb +4 -8
  83. data/lib/nanoc/extra.rb +2 -4
  84. data/lib/nanoc/extra/auto_compiler.rb +2 -6
  85. data/lib/nanoc/extra/checking.rb +0 -4
  86. data/lib/nanoc/extra/checking/check.rb +0 -4
  87. data/lib/nanoc/extra/checking/checks.rb +0 -2
  88. data/lib/nanoc/extra/checking/checks/css.rb +6 -6
  89. data/lib/nanoc/extra/checking/checks/external_links.rb +3 -11
  90. data/lib/nanoc/extra/checking/checks/html.rb +6 -6
  91. data/lib/nanoc/extra/checking/checks/internal_links.rb +3 -7
  92. data/lib/nanoc/extra/checking/checks/stale.rb +3 -7
  93. data/lib/nanoc/extra/checking/dsl.rb +0 -4
  94. data/lib/nanoc/extra/checking/issue.rb +0 -4
  95. data/lib/nanoc/extra/checking/runner.rb +4 -7
  96. data/lib/nanoc/extra/chick.rb +7 -17
  97. data/lib/nanoc/extra/core_ext.rb +0 -1
  98. data/lib/nanoc/extra/core_ext/pathname.rb +0 -4
  99. data/lib/nanoc/extra/core_ext/time.rb +0 -2
  100. data/lib/nanoc/extra/deployer.rb +0 -4
  101. data/lib/nanoc/extra/deployers.rb +0 -4
  102. data/lib/nanoc/extra/deployers/fog.rb +7 -11
  103. data/lib/nanoc/extra/deployers/rsync.rb +1 -5
  104. data/lib/nanoc/extra/file_proxy.rb +1 -5
  105. data/lib/nanoc/extra/filesystem_tools.rb +37 -12
  106. data/lib/nanoc/extra/jruby_nokogiri_warner.rb +0 -4
  107. data/lib/nanoc/extra/link_collector.rb +3 -7
  108. data/lib/nanoc/extra/piper.rb +0 -6
  109. data/lib/nanoc/extra/pruner.rb +1 -7
  110. data/lib/nanoc/extra/validators.rb +0 -4
  111. data/lib/nanoc/extra/validators/links.rb +0 -4
  112. data/lib/nanoc/extra/validators/w3c.rb +0 -4
  113. data/lib/nanoc/extra/vcs.rb +3 -7
  114. data/lib/nanoc/extra/vcses.rb +0 -2
  115. data/lib/nanoc/extra/vcses/bazaar.rb +0 -4
  116. data/lib/nanoc/extra/vcses/dummy.rb +0 -4
  117. data/lib/nanoc/extra/vcses/git.rb +0 -4
  118. data/lib/nanoc/extra/vcses/mercurial.rb +0 -4
  119. data/lib/nanoc/extra/vcses/subversion.rb +0 -4
  120. data/lib/nanoc/filters.rb +0 -2
  121. data/lib/nanoc/filters/asciidoc.rb +1 -5
  122. data/lib/nanoc/filters/bluecloth.rb +0 -2
  123. data/lib/nanoc/filters/coderay.rb +0 -2
  124. data/lib/nanoc/filters/coffeescript.rb +0 -4
  125. data/lib/nanoc/filters/colorize_syntax.rb +17 -15
  126. data/lib/nanoc/filters/erb.rb +1 -3
  127. data/lib/nanoc/filters/erubis.rb +2 -4
  128. data/lib/nanoc/filters/haml.rb +2 -4
  129. data/lib/nanoc/filters/handlebars.rb +0 -4
  130. data/lib/nanoc/filters/kramdown.rb +7 -4
  131. data/lib/nanoc/filters/less.rb +1 -3
  132. data/lib/nanoc/filters/markaby.rb +0 -2
  133. data/lib/nanoc/filters/maruku.rb +0 -2
  134. data/lib/nanoc/filters/mustache.rb +1 -5
  135. data/lib/nanoc/filters/pandoc.rb +0 -2
  136. data/lib/nanoc/filters/rainpress.rb +0 -2
  137. data/lib/nanoc/filters/rdiscount.rb +0 -2
  138. data/lib/nanoc/filters/rdoc.rb +0 -2
  139. data/lib/nanoc/filters/redcarpet.rb +0 -4
  140. data/lib/nanoc/filters/redcloth.rb +0 -2
  141. data/lib/nanoc/filters/relativize_paths.rb +2 -4
  142. data/lib/nanoc/filters/rubypants.rb +0 -2
  143. data/lib/nanoc/filters/sass.rb +2 -4
  144. data/lib/nanoc/filters/sass/sass_filesystem_importer.rb +0 -2
  145. data/lib/nanoc/filters/slim.rb +2 -6
  146. data/lib/nanoc/filters/typogruby.rb +0 -4
  147. data/lib/nanoc/filters/uglify_js.rb +0 -2
  148. data/lib/nanoc/filters/xsl.rb +1 -5
  149. data/lib/nanoc/filters/yui_compressor.rb +0 -4
  150. data/lib/nanoc/helpers.rb +0 -2
  151. data/lib/nanoc/helpers/blogging.rb +12 -20
  152. data/lib/nanoc/helpers/breadcrumbs.rb +0 -4
  153. data/lib/nanoc/helpers/capturing.rb +2 -10
  154. data/lib/nanoc/helpers/filtering.rb +0 -4
  155. data/lib/nanoc/helpers/html_escape.rb +3 -7
  156. data/lib/nanoc/helpers/link_to.rb +0 -4
  157. data/lib/nanoc/helpers/rendering.rb +8 -12
  158. data/lib/nanoc/helpers/tagging.rb +0 -4
  159. data/lib/nanoc/helpers/text.rb +1 -5
  160. data/lib/nanoc/helpers/xml_sitemap.rb +3 -7
  161. data/lib/nanoc/tasks/clean.rb +1 -7
  162. data/lib/nanoc/tasks/deploy/rsync.rake +0 -2
  163. data/lib/nanoc/tasks/validate.rake +0 -4
  164. data/lib/nanoc/version.rb +1 -3
  165. data/nanoc.gemspec +12 -9
  166. data/tasks/rubocop.rake +1 -1
  167. data/tasks/test.rake +6 -7
  168. data/test/base/checksummer_spec.rb +28 -44
  169. data/test/base/core_ext/array_spec.rb +1 -9
  170. data/test/base/core_ext/hash_spec.rb +7 -19
  171. data/test/base/core_ext/pathname_spec.rb +2 -4
  172. data/test/base/core_ext/string_spec.rb +0 -4
  173. data/test/base/temp_filename_factory_spec.rb +0 -8
  174. data/test/base/test_checksum_store.rb +0 -2
  175. data/test/base/test_code_snippet.rb +0 -2
  176. data/test/base/test_compiler.rb +15 -17
  177. data/test/base/test_compiler_dsl.rb +7 -9
  178. data/test/base/test_context.rb +2 -4
  179. data/test/base/test_data_source.rb +0 -2
  180. data/test/base/test_dependency_tracker.rb +0 -2
  181. data/test/base/test_directed_graph.rb +2 -4
  182. data/test/base/test_filter.rb +5 -7
  183. data/test/base/test_item.rb +17 -13
  184. data/test/base/test_item_array.rb +2 -4
  185. data/test/base/test_item_rep.rb +79 -73
  186. data/test/base/test_layout.rb +3 -5
  187. data/test/base/test_memoization.rb +13 -21
  188. data/test/base/test_notification_center.rb +0 -2
  189. data/test/base/test_outdatedness_checker.rb +34 -36
  190. data/test/base/test_plugin.rb +0 -2
  191. data/test/base/test_rule.rb +3 -5
  192. data/test/base/test_rule_context.rb +4 -6
  193. data/test/base/test_site.rb +9 -17
  194. data/test/base/test_store.rb +2 -6
  195. data/test/cli/commands/test_check.rb +1 -3
  196. data/test/cli/commands/test_compile.rb +24 -15
  197. data/test/cli/commands/test_create_item.rb +1 -3
  198. data/test/cli/commands/test_create_layout.rb +0 -2
  199. data/test/cli/commands/test_create_site.rb +0 -3
  200. data/test/cli/commands/test_deploy.rb +9 -11
  201. data/test/cli/commands/test_help.rb +0 -2
  202. data/test/cli/commands/test_info.rb +0 -2
  203. data/test/cli/commands/test_prune.rb +6 -8
  204. data/test/cli/commands/test_sync.rb +0 -2
  205. data/test/cli/commands/test_update.rb +0 -2
  206. data/test/cli/commands/test_watch.rb +4 -6
  207. data/test/cli/test_cleaning_stream.rb +4 -6
  208. data/test/cli/test_cli.rb +9 -5
  209. data/test/cli/test_error_handler.rb +9 -7
  210. data/test/cli/test_logger.rb +0 -2
  211. data/test/data_sources/test_filesystem.rb +8 -10
  212. data/test/data_sources/test_filesystem_unified.rb +35 -34
  213. data/test/data_sources/test_filesystem_verbose.rb +31 -33
  214. data/test/data_sources/test_static.rb +20 -21
  215. data/test/extra/checking/checks/test_css.rb +23 -2
  216. data/test/extra/checking/checks/test_external_links.rb +2 -4
  217. data/test/extra/checking/checks/test_html.rb +4 -3
  218. data/test/extra/checking/checks/test_internal_links.rb +1 -3
  219. data/test/extra/checking/checks/test_stale.rb +4 -6
  220. data/test/extra/checking/test_check.rb +0 -2
  221. data/test/extra/checking/test_dsl.rb +1 -3
  222. data/test/extra/checking/test_runner.rb +0 -2
  223. data/test/extra/core_ext/test_pathname.rb +0 -3
  224. data/test/extra/core_ext/test_time.rb +0 -2
  225. data/test/extra/deployers/test_fog.rb +13 -15
  226. data/test/extra/deployers/test_rsync.rb +4 -6
  227. data/test/extra/test_auto_compiler.rb +47 -25
  228. data/test/extra/test_file_proxy.rb +1 -3
  229. data/test/extra/test_filesystem_tools.rb +47 -7
  230. data/test/extra/test_link_collector.rb +0 -2
  231. data/test/extra/test_piper.rb +3 -5
  232. data/test/extra/test_vcs.rb +0 -2
  233. data/test/extra/validators/test_links.rb +0 -1
  234. data/test/extra/validators/test_w3c.rb +2 -4
  235. data/test/filters/test_asciidoc.rb +0 -2
  236. data/test/filters/test_bluecloth.rb +0 -2
  237. data/test/filters/test_coderay.rb +2 -4
  238. data/test/filters/test_coffeescript.rb +0 -2
  239. data/test/filters/test_colorize_syntax.rb +16 -18
  240. data/test/filters/test_erb.rb +12 -14
  241. data/test/filters/test_erubis.rb +4 -6
  242. data/test/filters/test_haml.rb +7 -9
  243. data/test/filters/test_handlebars.rb +10 -12
  244. data/test/filters/test_kramdown.rb +13 -1
  245. data/test/filters/test_less.rb +9 -11
  246. data/test/filters/test_markaby.rb +0 -2
  247. data/test/filters/test_maruku.rb +0 -2
  248. data/test/filters/test_mustache.rb +4 -6
  249. data/test/filters/test_pandoc.rb +1 -3
  250. data/test/filters/test_rainpress.rb +1 -3
  251. data/test/filters/test_rdiscount.rb +1 -3
  252. data/test/filters/test_rdoc.rb +0 -2
  253. data/test/filters/test_redcarpet.rb +6 -8
  254. data/test/filters/test_redcloth.rb +1 -3
  255. data/test/filters/test_relativize_paths.rb +29 -34
  256. data/test/filters/test_rubypants.rb +0 -2
  257. data/test/filters/test_sass.rb +8 -10
  258. data/test/filters/test_slim.rb +2 -4
  259. data/test/filters/test_typogruby.rb +0 -3
  260. data/test/filters/test_uglify_js.rb +2 -4
  261. data/test/filters/test_xsl.rb +16 -18
  262. data/test/filters/test_yui_compressor.rb +3 -5
  263. data/test/fixtures/vcr_cassettes/css_run_parse_error.yml +65 -0
  264. data/test/gem_loader.rb +1 -1
  265. data/test/helper.rb +11 -15
  266. data/test/helpers/test_blogging.rb +61 -63
  267. data/test/helpers/test_breadcrumbs.rb +0 -2
  268. data/test/helpers/test_capturing.rb +4 -6
  269. data/test/helpers/test_filtering.rb +2 -4
  270. data/test/helpers/test_html_escape.rb +0 -2
  271. data/test/helpers/test_link_to.rb +5 -6
  272. data/test/helpers/test_rendering.rb +2 -4
  273. data/test/helpers/test_tagging.rb +9 -11
  274. data/test/helpers/test_text.rb +6 -8
  275. data/test/helpers/test_xml_sitemap.rb +11 -13
  276. data/test/tasks/test_clean.rb +0 -2
  277. data/test/test_gem.rb +1 -3
  278. metadata +15 -14
  279. data/Gemfile.lock +0 -252
  280. data/lib/nanoc/base/core_ext/date.rb +0 -29
  281. data/lib/nanoc/base/ordered_hash.rb +0 -228
  282. data/lib/nanoc/extra/core_ext/enumerable.rb +0 -33
  283. data/test/base/core_ext/date_spec.rb +0 -15
  284. data/test/extra/core_ext/test_enumerable.rb +0 -28
@@ -1,5 +1,4 @@
1
1
  class Nanoc::CLI::Commands::SyncTest < Nanoc::TestCase
2
-
3
2
  def test_run
4
3
  with_site do
5
4
  File.open('lib/foo_data_source.rb', 'w') do |io|
@@ -25,5 +24,4 @@ class Nanoc::CLI::Commands::SyncTest < Nanoc::TestCase
25
24
  assert_equal File.read('foo_source_data.yaml'), 'sync: true'
26
25
  end
27
26
  end
28
-
29
27
  end
@@ -1,8 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  class Nanoc::CLI::Commands::UpdateTest < Nanoc::TestCase
4
-
5
4
  def test_stub
6
5
  end
7
-
8
6
  end
@@ -1,9 +1,8 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  class Nanoc::CLI::Commands::WatchTest < Nanoc::TestCase
4
-
5
4
  def test_run
6
- with_site do |s|
5
+ with_site do |_s|
7
6
  watch_thread = Thread.new do
8
7
  Nanoc::CLI.run %w( watch )
9
8
  end
@@ -19,7 +18,7 @@ class Nanoc::CLI::Commands::WatchTest < Nanoc::TestCase
19
18
  end
20
19
 
21
20
  def test_notify
22
- with_site do |s|
21
+ with_site do |_s|
23
22
  watch_thread = Thread.new do
24
23
  Nanoc::CLI.run %w( watch )
25
24
  end
@@ -50,7 +49,7 @@ class Nanoc::CLI::Commands::WatchTest < Nanoc::TestCase
50
49
  sleep 0.5
51
50
  end
52
51
  unless File.file?(filename)
53
- raise RuntimeError, "Expected #{filename} to appear but it didn't :("
52
+ raise "Expected #{filename} to appear but it didn't :("
54
53
  end
55
54
  end
56
55
 
@@ -64,7 +63,7 @@ class Nanoc::CLI::Commands::WatchTest < Nanoc::TestCase
64
63
 
65
64
  actual_content = File.read(filename)
66
65
  if actual_content != expected_content
67
- raise RuntimeError, "Expected #{filename} to have " \
66
+ raise "Expected #{filename} to have " \
68
67
  "content #{expected_content.inspect} but it had " \
69
68
  "content #{actual_content.inspect} instead :("
70
69
  end
@@ -72,5 +71,4 @@ class Nanoc::CLI::Commands::WatchTest < Nanoc::TestCase
72
71
  # Ugly, but seems to be necessary or changes are not picked up. :(
73
72
  sleep 0.5
74
73
  end
75
-
76
74
  end
@@ -1,19 +1,16 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  class Nanoc::CLI::CleaningStreamTest < Nanoc::TestCase
4
-
5
4
  class Stream
6
-
7
5
  attr_accessor :called_methods
8
6
 
9
7
  def initialize
10
8
  @called_methods = Set.new
11
9
  end
12
10
 
13
- def method_missing(symbol, *args)
11
+ def method_missing(symbol, *_args)
14
12
  @called_methods << symbol
15
13
  end
16
-
17
14
  end
18
15
 
19
16
  def test_forward
@@ -51,10 +48,11 @@ class Nanoc::CLI::CleaningStreamTest < Nanoc::TestCase
51
48
 
52
49
  def test_broken_pipe
53
50
  stream = StringIO.new
54
- def stream.write(s); raise Errno::EPIPE.new; end
51
+ def stream.write(_s)
52
+ raise Errno::EPIPE.new
53
+ end
55
54
 
56
55
  cleaning_stream = Nanoc::CLI::CleaningStream.new(stream)
57
56
  cleaning_stream.write('lol')
58
57
  end
59
-
60
58
  end
@@ -1,7 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  class Nanoc::CLITest < Nanoc::TestCase
4
-
5
4
  COMMAND_CODE = <<EOS
6
5
  # encoding: utf-8
7
6
 
@@ -119,18 +118,24 @@ EOS
119
118
  }
120
119
  with_env_vars(new_env_diff) do
121
120
  io = StringIO.new
122
- def io.tty?; true; end
121
+ def io.tty?
122
+ true
123
+ end
123
124
  refute Nanoc::CLI.enable_utf8?(io)
124
125
 
125
126
  io = StringIO.new
126
- def io.tty?; false; end
127
+ def io.tty?
128
+ false
129
+ end
127
130
  assert Nanoc::CLI.enable_utf8?(io)
128
131
  end
129
132
  end
130
133
 
131
134
  def test_enable_utf8
132
135
  io = StringIO.new
133
- def io.tty?; true; end
136
+ def io.tty?
137
+ true
138
+ end
134
139
 
135
140
  new_env_diff = {
136
141
  'LC_ALL' => 'en_US.ISO-8859-1',
@@ -153,5 +158,4 @@ EOS
153
158
  with_env_vars({ 'LANG' => 'en_US.utf8' }) { assert Nanoc::CLI.enable_utf8?(io) }
154
159
  end
155
160
  end
156
-
157
161
  end
@@ -1,7 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  class Nanoc::CLI::ErrorHandlerTest < Nanoc::TestCase
4
-
5
4
  def setup
6
5
  super
7
6
  @handler = Nanoc::CLI::ErrorHandler.new
@@ -13,13 +12,17 @@ class Nanoc::CLI::ErrorHandlerTest < Nanoc::TestCase
13
12
  end
14
13
 
15
14
  def test_resolution_for_with_known_gem_without_bundler
16
- def @handler.using_bundler?; false; end
15
+ def @handler.using_bundler?
16
+ false
17
+ end
17
18
  error = LoadError.new('no such file to load -- kramdown')
18
19
  assert_match(/^Install the 'kramdown' gem using `gem install kramdown`./, @handler.send(:resolution_for, error))
19
20
  end
20
21
 
21
22
  def test_resolution_for_with_known_gem_with_bundler
22
- def @handler.using_bundler?; true; end
23
+ def @handler.using_bundler?
24
+ true
25
+ end
23
26
  error = LoadError.new('no such file to load -- kramdown')
24
27
  assert_match(/^Make sure the gem is added to Gemfile/, @handler.send(:resolution_for, error))
25
28
  end
@@ -33,15 +36,15 @@ class Nanoc::CLI::ErrorHandlerTest < Nanoc::TestCase
33
36
  error = new_error(20)
34
37
 
35
38
  stream = StringIO.new
36
- @handler.send(:write_stack_trace, stream, error, :verbose => false)
39
+ @handler.send(:write_stack_trace, stream, error, verbose: false)
37
40
  assert_match(/See full crash log for details./, stream.string)
38
41
 
39
42
  stream = StringIO.new
40
- @handler.send(:write_stack_trace, stream, error, :verbose => false)
43
+ @handler.send(:write_stack_trace, stream, error, verbose: false)
41
44
  assert_match(/See full crash log for details./, stream.string)
42
45
 
43
46
  stream = StringIO.new
44
- @handler.send(:write_stack_trace, stream, error, :verbose => true)
47
+ @handler.send(:write_stack_trace, stream, error, verbose: true)
45
48
  refute_match(/See full crash log for details./, stream.string)
46
49
  end
47
50
 
@@ -60,5 +63,4 @@ class Nanoc::CLI::ErrorHandlerTest < Nanoc::TestCase
60
63
  return e
61
64
  end
62
65
  end
63
-
64
66
  end
@@ -1,8 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  class Nanoc::CLI::LoggerTest < Nanoc::TestCase
4
-
5
4
  def test_stub
6
5
  end
7
-
8
6
  end
@@ -1,7 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  class Nanoc::DataSources::FilesystemTest < Nanoc::TestCase
4
-
5
4
  class SampleFilesystemDataSource < Nanoc::DataSource
6
5
  include Nanoc::DataSources::Filesystem
7
6
  end
@@ -71,7 +70,7 @@ class Nanoc::DataSources::FilesystemTest < Nanoc::TestCase
71
70
 
72
71
  def test_all_split_files_in_allowing_periods_in_identifiers
73
72
  # Create data source
74
- data_source = Nanoc::DataSources::FilesystemCompact.new(nil, nil, nil, { :allow_periods_in_identifiers => true })
73
+ data_source = Nanoc::DataSources::FilesystemCompact.new(nil, nil, nil, { allow_periods_in_identifiers: true })
75
74
 
76
75
  # Write sample files
77
76
  FileUtils.mkdir_p('foo')
@@ -86,7 +85,7 @@ class Nanoc::DataSources::FilesystemTest < Nanoc::TestCase
86
85
 
87
86
  # Get all files
88
87
  output_expected = {
89
- './foo' => ['yaml', 'html'],
88
+ './foo' => %w(yaml html),
90
89
  './bar.entry' => [nil, 'html'],
91
90
  './foo/qux' => ['yaml', nil]
92
91
  }
@@ -113,7 +112,7 @@ class Nanoc::DataSources::FilesystemTest < Nanoc::TestCase
113
112
 
114
113
  # Get all files
115
114
  output_expected = {
116
- './foo' => ['yaml', 'html'],
115
+ './foo' => %w(yaml html),
117
116
  './bar' => [nil, 'html.erb'],
118
117
  './foo/qux' => ['yaml', nil]
119
118
  }
@@ -159,7 +158,7 @@ class Nanoc::DataSources::FilesystemTest < Nanoc::TestCase
159
158
 
160
159
  def test_basename_of_allowing_periods_in_identifiers
161
160
  # Create data source
162
- data_source = Nanoc::DataSources::FilesystemCompact.new(nil, nil, nil, { :allow_periods_in_identifiers => true })
161
+ data_source = Nanoc::DataSources::FilesystemCompact.new(nil, nil, nil, { allow_periods_in_identifiers: true })
163
162
 
164
163
  # Get input and expected output
165
164
  expected = {
@@ -219,7 +218,7 @@ class Nanoc::DataSources::FilesystemTest < Nanoc::TestCase
219
218
 
220
219
  def test_ext_of_allowing_periods_in_identifiers
221
220
  # Create data source
222
- data_source = Nanoc::DataSources::FilesystemCompact.new(nil, nil, nil, { :allow_periods_in_identifiers => true })
221
+ data_source = Nanoc::DataSources::FilesystemCompact.new(nil, nil, nil, { allow_periods_in_identifiers: true })
223
222
 
224
223
  # Get input and expected output
225
224
  expected = {
@@ -417,14 +416,14 @@ class Nanoc::DataSources::FilesystemTest < Nanoc::TestCase
417
416
 
418
417
  def test_parse_utf8_bom
419
418
  File.open('test.html', 'w') do |io|
420
- io.write [0xEF, 0xBB, 0xBF].map { |i| i.chr }.join
419
+ io.write [0xEF, 0xBB, 0xBF].map(&:chr).join
421
420
  io.write "-----\n"
422
421
  io.write "utf8bomawareness: high\n"
423
422
  io.write "-----\n"
424
423
  io.write "content goes here\n"
425
424
  end
426
425
 
427
- data_source = Nanoc::DataSources::FilesystemCombined.new(nil, nil, nil, :encoding => 'utf-8')
426
+ data_source = Nanoc::DataSources::FilesystemCombined.new(nil, nil, nil, encoding: 'utf-8')
428
427
 
429
428
  result = data_source.instance_eval { parse('test.html', nil, 'foobar') }
430
429
  assert_equal({ 'utf8bomawareness' => 'high' }, result[0])
@@ -476,8 +475,7 @@ class Nanoc::DataSources::FilesystemTest < Nanoc::TestCase
476
475
 
477
476
  # Parse it
478
477
  result = data_source.instance_eval { parse('test.html', 'test.yaml', 'foobar') }
479
- assert_equal({ 'foo' => 'bar'}, result[0])
478
+ assert_equal({ 'foo' => 'bar' }, result[0])
480
479
  assert_equal('blah blah', result[1])
481
480
  end
482
-
483
481
  end
@@ -1,7 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  class Nanoc::DataSources::FilesystemUnifiedTest < Nanoc::TestCase
4
-
5
4
  def new_data_source(params = nil)
6
5
  # Mock site
7
6
  site = Nanoc::Site.new({})
@@ -16,7 +15,7 @@ class Nanoc::DataSources::FilesystemUnifiedTest < Nanoc::TestCase
16
15
  def test_create_object_not_at_root
17
16
  # Create item
18
17
  data_source = new_data_source
19
- data_source.send(:create_object, 'foobar', 'content here', { :foo => 'bar' }, '/asdf/')
18
+ data_source.send(:create_object, 'foobar', 'content here', { foo: 'bar' }, '/asdf/')
20
19
 
21
20
  # Check file existance
22
21
  assert File.directory?('foobar')
@@ -32,7 +31,7 @@ class Nanoc::DataSources::FilesystemUnifiedTest < Nanoc::TestCase
32
31
  def test_create_object_at_root
33
32
  # Create item
34
33
  data_source = new_data_source
35
- data_source.send(:create_object, 'foobar', 'content here', { :foo => 'bar' }, '/')
34
+ data_source.send(:create_object, 'foobar', 'content here', { foo: 'bar' }, '/')
36
35
 
37
36
  # Check file existance
38
37
  assert File.directory?('foobar')
@@ -55,6 +54,7 @@ class Nanoc::DataSources::FilesystemUnifiedTest < Nanoc::TestCase
55
54
  def initialize(*stuff)
56
55
  @stuff = stuff
57
56
  end
57
+
58
58
  def ==(other)
59
59
  @stuff == other.stuff
60
60
  end
@@ -77,30 +77,30 @@ class Nanoc::DataSources::FilesystemUnifiedTest < Nanoc::TestCase
77
77
  'test 1',
78
78
  { 'num' => 1, :filename => 'foo/bar.html', :extension => 'html', :file => File.open('foo/bar.html') },
79
79
  '/bar/',
80
- :binary => false, :mtime => File.mtime('foo/bar.html')
80
+ binary: false, mtime: File.mtime('foo/bar.html')
81
81
  ),
82
82
  klass.new(
83
83
  'test 2',
84
84
  { 'num' => 2, :filename => 'foo/b.c.html', :extension => 'c.html', :file => File.open('foo/b.c.html') },
85
85
  '/b/',
86
- :binary => false, :mtime => File.mtime('foo/b.c.html')
86
+ binary: false, mtime: File.mtime('foo/b.c.html')
87
87
  ),
88
88
  klass.new(
89
89
  'test 3',
90
90
  { 'num' => 3, :filename => 'foo/a/b/c.html', :extension => 'html', :file => File.open('foo/a/b/c.html') },
91
91
  '/a/b/c/',
92
- :binary => false, :mtime => File.mtime('foo/a/b/c.html')
92
+ binary: false, mtime: File.mtime('foo/a/b/c.html')
93
93
  )
94
94
  ]
95
95
  actual_out = data_source.send(:load_objects, 'foo', 'The Foo', klass).sort_by { |i| i.stuff[0] }
96
96
 
97
97
  # Check
98
- (0..expected_out.size-1).each do |i|
98
+ (0..expected_out.size - 1).each do |i|
99
99
  assert_equal expected_out[i].stuff[0], actual_out[i].stuff[0], 'content must match'
100
100
  assert_equal expected_out[i].stuff[2], actual_out[i].stuff[2], 'identifier must match'
101
101
  assert_equal expected_out[i].stuff[3][:mtime], actual_out[i].stuff[3][:mtime], 'mtime must match'
102
102
  assert_equal expected_out[i].stuff[1][:file].path, actual_out[i].stuff[1][:file].path, 'file paths must match'
103
- expected_out[i].stuff[1][:file].close;
103
+ expected_out[i].stuff[1][:file].close
104
104
  actual_out[i].stuff[1][:file].close
105
105
  ['num', :filename, :extension].each do |key|
106
106
  assert_equal expected_out[i].stuff[1][key], actual_out[i].stuff[1][key], "attribute key #{key} must match"
@@ -142,7 +142,7 @@ class Nanoc::DataSources::FilesystemUnifiedTest < Nanoc::TestCase
142
142
 
143
143
  def test_identifier_for_filename_allowing_periods_in_identifiers
144
144
  # Create data source
145
- data_source = new_data_source(:allow_periods_in_identifiers => true)
145
+ data_source = new_data_source(allow_periods_in_identifiers: true)
146
146
 
147
147
  # Get input and expected output
148
148
  expected = {
@@ -198,7 +198,7 @@ class Nanoc::DataSources::FilesystemUnifiedTest < Nanoc::TestCase
198
198
  'foo/blah_index.yaml' => '/foo/blah_index/'
199
199
  }
200
200
 
201
- data_source = new_data_source(:allow_periods_in_identifiers => true)
201
+ data_source = new_data_source(allow_periods_in_identifiers: true)
202
202
  expectations.each_pair do |meta_filename, expected_identifier|
203
203
  content_filename = meta_filename.sub(/yaml$/, 'html')
204
204
  [meta_filename, content_filename].each do |filename|
@@ -246,7 +246,7 @@ class Nanoc::DataSources::FilesystemUnifiedTest < Nanoc::TestCase
246
246
  '/foo/index' => '/foo/',
247
247
  }
248
248
 
249
- data_source = new_data_source(:allow_periods_in_identifiers => true)
249
+ data_source = new_data_source(allow_periods_in_identifiers: true)
250
250
  expected.each_pair do |input, expected_output|
251
251
  actual_output = data_source.send(:identifier_for_filename, input)
252
252
  assert_equal(
@@ -278,7 +278,7 @@ class Nanoc::DataSources::FilesystemUnifiedTest < Nanoc::TestCase
278
278
 
279
279
  def test_load_objects_allowing_periods_in_identifiers
280
280
  # Create data source
281
- data_source = new_data_source(:allow_periods_in_identifiers => true)
281
+ data_source = new_data_source(allow_periods_in_identifiers: true)
282
282
 
283
283
  # Create a fake class
284
284
  klass = Class.new do
@@ -286,6 +286,7 @@ class Nanoc::DataSources::FilesystemUnifiedTest < Nanoc::TestCase
286
286
  def initialize(*stuff)
287
287
  @stuff = stuff
288
288
  end
289
+
289
290
  def ==(other)
290
291
  @stuff == other.stuff
291
292
  end
@@ -316,7 +317,7 @@ class Nanoc::DataSources::FilesystemUnifiedTest < Nanoc::TestCase
316
317
  :file => nil
317
318
  },
318
319
  '/a/b/c/',
319
- :binary => false, :mtime => File.mtime('foo/a/b/c.yaml')
320
+ binary: false, mtime: File.mtime('foo/a/b/c.yaml')
320
321
  ),
321
322
  klass.new(
322
323
  'test 2',
@@ -328,18 +329,18 @@ class Nanoc::DataSources::FilesystemUnifiedTest < Nanoc::TestCase
328
329
  :file => File.open('foo/b.c.html')
329
330
  },
330
331
  '/b.c/',
331
- :binary => false, :mtime => File.mtime('foo/b.c.html') > File.mtime('foo/b.c.yaml') ? File.mtime('foo/b.c.html') : File.mtime('foo/b.c.yaml')
332
+ binary: false, mtime: File.mtime('foo/b.c.html') > File.mtime('foo/b.c.yaml') ? File.mtime('foo/b.c.html') : File.mtime('foo/b.c.yaml')
332
333
  ),
333
334
  klass.new(
334
335
  'test 3',
335
336
  {
336
- :content_filename => 'foo/car.html',
337
- :meta_filename => nil,
338
- :extension => 'html',
339
- :file => File.open('foo/car.html')
337
+ content_filename: 'foo/car.html',
338
+ meta_filename: nil,
339
+ extension: 'html',
340
+ file: File.open('foo/car.html')
340
341
  },
341
342
  '/car/',
342
- :binary => false, :mtime => File.mtime('foo/car.html')
343
+ binary: false, mtime: File.mtime('foo/car.html')
343
344
  )
344
345
  ]
345
346
 
@@ -347,7 +348,7 @@ class Nanoc::DataSources::FilesystemUnifiedTest < Nanoc::TestCase
347
348
  actual_out = data_source.send(:load_objects, 'foo', 'The Foo', klass).sort_by { |i| i.stuff[2] }
348
349
 
349
350
  # Check
350
- (0..expected_out.size-1).each do |i|
351
+ (0..expected_out.size - 1).each do |i|
351
352
  assert_equal expected_out[i].stuff[0], actual_out[i].stuff[0], 'content must match'
352
353
  assert_equal expected_out[i].stuff[2], actual_out[i].stuff[2], 'identifier must match'
353
354
  assert_equal expected_out[i].stuff[3][:mtime], actual_out[i].stuff[3][:mtime], 'mtime must match'
@@ -374,6 +375,7 @@ class Nanoc::DataSources::FilesystemUnifiedTest < Nanoc::TestCase
374
375
  def initialize(*stuff)
375
376
  @stuff = stuff
376
377
  end
378
+
377
379
  def ==(other)
378
380
  @stuff == other.stuff
379
381
  end
@@ -404,7 +406,7 @@ class Nanoc::DataSources::FilesystemUnifiedTest < Nanoc::TestCase
404
406
  :file => nil
405
407
  },
406
408
  '/a/b/c/',
407
- :binary => false, :mtime => File.mtime('foo/a/b/c.yaml')
409
+ binary: false, mtime: File.mtime('foo/a/b/c.yaml')
408
410
  ),
409
411
  klass.new(
410
412
  'test 2',
@@ -416,18 +418,18 @@ class Nanoc::DataSources::FilesystemUnifiedTest < Nanoc::TestCase
416
418
  :file => File.open('foo/b.html.erb')
417
419
  },
418
420
  '/b/',
419
- :binary => false, :mtime => File.mtime('foo/b.html.erb') > File.mtime('foo/b.yaml') ? File.mtime('foo/b.html.erb') : File.mtime('foo/b.yaml')
421
+ binary: false, mtime: File.mtime('foo/b.html.erb') > File.mtime('foo/b.yaml') ? File.mtime('foo/b.html.erb') : File.mtime('foo/b.yaml')
420
422
  ),
421
423
  klass.new(
422
424
  'test 3',
423
425
  {
424
- :content_filename => 'foo/car.html',
425
- :meta_filename => nil,
426
- :extension => 'html',
427
- :file => File.open('foo/car.html')
426
+ content_filename: 'foo/car.html',
427
+ meta_filename: nil,
428
+ extension: 'html',
429
+ file: File.open('foo/car.html')
428
430
  },
429
431
  '/car/',
430
- :binary => false, :mtime => File.mtime('foo/car.html')
432
+ binary: false, mtime: File.mtime('foo/car.html')
431
433
  )
432
434
  ]
433
435
 
@@ -435,7 +437,7 @@ class Nanoc::DataSources::FilesystemUnifiedTest < Nanoc::TestCase
435
437
  actual_out = data_source.send(:load_objects, 'foo', 'The Foo', klass).sort_by { |i| i.stuff[2] }
436
438
 
437
439
  # Check
438
- (0..expected_out.size-1).each do |i|
440
+ (0..expected_out.size - 1).each do |i|
439
441
  assert_equal expected_out[i].stuff[0], actual_out[i].stuff[0], 'content must match'
440
442
  assert_equal expected_out[i].stuff[2], actual_out[i].stuff[2], 'identifier must match'
441
443
  assert_equal expected_out[i].stuff[3][:mtime], actual_out[i].stuff[3][:mtime], 'mtime must match'
@@ -454,17 +456,17 @@ class Nanoc::DataSources::FilesystemUnifiedTest < Nanoc::TestCase
454
456
 
455
457
  def test_create_object_allowing_periods_in_identifiers
456
458
  # Create data source
457
- data_source = new_data_source(:allow_periods_in_identifiers => true)
459
+ data_source = new_data_source(allow_periods_in_identifiers: true)
458
460
 
459
461
  # Create object without period
460
- data_source.send(:create_object, 'foo', 'some content', { :some => 'attributes' }, '/asdf/')
462
+ data_source.send(:create_object, 'foo', 'some content', { some: 'attributes' }, '/asdf/')
461
463
  assert File.file?('foo/asdf.html')
462
464
  data = data_source.send(:parse, 'foo/asdf.html', nil, 'moo')
463
465
  assert_equal({ 'some' => 'attributes' }, data[0])
464
466
  assert_equal('some content', data[1])
465
467
 
466
468
  # Create object with period
467
- data_source.send(:create_object, 'foo', 'some content', { :some => 'attributes' }, '/as.df/')
469
+ data_source.send(:create_object, 'foo', 'some content', { some: 'attributes' }, '/as.df/')
468
470
  assert File.file?('foo/as.df.html')
469
471
  data = data_source.send(:parse, 'foo/as.df.html', nil, 'moo')
470
472
  assert_equal({ 'some' => 'attributes' }, data[0])
@@ -476,7 +478,7 @@ class Nanoc::DataSources::FilesystemUnifiedTest < Nanoc::TestCase
476
478
  data_source = new_data_source
477
479
 
478
480
  # Create object without period
479
- data_source.send(:create_object, 'foo', 'some content', { :some => 'attributes' }, '/asdf/')
481
+ data_source.send(:create_object, 'foo', 'some content', { some: 'attributes' }, '/asdf/')
480
482
  assert File.file?('foo/asdf.html')
481
483
  data = data_source.send(:parse, 'foo/asdf.html', nil, 'moo')
482
484
  assert_equal({ 'some' => 'attributes' }, data[0])
@@ -484,7 +486,7 @@ class Nanoc::DataSources::FilesystemUnifiedTest < Nanoc::TestCase
484
486
 
485
487
  # Create object with period
486
488
  assert_raises(RuntimeError) do
487
- data_source.send(:create_object, 'foo', 'some content', { :some => 'attributes' }, '/as.df/')
489
+ data_source.send(:create_object, 'foo', 'some content', { some: 'attributes' }, '/as.df/')
488
490
  end
489
491
  end
490
492
 
@@ -568,5 +570,4 @@ class Nanoc::DataSources::FilesystemUnifiedTest < Nanoc::TestCase
568
570
  assert_equal 1, items.size
569
571
  assert_equal Encoding.find('UTF-8'), items[0].raw_content.encoding
570
572
  end
571
-
572
573
  end