usmu 0.1.0 → 0.2.0

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.
@@ -0,0 +1,49 @@
1
+ require 'usmu/plugin'
2
+ require 'ostruct'
3
+
4
+ RSpec.describe Usmu::Plugin do
5
+ before(:each) do
6
+ # noinspection RubyStringKeysInHashInspection
7
+ allow(Gem::Specification).to receive(:find_all).and_return([OpenStruct.new({'name' => 'usmu-mock_plugin'})])
8
+ end
9
+
10
+ let(:plugins) { Usmu::Plugin.new }
11
+
12
+ it 'should load the core plugin' do
13
+ plugins.load_plugins
14
+ expect(plugins.plugins.select {|p| p.class.name == 'Usmu::Plugin::Core'}.length).to eq(1)
15
+ end
16
+
17
+ it 'should load plugins from gems' do
18
+ plugins.load_plugins
19
+ expect(plugins.plugins.select {|p| p.class.name == 'Usmu::MockPlugin'}.length).to eq(1)
20
+ end
21
+
22
+ it 'should avoid loading plugins more than once' do
23
+ # noinspection RubyStringKeysInHashInspection
24
+ allow(Gem::Specification).to receive(:find_all).and_return([
25
+ OpenStruct.new({'name' => 'usmu-mock_plugin'}),
26
+ OpenStruct.new({'name' => 'usmu-mock_plugin'}),
27
+ ])
28
+ plugins.load_plugins
29
+ expect(plugins.plugins.select {|p| p.class.name == 'Usmu::MockPlugin'}.length).to eq(1)
30
+ end
31
+
32
+ it 'should call methods by name when using #invoke' do
33
+ plugins.load_plugins
34
+ plugins.plugins.select {|p| p.class.name == 'Usmu::MockPlugin' }.each do |p|
35
+ allow(p).to receive(:test).with('Hello world!')
36
+ end
37
+
38
+ plugins.invoke :test, 'Hello world!'
39
+ end
40
+
41
+ it 'should aggregate information from plugins when using #invoke' do
42
+ plugins.load_plugins
43
+ plugins.plugins.select {|p| p.class.name == 'Usmu::MockPlugin' }.each do |p|
44
+ allow(p).to receive(:test).and_return(['Goodbye world!'])
45
+ end
46
+
47
+ expect(plugins.invoke :test).to eq([['Goodbye world!']])
48
+ end
49
+ end
@@ -1,4 +1,3 @@
1
- require 'rspec'
2
1
  require 'usmu/site_generator'
3
2
 
4
3
  RSpec.describe Usmu::SiteGenerator do
@@ -27,6 +26,5 @@ RSpec.describe Usmu::SiteGenerator do
27
26
 
28
27
  it 'should be able to generate a site' do
29
28
  expect(generator.respond_to? :generate).to eq(true)
30
- # Further testing is exercised at the system integration level in the cukes.
31
29
  end
32
30
  end
@@ -1,3 +1,8 @@
1
+ require 'simplecov'
2
+ SimpleCov.command_name 'RSpec'
3
+
4
+ require 'logging'
5
+
1
6
  # This file was generated by the `rspec --init` command. Conventionally, all
2
7
  # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
3
8
  # The generated `.rspec` file contains `--require spec_helper` which will cause this
@@ -54,7 +59,7 @@ RSpec.configure do |config|
54
59
 
55
60
  # This setting enables warnings. It's recommended, but in some cases may
56
61
  # be too noisy due to issues in dependencies.
57
- config.warnings = true
62
+ config.warnings = false
58
63
 
59
64
  # Many RSpec users commonly either run the entire suite or an individual
60
65
  # file, and it's useful to allow more verbose output when running an
@@ -83,3 +88,9 @@ RSpec.configure do |config|
83
88
  # as the one that triggered the failure.
84
89
  Kernel.srand config.seed
85
90
  end
91
+
92
+ # Load turnip step definitions
93
+ Dir['test/spec/**/*_steps.rb'].each {|f| require f[10..f.length] }
94
+
95
+ # Allow loading of mocks
96
+ $LOAD_PATH.unshift(File.realpath('./test/spec/mock'))
@@ -1,4 +1,3 @@
1
- require 'rspec'
2
1
  require 'support/shared_layout'
3
2
  require 'usmu/static_file'
4
3
 
@@ -13,6 +12,13 @@ RSpec.describe Usmu::StaticFile do
13
12
  expect(rendered).to eq(File.read('test/expected-site/robots.txt'))
14
13
  end
15
14
 
15
+ it 'has an input path' do
16
+ configuration = Usmu::Configuration.from_hash({})
17
+ page = Usmu::StaticFile.new(configuration, 'robots.txt', 'txt', '', {})
18
+ expect(page.respond_to? :input_path).to eq(true)
19
+ expect(page.input_path).to eq('src/robots.txt')
20
+ end
21
+
16
22
  it 'has an output filename that matches input' do
17
23
  file = Usmu::StaticFile.new(configuration, 'robots.txt')
18
24
  expect(file.output_filename).to eq('robots.txt')
@@ -20,7 +20,7 @@ RSpec.shared_examples 'a layout' do
20
20
  include_examples 'a renderable file'
21
21
 
22
22
  let(:title_configuration) { Usmu::Configuration.from_hash({'default meta' => {'title' => 'title'}}) }
23
- let(:meta_with_title) { {'title' => 'title'} }
23
+ let(:meta_with_title) { {'title' => 'meta title'} }
24
24
  let(:content) { "title \#{title}\nbody\n #container\n | \#{{content}}" }
25
25
 
26
26
  it 'and has a type' do
@@ -35,6 +35,72 @@ RSpec.shared_examples 'a layout' do
35
35
  <title>title</title><body><div id="container">test</div></body>
36
36
  EOF
37
37
  end
38
+
39
+ context 'and when it\'s type' do
40
+ it 'is invalid' do
41
+ expect {described_class.new(empty_configuration, 'body.foo', nil, '', {})}.to raise_error()
42
+ end
43
+
44
+ it 'is erb then it\'s output type should be taken from it\'s filename' do
45
+ layout = described_class.new(empty_configuration, 'body.txt.erb', 'erb', '', {})
46
+ expect(layout.output_filename).to eq('body.txt')
47
+ end
48
+
49
+ it 'is rhtml then it\'s output type should be taken from it\'s filename' do
50
+ layout = described_class.new(empty_configuration, 'body.txt.rhtml', 'rhtml', '', {})
51
+ expect(layout.output_filename).to eq('body.txt')
52
+ end
53
+
54
+ it 'is erubis then it\'s output type should be taken from it\'s filename' do
55
+ layout = described_class.new(empty_configuration, 'body.txt.erubis', 'erubis', '', {})
56
+ expect(layout.output_filename).to eq('body.txt')
57
+ end
58
+
59
+ it 'is markdown then it\'s output type should be html' do
60
+ layout = described_class.new(empty_configuration, 'body.markdown', 'markdown', '', {})
61
+ expect(layout.output_filename).to eq('body.html')
62
+ end
63
+
64
+ it 'is mkd then it\'s output type should be html' do
65
+ layout = described_class.new(empty_configuration, 'body.mkd', 'mkd', '', {})
66
+ expect(layout.output_filename).to eq('body.html')
67
+ end
68
+
69
+ it 'is md then it\'s output type should be html' do
70
+ layout = described_class.new(empty_configuration, 'body.md', 'md', '', {})
71
+ expect(layout.output_filename).to eq('body.html')
72
+ end
73
+
74
+ it 'is coffee then it\'s output type should be js' do
75
+ layout = described_class.new(empty_configuration, 'body.coffee', 'coffee', '', {})
76
+ expect(layout.output_filename).to eq('body.js')
77
+ end
78
+
79
+ it 'is less then it\'s output type should be css' do
80
+ layout = described_class.new(empty_configuration, 'body.less', 'less', '', {})
81
+ expect(layout.output_filename).to eq('body.css')
82
+ end
83
+
84
+ it 'is liquid then it\'s output type should be taken from it\'s filename' do
85
+ layout = described_class.new(empty_configuration, 'body.txt.liquid', 'liquid', '', {})
86
+ expect(layout.output_filename).to eq('body.txt')
87
+ end
88
+
89
+ it 'is sass then it\'s output type should be scss' do
90
+ layout = described_class.new(empty_configuration, 'body.sass', 'sass', '', {})
91
+ expect(layout.output_filename).to eq('body.css')
92
+ end
93
+
94
+ it 'is scss then it\'s output type should be css' do
95
+ layout = described_class.new(empty_configuration, 'body.scss', 'scss', '', {})
96
+ expect(layout.output_filename).to eq('body.css')
97
+ end
98
+
99
+ it 'is slim then it\'s output type should be html' do
100
+ layout = described_class.new(empty_configuration, 'body.slim', 'slim', '', {})
101
+ expect(layout.output_filename).to eq('body.html')
102
+ end
103
+ end
38
104
  end
39
105
 
40
106
  RSpec.shared_examples 'a layout with metadata' do
@@ -61,10 +127,10 @@ RSpec.shared_examples 'a layout with metadata' do
61
127
  EOF
62
128
  end
63
129
 
64
- it 'variables over default metadata' do
65
- layout = described_class.new(empty_configuration, 'body.slim', 'slim', content, {})
66
- expect(layout.render({'content' => 'test', 'title' => 'overridden title'})).to eq(<<-EOF)
67
- <title>overridden title</title><body><div id="container">test</div></body>
130
+ it 'metadata over default metadata' do
131
+ layout = described_class.new(title_configuration, 'body.slim', 'slim', content, meta_with_title)
132
+ expect(layout.render({'content' => 'test'})).to eq(<<-EOF)
133
+ <title>meta title</title><body><div id="container">test</div></body>
68
134
  EOF
69
135
  end
70
136
  end
@@ -89,6 +155,24 @@ RSpec.shared_examples 'an embeddable layout' do
89
155
  EOF
90
156
  end
91
157
 
158
+ it 'and respects templates from default metadata' do
159
+ parent = described_class.new(empty_configuration, 'html.slim', 'slim', wrapper, {})
160
+ default_layout_configuration = Usmu::Configuration.from_hash({'default meta' => {'layout' => parent}})
161
+ layout = described_class.new(default_layout_configuration, 'body.slim', 'slim', content, {'title' => 'test title'})
162
+ expect(layout.render({'content' => 'test'})).to eq(<<-EOF)
163
+ <html><title>test title</title><body><div id="container">test</div></body>
164
+ </html>
165
+ EOF
166
+ end
167
+
168
+ it 'and uses a template of "none" to explicitly disable the parent template' do
169
+ default_layout_configuration = Usmu::Configuration.from_hash({'default meta' => {'layout' => 'html'}})
170
+ layout = described_class.new(default_layout_configuration, 'body.slim', 'slim', content, {'layout' => 'none', 'title' => 'test title'})
171
+ expect(layout.render({'content' => 'test'})).to eq(<<-EOF)
172
+ <title>test title</title><body><div id="container">test</div></body>
173
+ EOF
174
+ end
175
+
92
176
  context 'and prioritises' do
93
177
  it 'metadata over parent metadata' do
94
178
  parent = described_class.new(empty_configuration, 'html.slim', 'slim', wrapper, {'title' => 'title'})
@@ -0,0 +1,20 @@
1
+ require 'usmu/ui/console'
2
+
3
+ Usmu.disable_stdout_logging
4
+
5
+ RSpec.describe Usmu::Ui::Console do
6
+ it 'supports --quiet' do
7
+ expect(Usmu).to receive(:quiet_logging)
8
+ Usmu::Ui::Console.new(%w{--quiet --config test/site/usmu.yml})
9
+ end
10
+
11
+ it 'supports --log' do
12
+ expect(Usmu).to receive(:add_file_logger).with('test.log')
13
+ Usmu::Ui::Console.new(%w{--log test.log --config test/site/usmu.yml})
14
+ end
15
+
16
+ it 'supports --verbose' do
17
+ expect(Usmu).to receive(:verbose_logging)
18
+ Usmu::Ui::Console.new(%w{--verbose --config test/site/usmu.yml})
19
+ end
20
+ end
data/usmu-jruby.gemspec CHANGED
@@ -22,13 +22,16 @@ Gem::Specification.new do |spec|
22
22
  spec.add_dependency 'tilt', '~> 2.0'
23
23
  spec.add_dependency 'kramdown', '~> 1.5'
24
24
  spec.add_dependency 'deep_merge', '~> 1.0'
25
- spec.add_dependency 'trollop', '~> 2.0'
26
- spec.add_dependency 'highline', '~> 1.6'
25
+ spec.add_dependency 'commander', '~> 4.2'
26
+ spec.add_dependency 'logging', '~> 1.8'
27
27
 
28
28
  spec.add_development_dependency 'bundler', '~> 1.6'
29
29
  spec.add_development_dependency 'rake', '~> 10.0'
30
30
  spec.add_development_dependency 'rspec', '~> 3.1'
31
- spec.add_development_dependency 'cucumber', '~> 1.3'
32
31
  spec.add_development_dependency 'yard', '~> 0.8'
33
32
  spec.add_development_dependency 'cane', '~> 2.6'
33
+ spec.add_development_dependency 'simplecov', '~> 0.9'
34
+ spec.add_development_dependency 'guard', '~> 2.8'
35
+ spec.add_development_dependency 'guard-rspec', '~> 4.3'
36
+ spec.add_development_dependency 'turnip', '~> 1.2'
34
37
  end
data/usmu.gemspec CHANGED
@@ -19,17 +19,18 @@ Gem::Specification.new do |spec|
19
19
 
20
20
  spec.add_dependency 'slim', '~> 2.1'
21
21
  spec.add_dependency 'tilt', '~> 2.0'
22
- # For now yard requires redcarpet < 3.2
23
- # See: https://github.com/lsegal/yard/issues/812
24
- spec.add_dependency 'redcarpet', '~> 3.1', '< 3.2'
22
+ spec.add_dependency 'redcarpet', '~> 3.2', '>= 3.2.1'
25
23
  spec.add_dependency 'deep_merge', '~> 1.0'
26
- spec.add_dependency 'trollop', '~> 2.0'
27
- spec.add_dependency 'highline', '~> 1.6'
24
+ spec.add_dependency 'commander', '~> 4.2'
25
+ spec.add_dependency 'logging', '~> 1.8'
28
26
 
29
27
  spec.add_development_dependency 'bundler', '~> 1.6'
30
28
  spec.add_development_dependency 'rake', '~> 10.0'
31
29
  spec.add_development_dependency 'rspec', '~> 3.1'
32
- spec.add_development_dependency 'cucumber', '~> 1.3'
33
30
  spec.add_development_dependency 'yard', '~> 0.8'
34
31
  spec.add_development_dependency 'cane', '~> 2.6'
32
+ spec.add_development_dependency 'simplecov', '~> 0.9'
33
+ spec.add_development_dependency 'guard', '~> 2.8'
34
+ spec.add_development_dependency 'guard-rspec', '~> 4.3'
35
+ spec.add_development_dependency 'turnip', '~> 1.2'
35
36
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: usmu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Scharley
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-11 00:00:00.000000000 Z
11
+ date: 2014-11-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: slim
@@ -43,21 +43,21 @@ dependencies:
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '3.1'
48
- - - "<"
49
46
  - !ruby/object:Gem::Version
50
47
  version: '3.2'
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: 3.2.1
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
54
54
  requirements:
55
55
  - - "~>"
56
- - !ruby/object:Gem::Version
57
- version: '3.1'
58
- - - "<"
59
56
  - !ruby/object:Gem::Version
60
57
  version: '3.2'
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 3.2.1
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: deep_merge
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -73,33 +73,33 @@ dependencies:
73
73
  - !ruby/object:Gem::Version
74
74
  version: '1.0'
75
75
  - !ruby/object:Gem::Dependency
76
- name: trollop
76
+ name: commander
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '2.0'
81
+ version: '4.2'
82
82
  type: :runtime
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: '2.0'
88
+ version: '4.2'
89
89
  - !ruby/object:Gem::Dependency
90
- name: highline
90
+ name: logging
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: '1.6'
95
+ version: '1.8'
96
96
  type: :runtime
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: '1.6'
102
+ version: '1.8'
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: bundler
105
105
  requirement: !ruby/object:Gem::Requirement
@@ -143,47 +143,89 @@ dependencies:
143
143
  - !ruby/object:Gem::Version
144
144
  version: '3.1'
145
145
  - !ruby/object:Gem::Dependency
146
- name: cucumber
146
+ name: yard
147
147
  requirement: !ruby/object:Gem::Requirement
148
148
  requirements:
149
149
  - - "~>"
150
150
  - !ruby/object:Gem::Version
151
- version: '1.3'
151
+ version: '0.8'
152
152
  type: :development
153
153
  prerelease: false
154
154
  version_requirements: !ruby/object:Gem::Requirement
155
155
  requirements:
156
156
  - - "~>"
157
157
  - !ruby/object:Gem::Version
158
- version: '1.3'
158
+ version: '0.8'
159
159
  - !ruby/object:Gem::Dependency
160
- name: yard
160
+ name: cane
161
161
  requirement: !ruby/object:Gem::Requirement
162
162
  requirements:
163
163
  - - "~>"
164
164
  - !ruby/object:Gem::Version
165
- version: '0.8'
165
+ version: '2.6'
166
166
  type: :development
167
167
  prerelease: false
168
168
  version_requirements: !ruby/object:Gem::Requirement
169
169
  requirements:
170
170
  - - "~>"
171
171
  - !ruby/object:Gem::Version
172
- version: '0.8'
172
+ version: '2.6'
173
173
  - !ruby/object:Gem::Dependency
174
- name: cane
174
+ name: simplecov
175
175
  requirement: !ruby/object:Gem::Requirement
176
176
  requirements:
177
177
  - - "~>"
178
178
  - !ruby/object:Gem::Version
179
- version: '2.6'
179
+ version: '0.9'
180
180
  type: :development
181
181
  prerelease: false
182
182
  version_requirements: !ruby/object:Gem::Requirement
183
183
  requirements:
184
184
  - - "~>"
185
185
  - !ruby/object:Gem::Version
186
- version: '2.6'
186
+ version: '0.9'
187
+ - !ruby/object:Gem::Dependency
188
+ name: guard
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - "~>"
192
+ - !ruby/object:Gem::Version
193
+ version: '2.8'
194
+ type: :development
195
+ prerelease: false
196
+ version_requirements: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - "~>"
199
+ - !ruby/object:Gem::Version
200
+ version: '2.8'
201
+ - !ruby/object:Gem::Dependency
202
+ name: guard-rspec
203
+ requirement: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - "~>"
206
+ - !ruby/object:Gem::Version
207
+ version: '4.3'
208
+ type: :development
209
+ prerelease: false
210
+ version_requirements: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - "~>"
213
+ - !ruby/object:Gem::Version
214
+ version: '4.3'
215
+ - !ruby/object:Gem::Dependency
216
+ name: turnip
217
+ requirement: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - "~>"
220
+ - !ruby/object:Gem::Version
221
+ version: '1.2'
222
+ type: :development
223
+ prerelease: false
224
+ version_requirements: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - "~>"
227
+ - !ruby/object:Gem::Version
228
+ version: '1.2'
187
229
  description:
188
230
  email:
189
231
  - matt.scharley@gmail.com
@@ -195,10 +237,13 @@ files:
195
237
  - ".cane"
196
238
  - ".gitignore"
197
239
  - ".rspec"
240
+ - ".simplecov"
198
241
  - ".travis.yml"
199
242
  - ".yardopts"
243
+ - CONTRIBUTING.md
200
244
  - Gemfile
201
245
  - Gemfile-jruby
246
+ - Guardfile
202
247
  - LICENSE.md
203
248
  - README.md
204
249
  - Rakefile
@@ -208,6 +253,8 @@ files:
208
253
  - lib/usmu/configuration.rb
209
254
  - lib/usmu/layout.rb
210
255
  - lib/usmu/page.rb
256
+ - lib/usmu/plugin.rb
257
+ - lib/usmu/plugin/core.rb
211
258
  - lib/usmu/site_generator.rb
212
259
  - lib/usmu/static_file.rb
213
260
  - lib/usmu/ui.rb
@@ -217,8 +264,6 @@ files:
217
264
  - test/expected-site/embedded.html
218
265
  - test/expected-site/index.html
219
266
  - test/expected-site/robots.txt
220
- - test/features/generator.feature
221
- - test/features/step_definitions/step_general.rb
222
267
  - test/site/content/default.md
223
268
  - test/site/content/embedded.md
224
269
  - test/site/content/embedded.meta.yml
@@ -230,13 +275,19 @@ files:
230
275
  - test/site/layouts/html.meta.yml
231
276
  - test/site/layouts/html.slim
232
277
  - test/site/usmu.yml
278
+ - test/spec/acceptance/full_site_build.feature
279
+ - test/spec/acceptance/steps/full_site_build_steps.rb
233
280
  - test/spec/configuration_spec.rb
234
281
  - test/spec/layout_spec.rb
282
+ - test/spec/mock/usmu/mock_plugin.rb
235
283
  - test/spec/page_spec.rb
284
+ - test/spec/plugin/core_spec.rb
285
+ - test/spec/plugin_spec.rb
236
286
  - test/spec/site_generator_spec.rb
237
287
  - test/spec/spec_helper.rb
238
288
  - test/spec/static_file_spec.rb
239
289
  - test/spec/support/shared_layout.rb
290
+ - test/spec/ui/console_spec.rb
240
291
  - usmu-jruby.gemspec
241
292
  - usmu.gemspec
242
293
  homepage: https://github.com/usmu/usmu
@@ -268,8 +319,6 @@ test_files:
268
319
  - test/expected-site/embedded.html
269
320
  - test/expected-site/index.html
270
321
  - test/expected-site/robots.txt
271
- - test/features/generator.feature
272
- - test/features/step_definitions/step_general.rb
273
322
  - test/site/content/default.md
274
323
  - test/site/content/embedded.md
275
324
  - test/site/content/embedded.meta.yml
@@ -281,11 +330,17 @@ test_files:
281
330
  - test/site/layouts/html.meta.yml
282
331
  - test/site/layouts/html.slim
283
332
  - test/site/usmu.yml
333
+ - test/spec/acceptance/full_site_build.feature
334
+ - test/spec/acceptance/steps/full_site_build_steps.rb
284
335
  - test/spec/configuration_spec.rb
285
336
  - test/spec/layout_spec.rb
337
+ - test/spec/mock/usmu/mock_plugin.rb
286
338
  - test/spec/page_spec.rb
339
+ - test/spec/plugin/core_spec.rb
340
+ - test/spec/plugin_spec.rb
287
341
  - test/spec/site_generator_spec.rb
288
342
  - test/spec/spec_helper.rb
289
343
  - test/spec/static_file_spec.rb
290
344
  - test/spec/support/shared_layout.rb
345
+ - test/spec/ui/console_spec.rb
291
346
  has_rdoc: