nanoc 4.6.1 → 4.6.2

Sign up to get free protection for your applications and to get access to all the features.
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