nanoc 4.7.12 → 4.7.13

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 (63) hide show
  1. checksums.yaml +4 -4
  2. data/NEWS.md +6 -0
  3. data/lib/nanoc/base/core_ext.rb +0 -1
  4. data/lib/nanoc/base/entities.rb +4 -1
  5. data/lib/nanoc/base/entities/dependency.rb +5 -4
  6. data/lib/nanoc/base/entities/directed_graph.rb +12 -0
  7. data/lib/nanoc/base/entities/identifiable_collection.rb +11 -6
  8. data/lib/nanoc/base/entities/item_collection.rb +14 -0
  9. data/lib/nanoc/base/entities/layout_collection.rb +14 -0
  10. data/lib/nanoc/base/entities/outdatedness_reasons.rb +19 -0
  11. data/lib/nanoc/base/entities/props.rb +33 -10
  12. data/lib/nanoc/base/repos/aggregate_data_source.rb +2 -2
  13. data/lib/nanoc/base/repos/checksum_store.rb +1 -1
  14. data/lib/nanoc/base/repos/dependency_store.rb +25 -12
  15. data/lib/nanoc/base/services/dependency_tracker.rb +3 -2
  16. data/lib/nanoc/base/services/outdatedness_checker.rb +33 -10
  17. data/lib/nanoc/base/services/outdatedness_rules.rb +2 -0
  18. data/lib/nanoc/base/services/outdatedness_rules/item_collection_extended.rb +16 -0
  19. data/lib/nanoc/base/services/outdatedness_rules/layout_collection_extended.rb +16 -0
  20. data/lib/nanoc/base/services/pruner.rb +13 -1
  21. data/lib/nanoc/base/views/identifiable_collection_view.rb +24 -0
  22. data/lib/nanoc/cli/commands/show-data.rb +4 -0
  23. data/lib/nanoc/spec.rb +2 -2
  24. data/lib/nanoc/version.rb +1 -1
  25. data/spec/nanoc/base/checksummer_spec.rb +4 -4
  26. data/spec/nanoc/base/compiler_spec.rb +2 -2
  27. data/spec/nanoc/base/directed_graph_spec.rb +42 -0
  28. data/spec/nanoc/base/entities/identifiable_collection_spec.rb +110 -93
  29. data/spec/nanoc/base/entities/props_spec.rb +121 -1
  30. data/spec/nanoc/base/entities/site_spec.rb +2 -2
  31. data/spec/nanoc/base/repos/dependency_store_spec.rb +34 -40
  32. data/spec/nanoc/base/services/compiler/stages/calculate_checksums_spec.rb +2 -2
  33. data/spec/nanoc/base/services/compiler/stages/compile_reps_spec.rb +2 -2
  34. data/spec/nanoc/base/services/dependency_tracker_spec.rb +3 -4
  35. data/spec/nanoc/base/services/outdatedness_checker_spec.rb +290 -4
  36. data/spec/nanoc/base/services/outdatedness_rules_spec.rb +3 -3
  37. data/spec/nanoc/base/services/pruner_spec.rb +9 -0
  38. data/spec/nanoc/base/views/document_view_spec.rb +3 -4
  39. data/spec/nanoc/base/views/identifiable_collection_view_spec.rb +74 -7
  40. data/spec/nanoc/base/views/item_collection_with_reps_view_spec.rb +2 -1
  41. data/spec/nanoc/base/views/item_collection_without_reps_view_spec.rb +2 -1
  42. data/spec/nanoc/base/views/item_rep_view_spec.rb +3 -4
  43. data/spec/nanoc/base/views/item_view_spec.rb +5 -6
  44. data/spec/nanoc/base/views/layout_collection_view_spec.rb +2 -1
  45. data/spec/nanoc/base/views/mutable_identifiable_collection_view_spec.rb +1 -1
  46. data/spec/nanoc/base/views/mutable_item_collection_view_spec.rb +3 -2
  47. data/spec/nanoc/base/views/mutable_layout_collection_view_spec.rb +3 -2
  48. data/spec/nanoc/base/views/post_compile_item_rep_view_spec.rb +1 -1
  49. data/spec/nanoc/cli/commands/show_data_spec.rb +4 -4
  50. data/spec/nanoc/cli/commands/show_rules_spec.rb +2 -2
  51. data/spec/nanoc/helpers/rendering_spec.rb +5 -0
  52. data/spec/nanoc/rule_dsl/action_sequence_calculator_spec.rb +2 -2
  53. data/spec/nanoc/rule_dsl/rule_context_spec.rb +6 -4
  54. data/test/base/test_dependency_tracker.rb +22 -22
  55. data/test/base/test_item_array.rb +2 -2
  56. data/test/filters/test_xsl.rb +2 -2
  57. data/test/fixtures/vcr_cassettes/html_run_error.yml +17 -12
  58. data/test/fixtures/vcr_cassettes/html_run_ok.yml +17 -12
  59. data/test/helpers/test_blogging.rb +2 -2
  60. data/test/helpers/test_xml_sitemap.rb +7 -7
  61. metadata +6 -4
  62. data/lib/nanoc/base/core_ext/pathname.rb +0 -10
  63. data/test/extra/core_ext/test_pathname.rb +0 -14
@@ -48,8 +48,8 @@ describe Nanoc::Int::OutdatednessRules do
48
48
  ).run
49
49
  end
50
50
 
51
- let(:items) { Nanoc::Int::IdentifiableCollection.new(config, [item]) }
52
- let(:layouts) { Nanoc::Int::IdentifiableCollection.new(config) }
51
+ let(:items) { Nanoc::Int::ItemCollection.new(config, [item]) }
52
+ let(:layouts) { Nanoc::Int::LayoutCollection.new(config) }
53
53
 
54
54
  before do
55
55
  allow(site).to receive(:code_snippets).and_return(code_snippets)
@@ -339,7 +339,7 @@ describe Nanoc::Int::OutdatednessRules do
339
339
  let(:stored_obj) { raise 'override me' }
340
340
  let(:new_obj) { raise 'override me' }
341
341
 
342
- let(:items) { [new_obj] }
342
+ let(:items) { Nanoc::Int::ItemCollection.new(config, [new_obj]) }
343
343
 
344
344
  shared_examples 'a document' do
345
345
  let(:stored_obj) { klass.new('a', {}, '/foo.md') }
@@ -25,6 +25,15 @@ describe Nanoc::Pruner do
25
25
  expect(Nanoc::Extra::Pruner).to equal(Nanoc::Pruner)
26
26
  end
27
27
 
28
+ describe '#pathname_components' do
29
+ subject { pruner.pathname_components(pathname) }
30
+
31
+ context 'regular path' do
32
+ let(:pathname) { Pathname.new('/a/bb/ccc/dd/e') }
33
+ it { is_expected.to eql(%w[/ a bb ccc dd e]) }
34
+ end
35
+ end
36
+
28
37
  describe '#files_and_dirs_in' do
29
38
  subject { pruner.files_and_dirs_in('output/') }
30
39
 
@@ -14,12 +14,11 @@ shared_examples 'a document view' do
14
14
  end
15
15
 
16
16
  let(:dependency_tracker) { Nanoc::Int::DependencyTracker.new(dependency_store) }
17
- let(:dependency_store) { Nanoc::Int::DependencyStore.new(empty_identifiable_collection, empty_identifiable_collection, config) }
17
+ let(:dependency_store) { Nanoc::Int::DependencyStore.new(empty_items, empty_layouts, config) }
18
18
  let(:base_item) { Nanoc::Int::Item.new('base', {}, '/base.md') }
19
19
 
20
- let(:empty_identifiable_collection) do
21
- Nanoc::Int::IdentifiableCollection.new(config)
22
- end
20
+ let(:empty_items) { Nanoc::Int::ItemCollection.new(config) }
21
+ let(:empty_layouts) { Nanoc::Int::LayoutCollection.new(config) }
23
22
 
24
23
  let(:config) { Nanoc::Int::Configuration.new.with_defaults }
25
24
 
@@ -4,7 +4,19 @@
4
4
  shared_examples 'an identifiable collection' do
5
5
  let(:view) { described_class.new(wrapped, view_context) }
6
6
 
7
- let(:view_context) { double(:view_context) }
7
+ let(:view_context) do
8
+ Nanoc::ViewContext.new(
9
+ reps: double(:__reps),
10
+ items: double(:__items),
11
+ dependency_tracker: dependency_tracker,
12
+ compilation_context: double(:__compilation_context),
13
+ snapshot_repo: double(:__snapshot_repo),
14
+ )
15
+ end
16
+
17
+ let(:dependency_tracker) do
18
+ Nanoc::Int::DependencyTracker::Null.new
19
+ end
8
20
 
9
21
  let(:config) do
10
22
  { string_pattern_type: 'glob' }
@@ -12,7 +24,7 @@ shared_examples 'an identifiable collection' do
12
24
 
13
25
  describe '#frozen?' do
14
26
  let(:wrapped) do
15
- Nanoc::Int::IdentifiableCollection.new(
27
+ collection_class.new(
16
28
  config,
17
29
  [
18
30
  double(:identifiable, identifier: Nanoc::Identifier.new('/foo')),
@@ -39,7 +51,7 @@ shared_examples 'an identifiable collection' do
39
51
 
40
52
  describe '#unwrap' do
41
53
  let(:wrapped) do
42
- Nanoc::Int::IdentifiableCollection.new(
54
+ collection_class.new(
43
55
  config,
44
56
  [
45
57
  double(:identifiable, identifier: Nanoc::Identifier.new('/foo')),
@@ -52,11 +64,16 @@ shared_examples 'an identifiable collection' do
52
64
  subject { view.unwrap }
53
65
 
54
66
  it { should equal(wrapped) }
67
+
68
+ it 'does not create dependency' do
69
+ expect(dependency_tracker).not_to receive(:bounce)
70
+ subject
71
+ end
55
72
  end
56
73
 
57
74
  describe '#each' do
58
75
  let(:wrapped) do
59
- Nanoc::Int::IdentifiableCollection.new(
76
+ collection_class.new(
60
77
  config,
61
78
  [
62
79
  double(:identifiable, identifier: Nanoc::Identifier.new('/foo')),
@@ -66,6 +83,11 @@ shared_examples 'an identifiable collection' do
66
83
  )
67
84
  end
68
85
 
86
+ it 'creates dependency' do
87
+ expect(dependency_tracker).to receive(:bounce).with(wrapped, raw_content: true)
88
+ view.each { |_i| }
89
+ end
90
+
69
91
  it 'returns self' do
70
92
  expect(view.each { |_i| }).to equal(view)
71
93
  end
@@ -77,7 +99,7 @@ shared_examples 'an identifiable collection' do
77
99
 
78
100
  describe '#size' do
79
101
  let(:wrapped) do
80
- Nanoc::Int::IdentifiableCollection.new(
102
+ collection_class.new(
81
103
  config,
82
104
  [
83
105
  double(:identifiable, identifier: Nanoc::Identifier.new('/foo')),
@@ -89,6 +111,11 @@ shared_examples 'an identifiable collection' do
89
111
 
90
112
  subject { view.size }
91
113
 
114
+ it 'creates dependency' do
115
+ expect(dependency_tracker).to receive(:bounce).with(wrapped, raw_content: true)
116
+ subject
117
+ end
118
+
92
119
  it { should == 3 }
93
120
  end
94
121
 
@@ -102,7 +129,7 @@ shared_examples 'an identifiable collection' do
102
129
  end
103
130
 
104
131
  let(:wrapped) do
105
- Nanoc::Int::IdentifiableCollection.new(
132
+ collection_class.new(
106
133
  config,
107
134
  [
108
135
  page_object,
@@ -116,11 +143,21 @@ shared_examples 'an identifiable collection' do
116
143
  context 'no objects found' do
117
144
  let(:arg) { '/donkey.*' }
118
145
  it { is_expected.to equal(nil) }
146
+
147
+ it 'creates dependency' do
148
+ expect(dependency_tracker).to receive(:bounce).with(wrapped, raw_content: ['/donkey.*'])
149
+ subject
150
+ end
119
151
  end
120
152
 
121
153
  context 'string' do
122
154
  let(:arg) { '/home.erb' }
123
155
 
156
+ it 'creates dependency' do
157
+ expect(dependency_tracker).to receive(:bounce).with(wrapped, raw_content: ['/home.erb'])
158
+ subject
159
+ end
160
+
124
161
  it 'returns wrapped object' do
125
162
  expect(subject.class).to equal(view_class)
126
163
  expect(subject.unwrap).to equal(home_object)
@@ -134,6 +171,11 @@ shared_examples 'an identifiable collection' do
134
171
  context 'identifier' do
135
172
  let(:arg) { Nanoc::Identifier.new('/home.erb') }
136
173
 
174
+ it 'creates dependency' do
175
+ expect(dependency_tracker).to receive(:bounce).with(wrapped, raw_content: ['/home.erb'])
176
+ subject
177
+ end
178
+
137
179
  it 'returns wrapped object' do
138
180
  expect(subject.class).to equal(view_class)
139
181
  expect(subject.unwrap).to equal(home_object)
@@ -146,12 +188,22 @@ shared_examples 'an identifiable collection' do
146
188
  context 'globs not enabled' do
147
189
  let(:config) { { string_pattern_type: 'legacy' } }
148
190
 
191
+ it 'creates dependency' do
192
+ expect(dependency_tracker).to receive(:bounce).with(wrapped, raw_content: ['/home.*'])
193
+ subject
194
+ end
195
+
149
196
  it 'returns nil' do
150
197
  expect(subject).to be_nil
151
198
  end
152
199
  end
153
200
 
154
201
  context 'globs enabled' do
202
+ it 'creates dependency' do
203
+ expect(dependency_tracker).to receive(:bounce).with(wrapped, raw_content: ['/home.*'])
204
+ subject
205
+ end
206
+
155
207
  it 'returns wrapped object' do
156
208
  expect(subject.class).to equal(view_class)
157
209
  expect(subject.unwrap).to equal(home_object)
@@ -162,6 +214,11 @@ shared_examples 'an identifiable collection' do
162
214
  context 'regex' do
163
215
  let(:arg) { %r{\A/home} }
164
216
 
217
+ it 'creates dependency' do
218
+ expect(dependency_tracker).to receive(:bounce).with(wrapped, raw_content: [%r{\A/home}])
219
+ subject
220
+ end
221
+
165
222
  it 'returns wrapped object' do
166
223
  expect(subject.class).to equal(view_class)
167
224
  expect(subject.unwrap).to equal(home_object)
@@ -171,7 +228,7 @@ shared_examples 'an identifiable collection' do
171
228
 
172
229
  describe '#find_all' do
173
230
  let(:wrapped) do
174
- Nanoc::Int::IdentifiableCollection.new(
231
+ collection_class.new(
175
232
  config,
176
233
  [
177
234
  double(:identifiable, identifier: Nanoc::Identifier.new('/about.css')),
@@ -186,6 +243,11 @@ shared_examples 'an identifiable collection' do
186
243
  context 'with string' do
187
244
  let(:arg) { '/*.css' }
188
245
 
246
+ it 'creates dependency' do
247
+ expect(dependency_tracker).to receive(:bounce).with(wrapped, raw_content: ['/*.css'])
248
+ subject
249
+ end
250
+
189
251
  it 'contains views' do
190
252
  expect(subject.size).to eql(2)
191
253
  about_css = subject.find { |iv| iv.identifier == '/about.css' }
@@ -198,6 +260,11 @@ shared_examples 'an identifiable collection' do
198
260
  context 'with regex' do
199
261
  let(:arg) { %r{\.css\z} }
200
262
 
263
+ it 'creates dependency' do
264
+ expect(dependency_tracker).to receive(:bounce).with(wrapped, raw_content: [%r{\.css\z}])
265
+ subject
266
+ end
267
+
201
268
  it 'contains views' do
202
269
  expect(subject.size).to eql(2)
203
270
  about_css = subject.find { |iv| iv.identifier == '/about.css' }
@@ -2,11 +2,12 @@
2
2
 
3
3
  describe Nanoc::ItemCollectionWithRepsView do
4
4
  let(:view_class) { Nanoc::ItemWithRepsView }
5
+ let(:collection_class) { Nanoc::Int::ItemCollection }
5
6
  it_behaves_like 'an identifiable collection'
6
7
 
7
8
  describe '#inspect' do
8
9
  let(:wrapped) do
9
- Nanoc::Int::IdentifiableCollection.new(config)
10
+ Nanoc::Int::ItemCollection.new(config)
10
11
  end
11
12
 
12
13
  let(:view) { described_class.new(wrapped, view_context) }
@@ -2,11 +2,12 @@
2
2
 
3
3
  describe Nanoc::ItemCollectionWithoutRepsView do
4
4
  let(:view_class) { Nanoc::ItemWithoutRepsView }
5
+ let(:collection_class) { Nanoc::Int::ItemCollection }
5
6
  it_behaves_like 'an identifiable collection'
6
7
 
7
8
  describe '#inspect' do
8
9
  let(:wrapped) do
9
- Nanoc::Int::IdentifiableCollection.new(config)
10
+ Nanoc::Int::ItemCollection.new(config)
10
11
  end
11
12
 
12
13
  let(:view) { described_class.new(wrapped, view_context) }
@@ -17,12 +17,11 @@ describe Nanoc::ItemRepView do
17
17
  let(:snapshot_repo) { Nanoc::Int::SnapshotRepo.new }
18
18
 
19
19
  let(:dependency_tracker) { Nanoc::Int::DependencyTracker.new(dependency_store) }
20
- let(:dependency_store) { Nanoc::Int::DependencyStore.new(empty_identifiable_collection, empty_identifiable_collection, config) }
20
+ let(:dependency_store) { Nanoc::Int::DependencyStore.new(empty_items, empty_layouts, config) }
21
21
  let(:base_item) { Nanoc::Int::Item.new('base', {}, '/base.md') }
22
22
 
23
- let(:empty_identifiable_collection) do
24
- Nanoc::Int::IdentifiableCollection.new(config)
25
- end
23
+ let(:empty_items) { Nanoc::Int::ItemCollection.new(config) }
24
+ let(:empty_layouts) { Nanoc::Int::LayoutCollection.new(config) }
26
25
 
27
26
  let(:config) { Nanoc::Int::Configuration.new.with_defaults }
28
27
 
@@ -18,15 +18,14 @@ describe Nanoc::ItemWithRepsView do
18
18
  let(:reps) { [] }
19
19
  let(:items) { [] }
20
20
  let(:dependency_tracker) { Nanoc::Int::DependencyTracker.new(dependency_store) }
21
- let(:dependency_store) { Nanoc::Int::DependencyStore.new(empty_identifiable_collection, empty_identifiable_collection, config) }
21
+ let(:dependency_store) { Nanoc::Int::DependencyStore.new(empty_items, empty_layouts, config) }
22
22
  let(:compilation_context) { double(:compilation_context) }
23
23
  let(:snapshot_repo) { Nanoc::Int::SnapshotRepo.new }
24
24
 
25
25
  let(:base_item) { Nanoc::Int::Item.new('base', {}, '/base.md') }
26
26
 
27
- let(:empty_identifiable_collection) do
28
- Nanoc::Int::IdentifiableCollection.new(config)
29
- end
27
+ let(:empty_items) { Nanoc::Int::ItemCollection.new(config) }
28
+ let(:empty_layouts) { Nanoc::Int::LayoutCollection.new(config) }
30
29
 
31
30
  let(:config) { Nanoc::Int::Configuration.new.with_defaults }
32
31
 
@@ -42,7 +41,7 @@ describe Nanoc::ItemWithRepsView do
42
41
  let(:view) { described_class.new(item, view_context) }
43
42
 
44
43
  let(:items) do
45
- Nanoc::Int::IdentifiableCollection.new(
44
+ Nanoc::Int::ItemCollection.new(
46
45
  {},
47
46
  [
48
47
  item,
@@ -141,7 +140,7 @@ describe Nanoc::ItemWithRepsView do
141
140
  let(:view) { described_class.new(item, view_context) }
142
141
 
143
142
  let(:items) do
144
- Nanoc::Int::IdentifiableCollection.new(
143
+ Nanoc::Int::ItemCollection.new(
145
144
  {},
146
145
  [
147
146
  item,
@@ -2,11 +2,12 @@
2
2
 
3
3
  describe Nanoc::LayoutCollectionView do
4
4
  let(:view_class) { Nanoc::LayoutView }
5
+ let(:collection_class) { Nanoc::Int::LayoutCollection }
5
6
  it_behaves_like 'an identifiable collection'
6
7
 
7
8
  describe '#inspect' do
8
9
  let(:wrapped) do
9
- Nanoc::Int::IdentifiableCollection.new(config)
10
+ Nanoc::Int::LayoutCollection.new(config)
10
11
  end
11
12
 
12
13
  let(:view) { described_class.new(wrapped, view_context) }
@@ -11,7 +11,7 @@ shared_examples 'a mutable identifiable collection' do
11
11
 
12
12
  describe '#delete_if' do
13
13
  let(:wrapped) do
14
- Nanoc::Int::IdentifiableCollection.new(
14
+ collection_class.new(
15
15
  config,
16
16
  [double(:identifiable, identifier: Nanoc::Identifier.new('/asdf/'))],
17
17
  )
@@ -2,6 +2,7 @@
2
2
 
3
3
  describe Nanoc::MutableItemCollectionView do
4
4
  let(:view_class) { Nanoc::MutableItemView }
5
+ let(:collection_class) { Nanoc::Int::ItemCollection }
5
6
  it_behaves_like 'an identifiable collection'
6
7
  it_behaves_like 'a mutable identifiable collection'
7
8
 
@@ -15,7 +16,7 @@ describe Nanoc::MutableItemCollectionView do
15
16
  end
16
17
 
17
18
  let(:wrapped) do
18
- Nanoc::Int::IdentifiableCollection.new(config, [item])
19
+ Nanoc::Int::ItemCollection.new(config, [item])
19
20
  end
20
21
 
21
22
  let(:view) { described_class.new(wrapped, nil) }
@@ -42,7 +43,7 @@ describe Nanoc::MutableItemCollectionView do
42
43
 
43
44
  describe '#inspect' do
44
45
  let(:wrapped) do
45
- Nanoc::Int::IdentifiableCollection.new(config)
46
+ Nanoc::Int::ItemCollection.new(config)
46
47
  end
47
48
 
48
49
  let(:view) { described_class.new(wrapped, view_context) }
@@ -2,6 +2,7 @@
2
2
 
3
3
  describe Nanoc::MutableLayoutCollectionView do
4
4
  let(:view_class) { Nanoc::MutableLayoutView }
5
+ let(:collection_class) { Nanoc::Int::LayoutCollection }
5
6
  it_behaves_like 'an identifiable collection'
6
7
  it_behaves_like 'a mutable identifiable collection'
7
8
 
@@ -15,7 +16,7 @@ describe Nanoc::MutableLayoutCollectionView do
15
16
  end
16
17
 
17
18
  let(:wrapped) do
18
- Nanoc::Int::IdentifiableCollection.new(config, [layout])
19
+ Nanoc::Int::LayoutCollection.new(config, [layout])
19
20
  end
20
21
 
21
22
  let(:view) { described_class.new(wrapped, nil) }
@@ -42,7 +43,7 @@ describe Nanoc::MutableLayoutCollectionView do
42
43
 
43
44
  describe '#inspect' do
44
45
  let(:wrapped) do
45
- Nanoc::Int::IdentifiableCollection.new(config)
46
+ Nanoc::Int::LayoutCollection.new(config)
46
47
  end
47
48
 
48
49
  let(:view) { described_class.new(wrapped, view_context) }
@@ -16,7 +16,7 @@ describe Nanoc::PostCompileItemRepView do
16
16
  end
17
17
 
18
18
  let(:reps) { double(:reps) }
19
- let(:items) { Nanoc::Int::IdentifiableCollection.new(config) }
19
+ let(:items) { Nanoc::Int::ItemCollection.new(config) }
20
20
  let(:config) { Nanoc::Int::Configuration.new }
21
21
  let(:dependency_tracker) { Nanoc::Int::DependencyTracker.new(double(:dependency_store)) }
22
22
  let(:compilation_context) { double(:compilation_context, compiled_content_cache: compiled_content_cache) }
@@ -13,7 +13,7 @@ describe Nanoc::CLI::Commands::ShowData, stdio: true do
13
13
  let(:command) { double(:command) }
14
14
 
15
15
  let(:items) do
16
- Nanoc::Int::IdentifiableCollection.new(
16
+ Nanoc::Int::ItemCollection.new(
17
17
  config,
18
18
  [
19
19
  item_about,
@@ -34,7 +34,7 @@ describe Nanoc::CLI::Commands::ShowData, stdio: true do
34
34
  end
35
35
 
36
36
  let(:layouts) do
37
- Nanoc::Int::IdentifiableCollection.new(config)
37
+ Nanoc::Int::LayoutCollection.new(config)
38
38
  end
39
39
 
40
40
  it 'prints a legend' do
@@ -166,7 +166,7 @@ describe Nanoc::CLI::Commands::ShowData, stdio: true do
166
166
  let(:config) { Nanoc::Int::Configuration.new }
167
167
 
168
168
  let(:items) do
169
- Nanoc::Int::IdentifiableCollection.new(
169
+ Nanoc::Int::ItemCollection.new(
170
170
  config,
171
171
  [
172
172
  item_about,
@@ -257,7 +257,7 @@ describe Nanoc::CLI::Commands::ShowData, stdio: true do
257
257
  let(:config) { Nanoc::Int::Configuration.new }
258
258
 
259
259
  let(:layouts) do
260
- Nanoc::Int::IdentifiableCollection.new(config, [layout])
260
+ Nanoc::Int::LayoutCollection.new(config, [layout])
261
261
  end
262
262
 
263
263
  let(:layout) { Nanoc::Int::Layout.new('stuff', {}, '/default.erb') }