spontaneous 0.2.0.beta9 → 0.2.0.beta10

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 (97) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +61 -0
  3. data/LICENSE +18 -17
  4. data/Rakefile +1 -1
  5. data/application/css/core.css.scss +1 -1
  6. data/application/css/dialogue.css.scss +8 -20
  7. data/application/js/preview.js +28 -7
  8. data/application/js/publish.js +15 -4
  9. data/application/js/top_bar.js +0 -16
  10. data/application/js/views/piece_view.js +1 -1
  11. data/lib/spontaneous/asset/environment.rb +16 -1
  12. data/lib/spontaneous/box.rb +68 -0
  13. data/lib/spontaneous/capistrano/deploy.rb +7 -4
  14. data/lib/spontaneous/capistrano/sync.rb +2 -2
  15. data/lib/spontaneous/cli/init.rb +70 -19
  16. data/lib/spontaneous/cli/init/db.rb +34 -55
  17. data/lib/spontaneous/cli/init/mysql.rb +5 -5
  18. data/lib/spontaneous/cli/init/postgresql.rb +8 -9
  19. data/lib/spontaneous/cli/init/sqlite.rb +1 -2
  20. data/lib/spontaneous/cli/migrate.rb +0 -1
  21. data/lib/spontaneous/cli/site.rb +4 -0
  22. data/lib/spontaneous/collections/entry_set.rb +11 -0
  23. data/lib/spontaneous/data_mapper/content_model.rb +2 -0
  24. data/lib/spontaneous/data_mapper/content_model/serialization.rb +2 -2
  25. data/lib/spontaneous/extensions/array.rb +12 -2
  26. data/lib/spontaneous/field/base.rb +10 -0
  27. data/lib/spontaneous/field/file.rb +32 -2
  28. data/lib/spontaneous/field/image.rb +24 -2
  29. data/lib/spontaneous/field/select.rb +8 -0
  30. data/lib/spontaneous/field/webvideo.rb +8 -0
  31. data/lib/spontaneous/generators/site/config/initializers/fields.rb +55 -0
  32. data/lib/spontaneous/json.rb +3 -2
  33. data/lib/spontaneous/logger.rb +2 -2
  34. data/lib/spontaneous/media/file.rb +3 -3
  35. data/lib/spontaneous/media/image/attributes.rb +72 -6
  36. data/lib/spontaneous/media/image/renderable.rb +53 -20
  37. data/lib/spontaneous/media/store.rb +3 -3
  38. data/lib/spontaneous/media/store/backend.rb +16 -0
  39. data/lib/spontaneous/media/store/cloud.rb +52 -12
  40. data/lib/spontaneous/media/store/local.rb +6 -3
  41. data/lib/spontaneous/model.rb +3 -0
  42. data/lib/spontaneous/model/core/entries.rb +34 -13
  43. data/lib/spontaneous/model/core/entry.rb +3 -1
  44. data/lib/spontaneous/model/page/controllers.rb +1 -2
  45. data/lib/spontaneous/model/page/paths.rb +18 -7
  46. data/lib/spontaneous/output/context.rb +0 -8
  47. data/lib/spontaneous/output/template/renderer.rb +2 -0
  48. data/lib/spontaneous/plugins/application/state.rb +0 -4
  49. data/lib/spontaneous/prototypes/field_prototype.rb +4 -0
  50. data/lib/spontaneous/publishing/immediate.rb +0 -5
  51. data/lib/spontaneous/publishing/progress.rb +2 -2
  52. data/lib/spontaneous/publishing/rerender.rb +1 -4
  53. data/lib/spontaneous/publishing/simultaneous.rb +19 -17
  54. data/lib/spontaneous/publishing/steps.rb +12 -3
  55. data/lib/spontaneous/rack.rb +2 -0
  56. data/lib/spontaneous/rack/asset_server.rb +5 -2
  57. data/lib/spontaneous/rack/back.rb +9 -1
  58. data/lib/spontaneous/rack/back/base.rb +1 -0
  59. data/lib/spontaneous/rack/back/changes.rb +5 -0
  60. data/lib/spontaneous/rack/back/preview.rb +4 -4
  61. data/lib/spontaneous/rack/back/private.rb +11 -0
  62. data/lib/spontaneous/rack/middleware/scope.rb +16 -4
  63. data/lib/spontaneous/rack/page_controller.rb +2 -2
  64. data/lib/spontaneous/rack/public.rb +52 -4
  65. data/lib/spontaneous/sequel.rb +10 -13
  66. data/lib/spontaneous/site.rb +28 -8
  67. data/lib/spontaneous/site/publishing.rb +1 -1
  68. data/lib/spontaneous/site/storage.rb +7 -4
  69. data/lib/spontaneous/tasks/environment.rake +3 -0
  70. data/lib/spontaneous/utils/database/postgres_dumper.rb +23 -2
  71. data/lib/spontaneous/version.rb +1 -1
  72. data/spontaneous.gemspec +7 -12
  73. data/test/fixtures/assets/public1/css/data.css.scss +1 -1
  74. data/test/functional/test_application.rb +15 -0
  75. data/test/functional/test_cli.rb +109 -3
  76. data/test/functional/test_front.rb +108 -10
  77. data/test/test_helper.rb +3 -3
  78. data/test/unit/fields/test_boolean_fields.rb +80 -0
  79. data/test/unit/fields/test_date_fields.rb +47 -0
  80. data/test/unit/fields/test_file_field.rb +210 -0
  81. data/test/unit/{test_images.rb → fields/test_image_fields.rb} +133 -15
  82. data/test/unit/fields/test_location_fields.rb +41 -0
  83. data/test/unit/fields/test_option_fields.rb +61 -0
  84. data/test/unit/fields/test_tag_list_fields.rb +45 -0
  85. data/test/unit/fields/test_text_fields.rb +124 -0
  86. data/test/unit/fields/test_web_video_fields.rb +198 -0
  87. data/test/unit/test_assets.rb +22 -22
  88. data/test/unit/test_boxes.rb +34 -13
  89. data/test/unit/test_changesets.rb +1 -0
  90. data/test/unit/test_extensions.rb +17 -0
  91. data/test/unit/test_fields.rb +20 -643
  92. data/test/unit/test_media.rb +9 -9
  93. data/test/unit/test_page.rb +47 -0
  94. data/test/unit/test_publishing_pipeline.rb +2 -2
  95. data/test/unit/test_serialisation.rb +37 -0
  96. data/test/unit/test_storage.rb +42 -3
  97. metadata +37 -17
@@ -50,9 +50,9 @@ describe "Media" do
50
50
  :aws_access_key_id=>"ACCESS_KEY_ID",
51
51
  :public_host => "http://media.example.com"
52
52
  }
53
- @storage = Spontaneous::Media::Store::Cloud.new(@aws_credentials, 'media.example.com')
53
+ @storage = Spontaneous::Media::Store::Cloud.new("S3", @aws_credentials, 'media.example.com')
54
54
  @storage.backend.directories.create(:key => @bucket_name)
55
- @site.stubs(:storage).with(anything).returns(@storage)
55
+ @site.storage_backends.unshift(@storage)
56
56
  @content = ::Piece.create
57
57
  @content.stubs(:id).returns(99)
58
58
  Spontaneous::State.stubs(:revision).returns(853)
@@ -60,7 +60,7 @@ describe "Media" do
60
60
 
61
61
  it "return an absolute path for the url" do
62
62
  file = file(@content, "file name.txt")
63
- file.url.must_equal "http://media.example.com/00099/0853/file-name.txt"
63
+ file.url.must_equal "/00099/0853/file-name.txt"
64
64
  end
65
65
 
66
66
  it "create a new instance with a different name" do
@@ -68,7 +68,7 @@ describe "Media" do
68
68
  file2 = file1.rename("another.jpg")
69
69
  file2.owner.must_equal file1.owner
70
70
  file2.mimetype.must_equal "image/jpeg"
71
- file2.url.must_equal "http://media.example.com/00099/0853/another.jpg"
71
+ file2.url.must_equal "/00099/0853/another.jpg"
72
72
  end
73
73
 
74
74
  it "be able to copy a file into place if passed the path of an existing file" do
@@ -115,8 +115,8 @@ describe "Media" do
115
115
  describe "Local media files" do
116
116
  before do
117
117
  @media_dir = Dir.mktmpdir
118
- @storage = Spontaneous::Media::Store::Local.new(@media_dir, '/media')
119
- @site.stubs(:storage).with(anything).returns(@storage)
118
+ @storage = Spontaneous::Media::Store::Local.new("local", @media_dir, '/media')
119
+ @site.stubs(:storage_for_mimetype).with(anything).returns(@storage)
120
120
  @content = ::Piece.create
121
121
  @content.stubs(:id).returns(99)
122
122
  Spontaneous::State.stubs(:revision).returns(853)
@@ -188,11 +188,11 @@ describe "Media" do
188
188
  :aws_access_key_id=>"ACCESS_KEY_ID",
189
189
  :public_host => "http://media.example.com"
190
190
  }
191
- cloud = Spontaneous::Media::Store::Cloud.new(@aws_credentials, 'media.example.com')
191
+ cloud = Spontaneous::Media::Store::Cloud.new("S3", @aws_credentials, 'media.example.com')
192
192
  cloud.backend.directories.create(:key => @bucket_name)
193
- @site.stubs(:storage).with(anything).returns(cloud)
193
+ @site.stubs(:storage_for_mimetype).with(anything).returns(cloud)
194
194
  @media_dir = Dir.mktmpdir
195
- @storage = Spontaneous::Media::Store::Local.new(@media_dir, '/media')
195
+ @storage = Spontaneous::Media::Store::Local.new("local", @media_dir, '/media')
196
196
  @site.stubs(:local_storage).with(anything).returns(@storage)
197
197
  @site.stubs(:default_storage).with(anything).returns(@storage)
198
198
  @content = ::Piece.create
@@ -142,6 +142,19 @@ describe "Page" do
142
142
  p.reload.slug.wont_equal ""
143
143
  end
144
144
 
145
+ it 'can be given a type specific root' do
146
+ class Page
147
+ def default_slug_root
148
+ 'fishies'
149
+ end
150
+ end
151
+ o = Page.create
152
+ p = Page.create
153
+ p.save
154
+ p.slug.must_match /^fishies/
155
+ p.has_generated_slug?.must_equal true
156
+ end
157
+
145
158
  it "be made URL safe" do
146
159
  o = Page.create
147
160
  p = Page.create
@@ -477,6 +490,40 @@ describe "Page" do
477
490
  @p.at_depth(1).must_equal [@q]
478
491
  lambda { @p.at_depth(2) }.must_raise(ArgumentError)
479
492
  end
493
+
494
+ describe 'custom path roots' do
495
+ before do
496
+ Page.box :custom do
497
+ def path_origin
498
+ root
499
+ end
500
+ end
501
+ Page.box :custom_string do
502
+ def path_origin
503
+ "/"
504
+ end
505
+ end
506
+ Page.box :sections
507
+ @parent = @p
508
+ @child = Page.create(slug: 'child')
509
+ @parent.sections << @child
510
+ @child.path.must_equal '/child'
511
+ end
512
+
513
+ it "defines child paths according to the custom path root" do
514
+ page = Page.create(slug: 'balloon')
515
+ @child.custom << page
516
+ page.save.reload
517
+ page.path.must_equal '/balloon'
518
+ end
519
+
520
+ it "allows for string based path origins" do
521
+ page = Page.create(slug: 'balloon')
522
+ @child.custom_string << page
523
+ page.save.reload
524
+ page.path.must_equal '/balloon'
525
+ end
526
+ end
480
527
  end
481
528
 
482
529
  describe "page pieces" do
@@ -829,8 +829,8 @@ describe "Publishing Pipeline" do
829
829
  end
830
830
  }
831
831
 
832
- def run_steps(steps = steps, progress = progress)
833
- Spontaneous::Publishing::Pipeline.new(steps).run(@site, revision, pages, progress)
832
+ def run_steps(_steps = steps, _progress = progress)
833
+ Spontaneous::Publishing::Pipeline.new(_steps).run(@site, revision, pages, _progress)
834
834
  end
835
835
 
836
836
  def modify_some_pages
@@ -2,6 +2,7 @@
2
2
 
3
3
  require File.expand_path('../../test_helper', __FILE__)
4
4
  require 'erb'
5
+ require 'fog'
5
6
 
6
7
  describe "Serialisation" do
7
8
  before do
@@ -170,5 +171,41 @@ describe "Serialisation" do
170
171
  # hard to test this as the serialisation order appears to change
171
172
  Spot.deserialise_http(@root.serialise_http).must_equal @root.export
172
173
  end
174
+
175
+ describe 'cloud storage' do
176
+ before do
177
+ Fog.mock!
178
+ @bucket_name = "media.example.com"
179
+ @aws_credentials = {
180
+ :provider=>"AWS",
181
+ :aws_secret_access_key=>"SECRET_ACCESS_KEY",
182
+ :aws_access_key_id=>"ACCESS_KEY_ID",
183
+ :public_host => "http://media.example.com"
184
+ }
185
+ @storage = Spontaneous::Media::Store::Cloud.new("S3", @aws_credentials, 'media.example.com')
186
+ @storage.backend.directories.create(:key => @bucket_name)
187
+ @site.storage_backends.unshift(@storage)
188
+
189
+ existing_file = File.expand_path("../../fixtures/images/rose.jpg", __FILE__)
190
+ assert ::File.exist?(existing_file)
191
+ class ::SimplePiece < ::Piece
192
+ field :image
193
+ end
194
+ @instance = SimplePiece.create
195
+ @instance.image = existing_file
196
+ @instance.save
197
+ end
198
+
199
+ after do
200
+ Object.send(:remove_const, :SimplePiece)
201
+ end
202
+
203
+ it 'generates full urls when using cloud storage' do
204
+ export = @instance.export
205
+ image = export[:fields].detect { |f| f[:name] == "image" }
206
+ original = image[:processed_value][:original][:src]
207
+ original.must_match %r{^http://media.example.com}
208
+ end
209
+ end
173
210
  end
174
211
  end
@@ -34,6 +34,30 @@ describe "Media Store" do
34
34
  it "provide a list of local storage backends" do
35
35
  @site.local_storage.must_equal [@storage]
36
36
  end
37
+
38
+ it "allows for configuring a custom url mapper" do
39
+ require 'zlib'
40
+ mapper = Class.new do
41
+ def initialize(pattern, servers)
42
+ @pattern = pattern
43
+ @servers = servers
44
+ @n = 0
45
+ end
46
+
47
+ def server(path)
48
+ @servers[Zlib.crc32(path) % @servers.length]
49
+ end
50
+
51
+ def call(path)
52
+ @pattern % [server(path), path]
53
+ end
54
+ end
55
+ @storage.url_mapper = mapper.new("http://%s.cdn.example.com%s", %w(m1 m2 m3 m4))
56
+ @storage.to_url('/image.jpg').must_equal "http://m3.cdn.example.com/image.jpg"
57
+ @storage.to_url('/image.jpg').must_equal "http://m3.cdn.example.com/image.jpg"
58
+ @storage.to_url('/image2.jpg').must_equal "http://m4.cdn.example.com/image2.jpg"
59
+ @storage.to_url('/image2.jpg').must_equal "http://m4.cdn.example.com/image2.jpg"
60
+ end
37
61
  end
38
62
 
39
63
  describe "cloud" do
@@ -104,19 +128,34 @@ describe "Media Store" do
104
128
  before do
105
129
  existing_file = File.expand_path("../../fixtures/images/rose.jpg", __FILE__)
106
130
  @media_path = %w(0003 0567 rose.jpg)
131
+ @path = "/" << @media_path.join("/")
107
132
  @storage.copy(existing_file, @media_path, { content_type: "image/jpeg" })
108
133
  end
109
134
 
110
135
  it "have the correct base url" do
111
- @storage.public_url(@media_path).must_equal "https://media.example.com.s3.amazonaws.com/0003/0567/rose.jpg"
136
+ @storage.to_url(@path).must_equal "https://media.example.com.s3.amazonaws.com/0003/0567/rose.jpg"
112
137
  end
113
138
 
114
139
 
115
140
  it "use custom urls if configured" do
116
- storage = Spontaneous::Media::Store::Cloud.new(@aws_credentials.merge({
141
+ storage = Spontaneous::Media::Store::Cloud.new("s3", @aws_credentials.merge({
117
142
  :public_host => "http://media.example.com",
118
143
  }), @bucket_name)
119
- storage.public_url(@media_path).must_equal "http://media.example.com/0003/0567/rose.jpg"
144
+ storage.to_url(@path).must_equal "http://media.example.com/0003/0567/rose.jpg"
145
+ end
146
+
147
+ it 'gives valid s3 urls for different regions' do
148
+ storage = Spontaneous::Media::Store::Cloud.new("s3", @aws_credentials.merge({
149
+ region: "eu-west-1"
150
+ }), @bucket_name)
151
+ storage.to_url(@path).must_equal "https://media.example.com.s3-eu-west-1.amazonaws.com/0003/0567/rose.jpg"
152
+ end
153
+
154
+ it 'allows for providing a direct URL mapper proc' do
155
+ storage = Spontaneous::Media::Store::Cloud.new("s3", @aws_credentials.merge({
156
+ url_mapper: proc { |path| "http://wallowig.com#{path}" }
157
+ }), @bucket_name)
158
+ storage.to_url(@path).must_equal "http://wallowig.com/0003/0567/rose.jpg"
120
159
  end
121
160
  end
122
161
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spontaneous
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0.beta9
4
+ version: 0.2.0.beta10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Garry Hill
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-30 00:00:00.000000000 Z
11
+ date: 2015-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -296,14 +296,14 @@ dependencies:
296
296
  requirements:
297
297
  - - "~>"
298
298
  - !ruby/object:Gem::Version
299
- version: '0.1'
299
+ version: 0.1.1
300
300
  type: :runtime
301
301
  prerelease: false
302
302
  version_requirements: !ruby/object:Gem::Requirement
303
303
  requirements:
304
304
  - - "~>"
305
305
  - !ruby/object:Gem::Version
306
- version: '0.1'
306
+ version: 0.1.1
307
307
  - !ruby/object:Gem::Dependency
308
308
  name: sprockets
309
309
  requirement: !ruby/object:Gem::Requirement
@@ -389,19 +389,19 @@ dependencies:
389
389
  - !ruby/object:Gem::Version
390
390
  version: '1.5'
391
391
  - !ruby/object:Gem::Dependency
392
- name: yajl-ruby
392
+ name: oj
393
393
  requirement: !ruby/object:Gem::Requirement
394
394
  requirements:
395
395
  - - "~>"
396
396
  - !ruby/object:Gem::Version
397
- version: '1.1'
397
+ version: '2.11'
398
398
  type: :runtime
399
399
  prerelease: false
400
400
  version_requirements: !ruby/object:Gem::Requirement
401
401
  requirements:
402
402
  - - "~>"
403
403
  - !ruby/object:Gem::Version
404
- version: '1.1'
404
+ version: '2.11'
405
405
  - !ruby/object:Gem::Dependency
406
406
  name: minitest
407
407
  requirement: !ruby/object:Gem::Requirement
@@ -472,13 +472,14 @@ dependencies:
472
472
  - - "~>"
473
473
  - !ruby/object:Gem::Version
474
474
  version: '0.5'
475
- description: Spontaneous is a next-generation Ruby CMS
475
+ description: Spontaneous is a content management framework that allows the easy development
476
+ of sophisticated & beautiful websites with powerful developer tools & an elegant
477
+ editing interface.
476
478
  email: garry@spontaneous.io
477
479
  executables:
478
480
  - spot
479
481
  extensions: []
480
- extra_rdoc_files:
481
- - LICENSE
482
+ extra_rdoc_files: []
482
483
  files:
483
484
  - ".gitignore"
484
485
  - ".locat"
@@ -750,6 +751,7 @@ files:
750
751
  - lib/spontaneous/generators/site/config/environments/development.rb.tt
751
752
  - lib/spontaneous/generators/site/config/environments/production.rb.tt
752
753
  - lib/spontaneous/generators/site/config/front.ru
754
+ - lib/spontaneous/generators/site/config/initializers/fields.rb
753
755
  - lib/spontaneous/generators/site/config/initializers/indexes.rb.tt
754
756
  - lib/spontaneous/generators/site/config/initializers/publishing.rb.tt
755
757
  - lib/spontaneous/generators/site/config/schema.yml
@@ -912,6 +914,7 @@ files:
912
914
  - lib/spontaneous/rack/back/map.rb
913
915
  - lib/spontaneous/rack/back/page.rb
914
916
  - lib/spontaneous/rack/back/preview.rb
917
+ - lib/spontaneous/rack/back/private.rb
915
918
  - lib/spontaneous/rack/back/schema.rb
916
919
  - lib/spontaneous/rack/back/site.rb
917
920
  - lib/spontaneous/rack/back/site_assets.rb
@@ -965,6 +968,7 @@ files:
965
968
  - lib/spontaneous/style.rb
966
969
  - lib/spontaneous/tasks.rb
967
970
  - lib/spontaneous/tasks/database.rake
971
+ - lib/spontaneous/tasks/environment.rake
968
972
  - lib/spontaneous/utils.rb
969
973
  - lib/spontaneous/utils/database.rb
970
974
  - lib/spontaneous/utils/database/mysql_dumper.rb
@@ -1240,6 +1244,15 @@ files:
1240
1244
  - test/test_javascript.rb
1241
1245
  - test/ui/test_page_editing.rb
1242
1246
  - test/ui_helper.rb
1247
+ - test/unit/fields/test_boolean_fields.rb
1248
+ - test/unit/fields/test_date_fields.rb
1249
+ - test/unit/fields/test_file_field.rb
1250
+ - test/unit/fields/test_image_fields.rb
1251
+ - test/unit/fields/test_location_fields.rb
1252
+ - test/unit/fields/test_option_fields.rb
1253
+ - test/unit/fields/test_tag_list_fields.rb
1254
+ - test/unit/fields/test_text_fields.rb
1255
+ - test/unit/fields/test_web_video_fields.rb
1243
1256
  - test/unit/test_alias.rb
1244
1257
  - test/unit/test_asset_bundler.rb
1245
1258
  - test/unit/test_assets.rb
@@ -1262,7 +1275,6 @@ files:
1262
1275
  - test/unit/test_generators.rb
1263
1276
  - test/unit/test_helpers.rb
1264
1277
  - test/unit/test_image_size.rb
1265
- - test/unit/test_images.rb
1266
1278
  - test/unit/test_layouts.rb
1267
1279
  - test/unit/test_logger.rb
1268
1280
  - test/unit/test_media.rb
@@ -1291,11 +1303,11 @@ files:
1291
1303
  - test/unit/test_type_hierarchy.rb
1292
1304
  - test/unit/test_visibility.rb
1293
1305
  homepage: http://spontaneous.io
1294
- licenses: []
1306
+ licenses:
1307
+ - MIT
1295
1308
  metadata: {}
1296
1309
  post_install_message:
1297
- rdoc_options:
1298
- - "--charset=UTF-8"
1310
+ rdoc_options: []
1299
1311
  require_paths:
1300
1312
  - lib
1301
1313
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -1310,10 +1322,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1310
1322
  version: 1.3.1
1311
1323
  requirements: []
1312
1324
  rubyforge_project:
1313
- rubygems_version: 2.2.2
1325
+ rubygems_version: 2.4.6
1314
1326
  signing_key:
1315
1327
  specification_version: 4
1316
- summary: Spontaneous is a next-generation Ruby CMS
1328
+ summary: Next-generation Ruby CMS and web framework.
1317
1329
  test_files:
1318
1330
  - test/disabled/test_slots.rb
1319
1331
  - test/fixtures/application/js/test.js
@@ -1582,6 +1594,15 @@ test_files:
1582
1594
  - test/test_javascript.rb
1583
1595
  - test/ui/test_page_editing.rb
1584
1596
  - test/ui_helper.rb
1597
+ - test/unit/fields/test_boolean_fields.rb
1598
+ - test/unit/fields/test_date_fields.rb
1599
+ - test/unit/fields/test_file_field.rb
1600
+ - test/unit/fields/test_image_fields.rb
1601
+ - test/unit/fields/test_location_fields.rb
1602
+ - test/unit/fields/test_option_fields.rb
1603
+ - test/unit/fields/test_tag_list_fields.rb
1604
+ - test/unit/fields/test_text_fields.rb
1605
+ - test/unit/fields/test_web_video_fields.rb
1585
1606
  - test/unit/test_alias.rb
1586
1607
  - test/unit/test_asset_bundler.rb
1587
1608
  - test/unit/test_assets.rb
@@ -1604,7 +1625,6 @@ test_files:
1604
1625
  - test/unit/test_generators.rb
1605
1626
  - test/unit/test_helpers.rb
1606
1627
  - test/unit/test_image_size.rb
1607
- - test/unit/test_images.rb
1608
1628
  - test/unit/test_layouts.rb
1609
1629
  - test/unit/test_logger.rb
1610
1630
  - test/unit/test_media.rb