fontcustom 1.1.0.pre → 1.1.0.pre2

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 (37) hide show
  1. checksums.yaml +4 -4
  2. data/TODO.md +20 -5
  3. data/lib/fontcustom.rb +42 -4
  4. data/lib/fontcustom/cli.rb +65 -25
  5. data/lib/fontcustom/generator/font.rb +26 -26
  6. data/lib/fontcustom/generator/template.rb +29 -30
  7. data/lib/fontcustom/options.rb +207 -23
  8. data/lib/fontcustom/templates/_fontcustom-bootstrap-ie7.scss +9 -9
  9. data/lib/fontcustom/templates/_fontcustom-bootstrap.scss +19 -19
  10. data/lib/fontcustom/templates/_fontcustom-rails.scss +28 -0
  11. data/lib/fontcustom/templates/_fontcustom.scss +11 -11
  12. data/lib/fontcustom/templates/fontcustom-bootstrap-ie7.css +9 -9
  13. data/lib/fontcustom/templates/fontcustom-bootstrap.css +19 -19
  14. data/lib/fontcustom/templates/fontcustom-preview.html +34 -7
  15. data/lib/fontcustom/templates/fontcustom.css +11 -11
  16. data/lib/fontcustom/templates/fontcustom.yml +11 -6
  17. data/lib/fontcustom/util.rb +38 -159
  18. data/lib/fontcustom/version.rb +1 -1
  19. data/lib/fontcustom/watcher.rb +16 -14
  20. data/spec/fixtures/generators/.fontcustom-data-corrupted +18 -0
  21. data/spec/fixtures/generators/fontcustom.yml +1 -0
  22. data/spec/fixtures/{util/fontcustom.yml → options/any-file-name.yml} +0 -0
  23. data/spec/fixtures/{util → options}/config-is-in-dir/fontcustom.yml +0 -0
  24. data/spec/fixtures/options/fontcustom-empty.yml +1 -0
  25. data/spec/fixtures/{util → options}/fontcustom-malformed.yml +0 -0
  26. data/spec/fixtures/options/fontcustom.yml +1 -0
  27. data/spec/fixtures/options/no-config-here/.gitkeep +0 -0
  28. data/spec/fixtures/{util → options}/rails-like/config/fontcustom.yml +0 -0
  29. data/spec/fontcustom/generator/font_spec.rb +31 -15
  30. data/spec/fontcustom/generator/template_spec.rb +20 -18
  31. data/spec/fontcustom/options_spec.rb +428 -0
  32. data/spec/fontcustom/util_spec.rb +38 -336
  33. data/spec/fontcustom/watcher_spec.rb +7 -2
  34. data/spec/spec_helper.rb +1 -2
  35. metadata +23 -13
  36. data/lib/fontcustom/actions.rb +0 -28
  37. data/spec/fontcustom/actions_spec.rb +0 -22
@@ -1,359 +1,61 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Fontcustom::Util do
4
- def util
5
- Fontcustom::Util
6
- end
7
-
8
- context ".check_fontforge" do
9
- it "should raise error if fontforge isn't installed" do
10
- util.stub(:"`").and_return("")
11
- expect { util.check_fontforge }.to raise_error Fontcustom::Error, /install fontforge/
12
- end
13
- end
14
-
15
- context ".collect_options" do
16
- it "should raise error if fontcustom.yml isn't valid" do
17
- options = {
18
- :project_root => fixture,
19
- :input => "shared/vectors",
20
- :config => "util/fontcustom-malformed.yml"
21
- }
22
- expect { util.collect_options(options) }.to raise_error Fontcustom::Error, /couldn't read your configuration/
23
- end
24
-
25
- it "should overwrite defaults with config file" do
26
- options = {
27
- :project_root => fixture,
28
- :input => "shared/vectors",
29
- :config => "util/fontcustom.yml"
30
- }
31
- options = util.collect_options options
32
- options[:font_name].should == "Custom-Name-From-Config"
33
- end
4
+ class Generator
5
+ include Fontcustom::Util
6
+ attr_accessor :cli_options
34
7
 
35
- it "should overwrite config file and defaults with CLI options" do
36
- options = {
37
- :project_root => fixture,
38
- :input => "shared/vectors",
39
- :font_name => "custom-name-from-cli",
40
- :config => "util/fontcustom.yml"
41
- }
42
- options = util.collect_options options
43
- options[:font_name].should == "custom-name-from-cli"
44
- end
45
-
46
- it "should normalize file name" do
47
- options = {
48
- :project_root => fixture,
49
- :input => "shared/vectors",
50
- :font_name => " A_stR4nG3 nAm3 Ø& "
51
- }
52
- options = util.collect_options options
53
- options[:font_name].should == "A_stR4nG3--nAm3---"
8
+ def initialize
9
+ @cli_options = { :project_root => fixture, :verbose => true }
10
+ @shell = Thor::Shell::Color.new
54
11
  end
55
12
  end
56
13
 
57
- context ".get_config_path" do
58
- it "should search for fontcustom.yml if options[:config] is a dir" do
59
- options = {
60
- :project_root => fixture,
61
- :config => "util/config-is-in-dir"
62
- }
63
- util.get_config_path(options).should == fixture("util/config-is-in-dir/fontcustom.yml")
64
- end
65
-
66
- it "should use options[:config] if it's a file" do
67
- options = {
68
- :project_root => fixture,
69
- :config => "util/fontcustom.yml"
70
- }
71
- util.get_config_path(options).should == fixture("util/fontcustom.yml")
72
- end
73
-
74
- it "should find fontcustom.yml in :project_root/config" do
75
- options = { :project_root => fixture("util/rails-like") }
76
- util.get_config_path(options).should == fixture("util/rails-like/config/fontcustom.yml")
77
- end
78
-
79
- it "should follow ../../ paths" do
80
- options = {
81
- :project_root => fixture("shared"),
82
- :input => "vectors",
83
- :config => "../util"
84
- }
85
- util.get_config_path(options).should == fixture("util/fontcustom.yml")
86
- end
87
-
88
- it "should print out which fontcustom.yml it's using"
89
-
90
- it "should raise error if fontcustom.yml was specified but doesn't exist" do
91
- options = {
92
- :project_root => fixture,
93
- :input => "shared/vectors",
94
- :config => "does-not-exist"
95
- }
96
- expect { util.get_config_path(options) }.to raise_error Fontcustom::Error, /couldn't find/
14
+ context "#check_fontforge" do
15
+ it "should raise error if fontforge isn't installed" do
16
+ gen = Generator.new
17
+ gen.stub(:"`").and_return("")
18
+ expect { gen.check_fontforge }.to raise_error Fontcustom::Error, /install fontforge/
97
19
  end
98
-
99
- it "should print a warning if fontcustom.yml was NOT specified and doesn't exist"
100
20
  end
101
21
 
102
- context ".get_input_paths" do
103
- it "should raise error if input[:vectors] doesn't contain vectors" do
104
- options = {
105
- :project_root => fixture,
106
- :input => "shared/vectors-empty"
107
- }
108
- expect { util.get_input_paths(options) }.to raise_error Fontcustom::Error, /doesn't contain any vectors/
109
- end
110
-
111
- it "should follow ../../ paths" do
112
- options = {
113
- :project_root => fixture("util"),
114
- :input => {:vectors => "../shared/vectors", :templates => "../shared/templates"}
115
- }
116
- paths = util.get_input_paths(options)
117
- paths[:vectors].should eq(fixture("shared/vectors"))
118
- paths[:templates].should eq(fixture("shared/templates"))
22
+ context "#say_changed" do
23
+ it "should strip :project_root from changed paths" do
24
+ changed = %w|a b c|.map { |file| fixture(file) }
25
+ gen = Generator.new
26
+ output = capture(:stdout) { gen.say_changed(:success, changed) }
27
+ output.should_not match(fixture)
119
28
  end
120
29
 
121
- context "when passed a hash" do
122
- it "should return a hash of input locations" do
123
- options = {
124
- :input => { :vectors => "shared/vectors" },
125
- :project_root => fixture
126
- }
127
- paths = util.get_input_paths(options)
128
- paths.should have_key("vectors")
129
- paths.should have_key("templates")
130
- end
131
-
132
- it "should set :templates as :vectors if :templates isn't passed" do
133
- options = {
134
- :input => { :vectors => "shared/vectors" },
135
- :project_root => fixture
136
- }
137
- paths = util.get_input_paths(options)
138
- paths[:vectors].should equal(paths[:templates])
139
- end
140
-
141
- it "should preserve :templates if it is passed" do
142
- options = {
143
- :input => { :vectors => "shared/vectors", :templates => "shared/templates" },
144
- :project_root => fixture
145
- }
146
- paths = util.get_input_paths(options)
147
- paths[:templates].should_not equal(paths[:vectors])
148
- end
149
-
150
- it "should raise an error if :vectors isn't included" do
151
- options = {
152
- :input => { :templates => "shared/templates" },
153
- :project_root => fixture
154
- }
155
- expect { util.get_input_paths(options) }.to raise_error Fontcustom::Error, /should be a string or a hash/
156
- end
157
-
158
- it "should raise an error if :vectors doesn't point to an existing directory" do
159
- options = {
160
- :input => { :vectors => "shared/not-a-dir" },
161
- :project_root => fixture
162
- }
163
- expect { util.get_input_paths(options) }.to raise_error Fontcustom::Error, /should be a directory/
164
- end
165
- end
166
-
167
- context "when passed a string" do
168
- it "should return a hash of input locations" do
169
- options = {
170
- :input => "shared/vectors",
171
- :project_root => fixture
172
- }
173
- paths = util.get_input_paths(options)
174
- paths.should have_key("vectors")
175
- paths.should have_key("templates")
176
- end
177
-
178
- it "should set :templates to match :vectors" do
179
- options = {
180
- :input => "shared/vectors",
181
- :project_root => fixture
182
- }
183
- paths = util.get_input_paths(options)
184
- paths[:vectors].should equal(paths[:templates])
185
- end
186
-
187
- it "should raise an error if :vectors doesn't point to a directory" do
188
- options = {
189
- :input => "shared/not-a-dir",
190
- :project_root => fixture
191
- }
192
- expect { util.collect_options options }.to raise_error Fontcustom::Error, /should be a directory/
193
- end
30
+ it "should not respond if :verbose is false" do
31
+ changed = %w|a b c|.map { |file| fixture(file) }
32
+ gen = Generator.new
33
+ gen.cli_options[:verbose] = false
34
+ output = capture(:stdout) { gen.say_changed(:success, changed) }
35
+ output.should == ""
194
36
  end
195
37
  end
196
38
 
197
- context ".get_output_paths" do
198
- it "should default to :project_root/:font_name if no output is specified" do
199
- options = { :project_root => fixture, :font_name => "test" }
200
- paths = util.get_output_paths(options)
201
- paths[:fonts].should eq(fixture("test"))
202
- end
203
-
204
- it "should print a warning when defaulting to :project_root/:font_name"
205
-
206
- it "should follow ../../ paths" do
207
- options = {
208
- :project_root => fixture("shared"),
209
- :input => "vectors",
210
- :output => {
211
- :fonts => "../output/fonts",
212
- :css => "../output/css",
213
- :preview => "../output/views"
214
- }
215
- }
216
- paths = util.get_output_paths(options)
217
- paths[:fonts].should eq(fixture("output/fonts"))
218
- paths[:css].should eq(fixture("output/css"))
219
- paths[:preview].should eq(fixture("output/views"))
220
- end
221
-
222
- context "when passed a hash" do
223
- it "should return a hash of output locations" do
224
- options = {
225
- :output => { :fonts => "output/fonts" },
226
- :project_root => fixture
227
- }
228
- paths = util.get_output_paths(options)
229
- paths.should have_key("fonts")
230
- paths.should have_key("css")
231
- paths.should have_key("preview")
232
- end
233
-
234
- it "should set :css and :preview to match :fonts if either aren't passed" do
235
- options = {
236
- :output => { :fonts => "output/fonts" },
237
- :project_root => fixture
238
- }
239
- paths = util.get_output_paths(options)
240
- paths[:css].should equal(paths[:fonts])
241
- paths[:preview].should equal(paths[:fonts])
242
- end
243
-
244
- it "should preserve :css and :preview if they do exist" do
245
- options = {
246
- :output => {
247
- :fonts => "output/fonts",
248
- :css => "output/styles",
249
- :preview => "output/preview"
250
- },
251
- :project_root => fixture
252
- }
253
- paths = util.get_output_paths(options)
254
- paths[:css].should_not equal(paths[:fonts])
255
- paths[:preview].should_not equal(paths[:fonts])
256
- end
257
-
258
- it "should create additional paths if they are given" do
259
- options = {
260
- :output => {
261
- :fonts => "output/fonts",
262
- "special.js" => "assets/javascripts"
263
- },
264
- :project_root => fixture
265
- }
266
- paths = util.get_output_paths(options)
267
- paths["special.js"].should eq(File.join(options[:project_root], "assets/javascripts"))
268
- end
269
-
270
- it "should raise an error if :fonts isn't included" do
271
- options = {
272
- :output => { :css => "output/styles" },
273
- :project_root => fixture
274
- }
275
- expect { util.get_output_paths(options) }.to raise_error Fontcustom::Error, /containing a "fonts" key/
276
- end
277
- end
278
-
279
- context "when passed a string" do
280
- it "should return a hash of output locations" do
281
- options = {
282
- :output => "output/fonts",
283
- :project_root => fixture
284
- }
285
- paths = util.get_output_paths(options)
286
- paths.should have_key("fonts")
287
- paths.should have_key("css")
288
- paths.should have_key("preview")
289
- end
290
-
291
- it "should set :css and :preview to match :fonts" do
292
- options = {
293
- :output => "output/fonts",
294
- :project_root => fixture
295
- }
296
- paths = util.get_output_paths(options)
297
- paths[:css].should equal(paths[:fonts])
298
- paths[:preview].should equal(paths[:fonts])
299
- end
300
-
301
- it "should raise an error if :fonts exists but isn't a directory" do
302
- options = {
303
- :output => "shared/not-a-dir",
304
- :project_root => fixture
305
- }
306
- expect { util.get_output_paths(options) }.to raise_error Fontcustom::Error, /directory, not a file/
307
- end
39
+ context "#say_message" do
40
+ it "should not respond if :verbose is false" do
41
+ gen = Generator.new
42
+ gen.cli_options[:verbose] = false
43
+ output = capture(:stdout) { gen.say_message(:test, "Hello") }
44
+ output.should == ""
308
45
  end
309
46
  end
310
47
 
311
- context ".get_templates" do
312
- it "should ensure that 'css' is included with 'preview'" do
313
- lib = util.gem_lib_path
314
- options = { :input => fixture("shared/vectors"), :templates => %W|preview| }
315
- templates = util.get_templates options
316
- templates.should =~ [
317
- File.join(lib, "templates", "fontcustom.css"),
318
- File.join(lib, "templates", "fontcustom-preview.html")
319
- ]
320
- end
321
-
322
- it "should expand shorthand for packaged templates" do
323
- lib = util.gem_lib_path
324
- options = { :input => fixture("shared/vectors"), :templates => %W|preview css scss bootstrap bootstrap-scss bootstrap-ie7 bootstrap-ie7-scss| }
325
- templates = util.get_templates options
326
- templates.should =~ [
327
- File.join(lib, "templates", "fontcustom-preview.html"),
328
- File.join(lib, "templates", "fontcustom.css"),
329
- File.join(lib, "templates", "_fontcustom.scss"),
330
- File.join(lib, "templates", "fontcustom-bootstrap.css"),
331
- File.join(lib, "templates", "_fontcustom-bootstrap.scss"),
332
- File.join(lib, "templates", "fontcustom-bootstrap-ie7.css"),
333
- File.join(lib, "templates", "_fontcustom-bootstrap-ie7.scss")
334
- ]
335
- end
336
-
337
- it "should find custom templates in :template_path" do
338
- options = {
339
- :project_root => fixture,
340
- :input => {
341
- :vectors => fixture("shared/vectors"),
342
- :templates => fixture("shared/templates")
343
- },
344
- :templates => %W|custom.css|
345
- }
346
- templates = util.get_templates options
347
- templates.should eq([ fixture("shared/templates/custom.css") ])
48
+ context "#relative_to_root" do
49
+ it "should trim project root from paths" do
50
+ gen = Generator.new
51
+ path = gen.relative_to_root fixture("test/path")
52
+ path.should == "test/path"
348
53
  end
349
54
 
350
- it "should raise an error if a template does not exist" do
351
- options = {
352
- :project_root => fixture,
353
- :input => { :templates => "shared/templates" },
354
- :templates => %W|css fake-template|
355
- }
356
- expect { util.get_templates options }.to raise_error Fontcustom::Error, /couldn't find.+fake-template/
55
+ it "should trim beginning slash" do
56
+ gen = Generator.new
57
+ path = gen.relative_to_root "/test/path"
58
+ path.should == "test/path"
357
59
  end
358
60
  end
359
61
  end
@@ -3,11 +3,16 @@ require "fileutils"
3
3
  require "fontcustom/watcher"
4
4
 
5
5
  describe Fontcustom::Watcher do
6
+ # Silence messages without passing :verbose => false to everything
7
+ before(:each) do
8
+ Fontcustom::Options.any_instance.stub :say_message
9
+ end
10
+
6
11
  def watcher(options)
7
12
  Fontcustom::Generator::Font.stub :start
8
13
  Fontcustom::Generator::Template.stub :start
9
- opts = Fontcustom::Util.collect_options options
10
- opts[:blocking] = false # undocumented — non-blocking use of watcher for testing
14
+ opts = Fontcustom::Options.new(options)
15
+ opts.instance_variable_set :@is_test, true # undocumented — non-blocking use of watcher for testing
11
16
  Fontcustom::Watcher.new opts
12
17
  end
13
18
 
data/spec/spec_helper.rb CHANGED
@@ -20,8 +20,7 @@ RSpec.configure do |c|
20
20
  :glyphs => %w|a_r3ally-exotic-f1le-name c d|,
21
21
  :paths => {
22
22
  :css_to_fonts => "",
23
- :preprocessor_to_fonts => "",
24
- :preview_to_css => ""
23
+ :preprocessor_to_fonts => ""
25
24
  }
26
25
  }
27
26
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fontcustom
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0.pre
4
+ version: 1.1.0.pre2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kai Zau
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-08-15 00:00:00.000000000 Z
12
+ date: 2013-09-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
@@ -116,7 +116,6 @@ files:
116
116
  - bin/fontcustom
117
117
  - fontcustom.gemspec
118
118
  - lib/fontcustom.rb
119
- - lib/fontcustom/actions.rb
120
119
  - lib/fontcustom/cli.rb
121
120
  - lib/fontcustom/error.rb
122
121
  - lib/fontcustom/generator/font.rb
@@ -127,6 +126,7 @@ files:
127
126
  - lib/fontcustom/scripts/sfnt2woff
128
127
  - lib/fontcustom/templates/_fontcustom-bootstrap-ie7.scss
129
128
  - lib/fontcustom/templates/_fontcustom-bootstrap.scss
129
+ - lib/fontcustom/templates/_fontcustom-rails.scss
130
130
  - lib/fontcustom/templates/_fontcustom.scss
131
131
  - lib/fontcustom/templates/fontcustom-bootstrap-ie7.css
132
132
  - lib/fontcustom/templates/fontcustom-bootstrap.css
@@ -137,6 +137,8 @@ files:
137
137
  - lib/fontcustom/version.rb
138
138
  - lib/fontcustom/watcher.rb
139
139
  - spec/fixtures/generators/.fontcustom-data
140
+ - spec/fixtures/generators/.fontcustom-data-corrupted
141
+ - spec/fixtures/generators/fontcustom.yml
140
142
  - spec/fixtures/generators/mixed-output/another-font.ttf
141
143
  - spec/fixtures/generators/mixed-output/dont-delete-me.bro
142
144
  - spec/fixtures/generators/mixed-output/fontcustom.css
@@ -144,6 +146,13 @@ files:
144
146
  - spec/fixtures/generators/mixed-output/fontcustom_cc5ce52f2ae4f9ce2e7ee8131bbfee1e.svg
145
147
  - spec/fixtures/generators/mixed-output/fontcustom_cc5ce52f2ae4f9ce2e7ee8131bbfee1e.ttf
146
148
  - spec/fixtures/generators/mixed-output/fontcustom_cc5ce52f2ae4f9ce2e7ee8131bbfee1e.woff
149
+ - spec/fixtures/options/any-file-name.yml
150
+ - spec/fixtures/options/config-is-in-dir/fontcustom.yml
151
+ - spec/fixtures/options/fontcustom-empty.yml
152
+ - spec/fixtures/options/fontcustom-malformed.yml
153
+ - spec/fixtures/options/fontcustom.yml
154
+ - spec/fixtures/options/no-config-here/.gitkeep
155
+ - spec/fixtures/options/rails-like/config/fontcustom.yml
147
156
  - spec/fixtures/shared/not-a-dir
148
157
  - spec/fixtures/shared/templates/custom.css
149
158
  - spec/fixtures/shared/templates/regular.css
@@ -151,13 +160,9 @@ files:
151
160
  - spec/fixtures/shared/vectors/C.svg
152
161
  - spec/fixtures/shared/vectors/D.svg
153
162
  - spec/fixtures/shared/vectors/a_R3ally-eXotic f1Le Name.svg
154
- - spec/fixtures/util/config-is-in-dir/fontcustom.yml
155
- - spec/fixtures/util/fontcustom-malformed.yml
156
- - spec/fixtures/util/fontcustom.yml
157
- - spec/fixtures/util/rails-like/config/fontcustom.yml
158
- - spec/fontcustom/actions_spec.rb
159
163
  - spec/fontcustom/generator/font_spec.rb
160
164
  - spec/fontcustom/generator/template_spec.rb
165
+ - spec/fontcustom/options_spec.rb
161
166
  - spec/fontcustom/util_spec.rb
162
167
  - spec/fontcustom/watcher_spec.rb
163
168
  - spec/spec_helper.rb
@@ -186,6 +191,8 @@ specification_version: 4
186
191
  summary: Generate custom icon webfonts from the comfort of the command line.
187
192
  test_files:
188
193
  - spec/fixtures/generators/.fontcustom-data
194
+ - spec/fixtures/generators/.fontcustom-data-corrupted
195
+ - spec/fixtures/generators/fontcustom.yml
189
196
  - spec/fixtures/generators/mixed-output/another-font.ttf
190
197
  - spec/fixtures/generators/mixed-output/dont-delete-me.bro
191
198
  - spec/fixtures/generators/mixed-output/fontcustom.css
@@ -193,6 +200,13 @@ test_files:
193
200
  - spec/fixtures/generators/mixed-output/fontcustom_cc5ce52f2ae4f9ce2e7ee8131bbfee1e.svg
194
201
  - spec/fixtures/generators/mixed-output/fontcustom_cc5ce52f2ae4f9ce2e7ee8131bbfee1e.ttf
195
202
  - spec/fixtures/generators/mixed-output/fontcustom_cc5ce52f2ae4f9ce2e7ee8131bbfee1e.woff
203
+ - spec/fixtures/options/any-file-name.yml
204
+ - spec/fixtures/options/config-is-in-dir/fontcustom.yml
205
+ - spec/fixtures/options/fontcustom-empty.yml
206
+ - spec/fixtures/options/fontcustom-malformed.yml
207
+ - spec/fixtures/options/fontcustom.yml
208
+ - spec/fixtures/options/no-config-here/.gitkeep
209
+ - spec/fixtures/options/rails-like/config/fontcustom.yml
196
210
  - spec/fixtures/shared/not-a-dir
197
211
  - spec/fixtures/shared/templates/custom.css
198
212
  - spec/fixtures/shared/templates/regular.css
@@ -200,13 +214,9 @@ test_files:
200
214
  - spec/fixtures/shared/vectors/C.svg
201
215
  - spec/fixtures/shared/vectors/D.svg
202
216
  - spec/fixtures/shared/vectors/a_R3ally-eXotic f1Le Name.svg
203
- - spec/fixtures/util/config-is-in-dir/fontcustom.yml
204
- - spec/fixtures/util/fontcustom-malformed.yml
205
- - spec/fixtures/util/fontcustom.yml
206
- - spec/fixtures/util/rails-like/config/fontcustom.yml
207
- - spec/fontcustom/actions_spec.rb
208
217
  - spec/fontcustom/generator/font_spec.rb
209
218
  - spec/fontcustom/generator/template_spec.rb
219
+ - spec/fontcustom/options_spec.rb
210
220
  - spec/fontcustom/util_spec.rb
211
221
  - spec/fontcustom/watcher_spec.rb
212
222
  - spec/spec_helper.rb