nanoc 4.6.1 → 4.6.2

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.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/Appraisals +1 -1
  3. data/Gemfile.lock +22 -22
  4. data/NEWS.md +12 -0
  5. data/lib/nanoc/base/entities/document.rb +7 -0
  6. data/lib/nanoc/base/entities/identifiable_collection.rb +12 -9
  7. data/lib/nanoc/base/entities/item_rep.rb +24 -28
  8. data/lib/nanoc/base/entities/processing_actions/snapshot.rb +15 -11
  9. data/lib/nanoc/base/entities/rule_memory.rb +15 -5
  10. data/lib/nanoc/base/entities/site.rb +15 -10
  11. data/lib/nanoc/base/entities/snapshot_def.rb +8 -2
  12. data/lib/nanoc/base/repos.rb +3 -0
  13. data/lib/nanoc/base/repos/aggregate_data_source.rb +20 -0
  14. data/lib/nanoc/base/repos/in_mem_data_source.rb +13 -0
  15. data/lib/nanoc/base/repos/prefixed_data_source.rb +19 -0
  16. data/lib/nanoc/base/repos/site_loader.rb +8 -16
  17. data/lib/nanoc/base/repos/snapshot_repo.rb +10 -5
  18. data/lib/nanoc/base/services/action_provider.rb +12 -0
  19. data/lib/nanoc/base/services/compiler/phases/recalculate.rb +5 -2
  20. data/lib/nanoc/base/services/compiler/phases/write.rb +1 -3
  21. data/lib/nanoc/base/services/compiler/stages/preprocess.rb +6 -3
  22. data/lib/nanoc/base/services/executor.rb +2 -4
  23. data/lib/nanoc/base/services/filter.rb +7 -12
  24. data/lib/nanoc/base/services/item_rep_router.rb +40 -16
  25. data/lib/nanoc/base/services/item_rep_writer.rb +19 -3
  26. data/lib/nanoc/base/services/pruner.rb +1 -1
  27. data/lib/nanoc/base/views/item_rep_view.rb +12 -3
  28. data/lib/nanoc/base/views/mutable_identifiable_collection_view.rb +1 -1
  29. data/lib/nanoc/base/views/mutable_item_collection_view.rb +1 -1
  30. data/lib/nanoc/base/views/mutable_layout_collection_view.rb +1 -1
  31. data/lib/nanoc/checking/checks/html.rb +1 -1
  32. data/lib/nanoc/checking/checks/stale.rb +2 -1
  33. data/lib/nanoc/checking/checks/w3c_validator.rb +1 -0
  34. data/lib/nanoc/cli/commands/compile.rb +3 -2
  35. data/lib/nanoc/cli/commands/show-data.rb +4 -2
  36. data/lib/nanoc/data_sources/filesystem.rb +1 -1
  37. data/lib/nanoc/helpers/filtering.rb +1 -2
  38. data/lib/nanoc/helpers/rendering.rb +1 -2
  39. data/lib/nanoc/helpers/xml_sitemap.rb +2 -2
  40. data/lib/nanoc/rule_dsl/action_provider.rb +7 -0
  41. data/lib/nanoc/rule_dsl/rule_context.rb +4 -1
  42. data/lib/nanoc/rule_dsl/rule_memory_calculator.rb +33 -13
  43. data/lib/nanoc/spec.rb +5 -6
  44. data/lib/nanoc/version.rb +1 -1
  45. data/spec/nanoc/base/checksummer_spec.rb +19 -9
  46. data/spec/nanoc/base/compiler_spec.rb +4 -8
  47. data/spec/nanoc/base/entities/document_spec.rb +20 -0
  48. data/spec/nanoc/base/entities/identifiable_collection_spec.rb +12 -0
  49. data/spec/nanoc/base/entities/item_rep_spec.rb +1 -1
  50. data/spec/nanoc/base/entities/processing_actions/snapshot_spec.rb +19 -13
  51. data/spec/nanoc/base/entities/rule_memory_spec.rb +39 -3
  52. data/spec/nanoc/base/entities/site_spec.rb +15 -10
  53. data/spec/nanoc/base/filter_spec.rb +28 -1
  54. data/spec/nanoc/base/item_rep_writer_spec.rb +4 -2
  55. data/spec/nanoc/base/repos/outdatedness_store_spec.rb +1 -2
  56. data/spec/nanoc/base/repos/snapshot_repo_spec.rb +4 -4
  57. data/spec/nanoc/base/repos/store_spec.rb +5 -1
  58. data/spec/nanoc/base/services/compiler/stages/compile_reps_spec.rb +9 -10
  59. data/spec/nanoc/base/services/executor_spec.rb +2 -2
  60. data/spec/nanoc/base/services/item_rep_router_spec.rb +83 -39
  61. data/spec/nanoc/base/services/outdatedness_checker_spec.rb +1 -2
  62. data/spec/nanoc/base/services/outdatedness_rules_spec.rb +2 -3
  63. data/spec/nanoc/base/services/pruner_spec.rb +2 -2
  64. data/spec/nanoc/base/views/identifiable_collection_view_spec.rb +46 -28
  65. data/spec/nanoc/base/views/item_rep_view_spec.rb +72 -15
  66. data/spec/nanoc/base/views/item_view_spec.rb +20 -14
  67. data/spec/nanoc/base/views/mutable_identifiable_collection_view_spec.rb +10 -4
  68. data/spec/nanoc/base/views/mutable_item_collection_view_spec.rb +10 -5
  69. data/spec/nanoc/base/views/mutable_layout_collection_view_spec.rb +10 -5
  70. data/spec/nanoc/cli/commands/compile/file_action_printer_spec.rb +1 -1
  71. data/spec/nanoc/cli/commands/compile/timing_recorder_spec.rb +1 -1
  72. data/spec/nanoc/cli/commands/show_data_spec.rb +9 -7
  73. data/spec/nanoc/cli/commands/show_rules_spec.rb +16 -10
  74. data/spec/nanoc/regressions/gh_1037a_spec.rb +29 -0
  75. data/spec/nanoc/regressions/gh_1037b_spec.rb +18 -0
  76. data/spec/nanoc/regressions/gh_1082a_spec.rb +18 -0
  77. data/spec/nanoc/regressions/gh_1082b_spec.rb +20 -0
  78. data/spec/nanoc/regressions/gh_1082c_spec.rb +19 -0
  79. data/spec/nanoc/regressions/gh_1082d_spec.rb +17 -0
  80. data/spec/nanoc/regressions/gh_1093_spec.rb +49 -0
  81. data/spec/nanoc/regressions/gh_1097_spec.rb +21 -0
  82. data/spec/nanoc/regressions/gh_1100_spec.rb +20 -0
  83. data/spec/nanoc/regressions/gh_1102_spec.rb +26 -0
  84. data/spec/nanoc/regressions/gh_776_spec.rb +1 -5
  85. data/spec/nanoc/rule_dsl/recording_executor_spec.rb +14 -14
  86. data/spec/nanoc/rule_dsl/rule_context_spec.rb +22 -13
  87. data/spec/nanoc/rule_dsl/rule_memory_calculator_spec.rb +38 -54
  88. data/spec/spec_helper.rb +1 -1
  89. data/test/base/test_compiler.rb +3 -4
  90. data/test/base/test_item_array.rb +4 -15
  91. data/test/checking/checks/test_html.rb +4 -3
  92. data/test/cli/commands/test_compile.rb +2 -2
  93. data/test/filters/test_relativize_paths.rb +28 -28
  94. data/test/fixtures/vcr_cassettes/html_run_error.yml +25 -76
  95. data/test/helpers/test_xml_sitemap.rb +22 -19
  96. metadata +16 -2
@@ -47,16 +47,16 @@ describe(Nanoc::RuleDSL::RuleMemoryCalculator) do
47
47
  subject
48
48
 
49
49
  expect(subject[0]).to be_a(Nanoc::Int::ProcessingActions::Snapshot)
50
- expect(subject[0].snapshot_name).to eql(:raw)
51
- expect(subject[0].path).to be_nil
50
+ expect(subject[0].snapshot_names).to eql([:raw])
51
+ expect(subject[0].paths).to be_empty
52
52
 
53
53
  expect(subject[1]).to be_a(Nanoc::Int::ProcessingActions::Filter)
54
54
  expect(subject[1].filter_name).to eql(:erb)
55
55
  expect(subject[1].params).to eql(speed: :over_9000)
56
56
 
57
57
  expect(subject[2]).to be_a(Nanoc::Int::ProcessingActions::Snapshot)
58
- expect(subject[2].snapshot_name).to eql(:pre)
59
- expect(subject[2].path).to be_nil
58
+ expect(subject[2].snapshot_names).to eql([:pre])
59
+ expect(subject[2].paths).to be_empty
60
60
 
61
61
  expect(subject[3]).to be_a(Nanoc::Int::ProcessingActions::Layout)
62
62
  expect(subject[3].layout_identifier).to eql('/default.*')
@@ -67,14 +67,10 @@ describe(Nanoc::RuleDSL::RuleMemoryCalculator) do
67
67
  expect(subject[4].params).to eql({})
68
68
 
69
69
  expect(subject[5]).to be_a(Nanoc::Int::ProcessingActions::Snapshot)
70
- expect(subject[5].snapshot_name).to eql(:post)
71
- expect(subject[5].path).to be_nil
70
+ expect(subject[5].snapshot_names).to eql([:post, :last])
71
+ expect(subject[5].paths).to be_empty
72
72
 
73
- expect(subject[6]).to be_a(Nanoc::Int::ProcessingActions::Snapshot)
74
- expect(subject[6].snapshot_name).to eql(:last)
75
- expect(subject[6].path).to be_nil
76
-
77
- expect(subject.size).to eql(7)
73
+ expect(subject.size).to eql(6)
78
74
  end
79
75
  end
80
76
 
@@ -89,18 +85,10 @@ describe(Nanoc::RuleDSL::RuleMemoryCalculator) do
89
85
  subject
90
86
 
91
87
  expect(subject[0]).to be_a(Nanoc::Int::ProcessingActions::Snapshot)
92
- expect(subject[0].snapshot_name).to eql(:raw)
93
- expect(subject[0].path).to be_nil
94
-
95
- expect(subject[1]).to be_a(Nanoc::Int::ProcessingActions::Snapshot)
96
- expect(subject[1].snapshot_name).to eql(:last)
97
- expect(subject[1].path).to be_nil
98
-
99
- expect(subject[2]).to be_a(Nanoc::Int::ProcessingActions::Snapshot)
100
- expect(subject[2].snapshot_name).to eql(:pre)
101
- expect(subject[2].path).to be_nil
88
+ expect(subject[0].snapshot_names).to eql([:raw, :last, :pre])
89
+ expect(subject[0].paths).to be_empty
102
90
 
103
- expect(subject.size).to eql(3)
91
+ expect(subject.size).to eql(1)
104
92
  end
105
93
  end
106
94
 
@@ -119,18 +107,10 @@ describe(Nanoc::RuleDSL::RuleMemoryCalculator) do
119
107
  subject
120
108
 
121
109
  expect(subject[0]).to be_a(Nanoc::Int::ProcessingActions::Snapshot)
122
- expect(subject[0].snapshot_name).to eql(:raw)
123
- expect(subject[0].path).to be_nil
124
-
125
- expect(subject[1]).to be_a(Nanoc::Int::ProcessingActions::Snapshot)
126
- expect(subject[1].snapshot_name).to eql(:last)
127
- expect(subject[1].path).to eq('/foo.md')
110
+ expect(subject[0].snapshot_names).to eql([:raw, :last, :pre])
111
+ expect(subject[0].paths).to eq(['/foo.md'])
128
112
 
129
- expect(subject[2]).to be_a(Nanoc::Int::ProcessingActions::Snapshot)
130
- expect(subject[2].snapshot_name).to eql(:pre)
131
- expect(subject[2].path).to be_nil
132
-
133
- expect(subject.size).to eql(3)
113
+ expect(subject.size).to eql(1)
134
114
  end
135
115
  end
136
116
 
@@ -149,18 +129,10 @@ describe(Nanoc::RuleDSL::RuleMemoryCalculator) do
149
129
  subject
150
130
 
151
131
  expect(subject[0]).to be_a(Nanoc::Int::ProcessingActions::Snapshot)
152
- expect(subject[0].snapshot_name).to eql(:raw)
153
- expect(subject[0].path).to be_nil
154
-
155
- expect(subject[1]).to be_a(Nanoc::Int::ProcessingActions::Snapshot)
156
- expect(subject[1].snapshot_name).to eql(:last)
157
- expect(subject[1].path).to be_nil
132
+ expect(subject[0].snapshot_names).to eql([:raw, :last, :pre])
133
+ expect(subject[0].paths).to be_empty
158
134
 
159
- expect(subject[2]).to be_a(Nanoc::Int::ProcessingActions::Snapshot)
160
- expect(subject[2].snapshot_name).to eql(:pre)
161
- expect(subject[2].path).to be_nil
162
-
163
- expect(subject.size).to eql(3)
135
+ expect(subject.size).to eql(1)
164
136
  end
165
137
  end
166
138
  end
@@ -215,10 +187,19 @@ describe(Nanoc::RuleDSL::RuleMemoryCalculator) do
215
187
  let(:view_context) { double(:view_context) }
216
188
 
217
189
  before do
190
+ Class.new(Nanoc::Filter) do
191
+ identifier :rule_memory_calculator_spec_snapshot_def_test
192
+ type text: :binary
193
+
194
+ def run(content, params = {})
195
+ # …
196
+ end
197
+ end
198
+
218
199
  rules_proc = proc do
219
200
  filter :erb, speed: :over_9000
220
201
  layout '/default.*'
221
- filter :typohero
202
+ filter :rule_memory_calculator_spec_snapshot_def_test
222
203
  end
223
204
  rule = Nanoc::RuleDSL::Rule.new(Nanoc::Int::Pattern.from('/list.*'), :csv, rules_proc)
224
205
  rules_collection.add_item_compilation_rule(rule)
@@ -226,20 +207,23 @@ describe(Nanoc::RuleDSL::RuleMemoryCalculator) do
226
207
  expect(compilation_context).to receive(:create_view_context).and_return(view_context)
227
208
  end
228
209
 
229
- example do
230
- expect(subject[0]).to be_a(Nanoc::Int::SnapshotDef)
231
- expect(subject[0].name).to eql(:raw)
210
+ it 'creates snapshot defs' do
211
+ expect(subject.size).to eql(4)
212
+ expect(subject).to all(be_a(Nanoc::Int::SnapshotDef))
213
+ end
232
214
 
233
- expect(subject[1]).to be_a(Nanoc::Int::SnapshotDef)
215
+ it 'has the right names' do
216
+ expect(subject[0].name).to eql(:raw)
234
217
  expect(subject[1].name).to eql(:pre)
235
-
236
- expect(subject[2]).to be_a(Nanoc::Int::SnapshotDef)
237
218
  expect(subject[2].name).to eql(:post)
238
-
239
- expect(subject[3]).to be_a(Nanoc::Int::SnapshotDef)
240
219
  expect(subject[3].name).to eql(:last)
220
+ end
241
221
 
242
- expect(subject.size).to eql(4)
222
+ it 'has the right binary-ness' do
223
+ expect(subject[0]).not_to be_binary
224
+ expect(subject[1]).not_to be_binary
225
+ expect(subject[2]).to be_binary
226
+ expect(subject[3]).to be_binary
243
227
  end
244
228
  end
245
229
  end
data/spec/spec_helper.rb CHANGED
@@ -67,7 +67,7 @@ RSpec.configure do |c|
67
67
  File.write('Rules', 'passthrough "/**/*"')
68
68
  end
69
69
 
70
- c.include(Nanoc::Spec::HelperHelper, helper: true)
70
+ c.include(Nanoc::Spec::HelperHelper, helper: true) # rubocop:disable Style/MixinGrouping
71
71
 
72
72
  # Set focus if any
73
73
  if ENV.fetch('FOCUS', false)
@@ -5,8 +5,7 @@ class Nanoc::Int::CompilerTest < Nanoc::TestCase
5
5
  site ||= Nanoc::Int::Site.new(
6
6
  config: nil,
7
7
  code_snippets: [],
8
- items: [],
9
- layouts: [],
8
+ data_source: Nanoc::Int::InMemDataSource.new([], []),
10
9
  )
11
10
 
12
11
  reps = Nanoc::Int::ItemRepRepo.new
@@ -76,11 +75,11 @@ class Nanoc::Int::CompilerTest < Nanoc::TestCase
76
75
  site.compile
77
76
 
78
77
  assert File.file?('output/moo-raw.txt')
79
- # assert File.file?('output/moo-pre.txt')
78
+ assert File.file?('output/moo-pre.txt')
80
79
  assert File.file?('output/moo-post.txt')
81
80
  assert File.file?('output/moo-last.txt')
82
81
  assert_equal '<%= 1 %> <%%= 2 %> <%%%= 3 %>', File.read('output/moo-raw.txt')
83
- # assert_equal '1 2 <%= 3 %>', File.read('output/moo-pre.txt')
82
+ assert_equal '1 2 <%= 3 %>', File.read('output/moo-pre.txt')
84
83
  assert_equal 'head 1 2 3 foot', File.read('output/moo-post.txt')
85
84
  assert_equal 'head 1 2 3 foot', File.read('output/moo-last.txt')
86
85
  end
@@ -7,9 +7,7 @@ class Nanoc::Int::IdentifiableCollectionTest < Nanoc::TestCase
7
7
  @one = Nanoc::Int::Item.new('Item One', {}, '/one/')
8
8
  @two = Nanoc::Int::Item.new('Item Two', {}, '/two/')
9
9
 
10
- @items = Nanoc::Int::IdentifiableCollection.new({})
11
- @items << @one
12
- @items << @two
10
+ @items = Nanoc::Int::IdentifiableCollection.new({}, [@one, @two])
13
11
  end
14
12
 
15
13
  def test_change_item_identifier
@@ -27,9 +25,7 @@ class Nanoc::Int::IdentifiableCollectionTest < Nanoc::TestCase
27
25
  end
28
26
 
29
27
  def test_brackets_with_glob
30
- @items = Nanoc::Int::IdentifiableCollection.new(string_pattern_type: 'glob')
31
- @items << @one
32
- @items << @two
28
+ @items = Nanoc::Int::IdentifiableCollection.new({ string_pattern_type: 'glob' }, [@one, @two])
33
29
 
34
30
  assert_equal @one, @items['/on*/']
35
31
  assert_equal @two, @items['/*wo/']
@@ -57,7 +53,7 @@ class Nanoc::Int::IdentifiableCollectionTest < Nanoc::TestCase
57
53
 
58
54
  def test_regex
59
55
  foo = Nanoc::Int::Item.new('Item Foo', {}, '/foo/')
60
- @items << foo
56
+ @items = Nanoc::Int::IdentifiableCollection.new({}, [@one, @two, foo])
61
57
 
62
58
  assert_equal @one, @items[/n/]
63
59
  assert_equal @two, @items[%r{o/}] # not foo
@@ -67,15 +63,8 @@ class Nanoc::Int::IdentifiableCollectionTest < Nanoc::TestCase
67
63
  assert_nil @items['/foo/']
68
64
 
69
65
  foo = Nanoc::Int::Item.new('Item Foo', {}, '/foo/')
70
- @items << foo
66
+ @items = Nanoc::Int::IdentifiableCollection.new({}, [@one, @two, foo])
71
67
 
72
68
  assert_equal foo, @items['/foo/']
73
69
  end
74
-
75
- def test_concat
76
- new_item = Nanoc::Int::Item.new('New item', {}, '/new/')
77
- @items.concat([new_item])
78
-
79
- assert_equal new_item, @items['/new/']
80
- end
81
70
  end
@@ -39,9 +39,10 @@ class Nanoc::Checking::Checks::HTMLTest < Nanoc::TestCase
39
39
 
40
40
  # Check
41
41
  refute check.issues.empty?
42
- assert_equal 2, check.issues.size
43
- assert_equal 'line 1: no document type declaration; will parse without validation: <h2>Hi!</h1>', check.issues.to_a[0].description
44
- assert_equal 'line 1: end tag for element "H1" which is not open: <h2>Hi!</h1>', check.issues.to_a[1].description
42
+ assert_equal 3, check.issues.size
43
+ assert_equal 'line 1: Start tag seen without seeing a doctype first. Expected e.g. “<!DOCTYPE html>”.: <h2>Hi!</h1>', check.issues.to_a[0].description
44
+ assert_equal 'line 1: Element “head” is missing a required instance of child element “title”.: <h2>Hi!</h1>', check.issues.to_a[1].description
45
+ assert_equal 'line 1: End tag “h1” seen, but there were open elements.: <h2>Hi!</h1>', check.issues.to_a[2].description
45
46
  end
46
47
  end
47
48
  end
@@ -166,7 +166,7 @@ class Nanoc::CLI::Commands::CompileTest < Nanoc::TestCase
166
166
  # Create data
167
167
  item = Nanoc::Int::Item.new('content', {}, '/')
168
168
  rep = Nanoc::Int::ItemRep.new(item, :default)
169
- rep.raw_paths[:last] = 'output/foo.txt'
169
+ rep.raw_paths[:last] = ['output/foo.txt']
170
170
  rep.compiled = true
171
171
 
172
172
  # Listen
@@ -188,7 +188,7 @@ class Nanoc::CLI::Commands::CompileTest < Nanoc::TestCase
188
188
  # Create data
189
189
  item = Nanoc::Int::Item.new('content', {}, '/')
190
190
  rep = Nanoc::Int::ItemRep.new(item, :default)
191
- rep.raw_paths[:last] = 'output/foo.txt'
191
+ rep.raw_paths[:last] = ['output/foo.txt']
192
192
 
193
193
  # Listen
194
194
  listener = new_file_action_printer([rep])
@@ -15,7 +15,7 @@ class Nanoc::Filters::RelativizePathsTest < Nanoc::TestCase
15
15
  ),
16
16
  :blah,
17
17
  )
18
- @item_rep.paths[:last] = '/foo/bar/baz/'
18
+ @item_rep.paths[:last] = ['/foo/bar/baz/']
19
19
  end
20
20
 
21
21
  # Set content
@@ -41,7 +41,7 @@ class Nanoc::Filters::RelativizePathsTest < Nanoc::TestCase
41
41
  ),
42
42
  :blah,
43
43
  )
44
- @item_rep.paths[:last] = '/foo/bar/baz/'
44
+ @item_rep.paths[:last] = ['/foo/bar/baz/']
45
45
  end
46
46
 
47
47
  # Set content
@@ -67,7 +67,7 @@ class Nanoc::Filters::RelativizePathsTest < Nanoc::TestCase
67
67
  ),
68
68
  :blah,
69
69
  )
70
- @item_rep.paths[:last] = '/foo/bar/baz/'
70
+ @item_rep.paths[:last] = ['/foo/bar/baz/']
71
71
  end
72
72
 
73
73
  # Set content
@@ -93,7 +93,7 @@ class Nanoc::Filters::RelativizePathsTest < Nanoc::TestCase
93
93
  ),
94
94
  :blah,
95
95
  )
96
- @item_rep.paths[:last] = '/foo/bar/baz/'
96
+ @item_rep.paths[:last] = ['/foo/bar/baz/']
97
97
  end
98
98
 
99
99
  # Set content
@@ -131,7 +131,7 @@ EOS
131
131
  ),
132
132
  :blah,
133
133
  )
134
- @item_rep.paths[:last] = '/foo/bar/baz/'
134
+ @item_rep.paths[:last] = ['/foo/bar/baz/']
135
135
  end
136
136
 
137
137
  # Set content
@@ -157,7 +157,7 @@ EOS
157
157
  ),
158
158
  :blah,
159
159
  )
160
- @item_rep.paths[:last] = '/foo/bar/baz/'
160
+ @item_rep.paths[:last] = ['/foo/bar/baz/']
161
161
  end
162
162
 
163
163
  # Set content
@@ -183,7 +183,7 @@ EOS
183
183
  ),
184
184
  :blah,
185
185
  )
186
- @item_rep.paths[:last] = '/foo/bar/baz/'
186
+ @item_rep.paths[:last] = ['/foo/bar/baz/']
187
187
  end
188
188
 
189
189
  # Set content
@@ -209,7 +209,7 @@ EOS
209
209
  ),
210
210
  :blah,
211
211
  )
212
- @item_rep.paths[:last] = '/woof/meow/'
212
+ @item_rep.paths[:last] = ['/woof/meow/']
213
213
  end
214
214
 
215
215
  # Set content
@@ -235,7 +235,7 @@ EOS
235
235
  ),
236
236
  :blah,
237
237
  )
238
- @item_rep.paths[:last] = '/woof/meow/'
238
+ @item_rep.paths[:last] = ['/woof/meow/']
239
239
  end
240
240
 
241
241
  # Set content
@@ -261,7 +261,7 @@ EOS
261
261
  ),
262
262
  :blah,
263
263
  )
264
- @item_rep.paths[:last] = '/woof/meow/'
264
+ @item_rep.paths[:last] = ['/woof/meow/']
265
265
  end
266
266
 
267
267
  # Set content
@@ -287,7 +287,7 @@ EOS
287
287
  ),
288
288
  :blah,
289
289
  )
290
- @item_rep.paths[:last] = '/woof/meow/'
290
+ @item_rep.paths[:last] = ['/woof/meow/']
291
291
  end
292
292
 
293
293
  # Set content
@@ -313,7 +313,7 @@ EOS
313
313
  ),
314
314
  :blah,
315
315
  )
316
- @item_rep.paths[:last] = '/woof/meow/'
316
+ @item_rep.paths[:last] = ['/woof/meow/']
317
317
  end
318
318
 
319
319
  # Set content
@@ -339,7 +339,7 @@ EOS
339
339
  ),
340
340
  :blah,
341
341
  )
342
- @item_rep.paths[:last] = '/woof/meow/'
342
+ @item_rep.paths[:last] = ['/woof/meow/']
343
343
  end
344
344
 
345
345
  raw_content = %(<object data="/example"><param name="movie" content="/example"></object>)
@@ -363,7 +363,7 @@ EOS
363
363
  ),
364
364
  :blah,
365
365
  )
366
- @item_rep.paths[:last] = '/foo/bar/baz/'
366
+ @item_rep.paths[:last] = ['/foo/bar/baz/']
367
367
  end
368
368
 
369
369
  # Set content
@@ -399,7 +399,7 @@ EOS
399
399
  ),
400
400
  :blah,
401
401
  )
402
- @item_rep.paths[:last] = '/foo/bar/baz/'
402
+ @item_rep.paths[:last] = ['/foo/bar/baz/']
403
403
  end
404
404
 
405
405
  # Set content
@@ -425,7 +425,7 @@ EOS
425
425
  ),
426
426
  :blah,
427
427
  )
428
- @item_rep.paths[:last] = '/foo/bar/baz/'
428
+ @item_rep.paths[:last] = ['/foo/bar/baz/']
429
429
  end
430
430
 
431
431
  # Set content
@@ -451,7 +451,7 @@ EOS
451
451
  ),
452
452
  :blah,
453
453
  )
454
- @item_rep.paths[:last] = '/foo/bar/baz/'
454
+ @item_rep.paths[:last] = ['/foo/bar/baz/']
455
455
  end
456
456
 
457
457
  # Set content
@@ -477,7 +477,7 @@ EOS
477
477
  ),
478
478
  :blah,
479
479
  )
480
- @item_rep.paths[:last] = '/foo/bar/baz/'
480
+ @item_rep.paths[:last] = ['/foo/bar/baz/']
481
481
  end
482
482
 
483
483
  # Set content
@@ -506,7 +506,7 @@ EOS
506
506
  ),
507
507
  :blah,
508
508
  )
509
- @item_rep.paths[:last] = '/woof/meow/'
509
+ @item_rep.paths[:last] = ['/woof/meow/']
510
510
  end
511
511
 
512
512
  # Set content
@@ -532,7 +532,7 @@ EOS
532
532
  ),
533
533
  :blah,
534
534
  )
535
- @item_rep.paths[:last] = '/woof/meow/'
535
+ @item_rep.paths[:last] = ['/woof/meow/']
536
536
  end
537
537
 
538
538
  # Set content
@@ -559,7 +559,7 @@ EOS
559
559
  ),
560
560
  :blah,
561
561
  )
562
- @item_rep.paths[:last] = '/foo/bar/baz/'
562
+ @item_rep.paths[:last] = ['/foo/bar/baz/']
563
563
  end
564
564
 
565
565
  # Set content
@@ -592,7 +592,7 @@ XML
592
592
  ),
593
593
  :blah,
594
594
  )
595
- @item_rep.paths[:last] = '/foo/bar/baz/'
595
+ @item_rep.paths[:last] = ['/foo/bar/baz/']
596
596
  end
597
597
 
598
598
  # Set content
@@ -624,7 +624,7 @@ XML
624
624
  ),
625
625
  :blah,
626
626
  )
627
- @item_rep.paths[:last] = '/foo/bar/baz/'
627
+ @item_rep.paths[:last] = ['/foo/bar/baz/']
628
628
  end
629
629
 
630
630
  # Set content
@@ -661,7 +661,7 @@ XML
661
661
  ),
662
662
  :blah,
663
663
  )
664
- @item_rep.paths[:last] = '/foo/bar/baz/'
664
+ @item_rep.paths[:last] = ['/foo/bar/baz/']
665
665
  end
666
666
 
667
667
  # Set content
@@ -703,7 +703,7 @@ XML
703
703
  ),
704
704
  :blah,
705
705
  )
706
- @item_rep.paths[:last] = '/foo/bar/baz/'
706
+ @item_rep.paths[:last] = ['/foo/bar/baz/']
707
707
  end
708
708
 
709
709
  # Set content
@@ -738,7 +738,7 @@ XML
738
738
  ),
739
739
  :blah,
740
740
  )
741
- @item_rep.paths[:last] = '/foo/baz/'
741
+ @item_rep.paths[:last] = ['/foo/baz/']
742
742
  end
743
743
 
744
744
  # Set content
@@ -772,7 +772,7 @@ XML
772
772
  ),
773
773
  :blah,
774
774
  )
775
- @item_rep.paths[:last] = '/foo/baz/'
775
+ @item_rep.paths[:last] = ['/foo/baz/']
776
776
  end
777
777
 
778
778
  # Set content
@@ -803,7 +803,7 @@ XML
803
803
  ),
804
804
  :blah,
805
805
  )
806
- @item_rep.paths[:last] = '/foo/bar/baz/'
806
+ @item_rep.paths[:last] = ['/foo/bar/baz/']
807
807
  end
808
808
 
809
809
  # Set content