jekyll-minibundle 2.1.2 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +96 -42
  3. data/LICENSE.txt +1 -1
  4. data/README.md +232 -52
  5. data/Rakefile +16 -0
  6. data/jekyll-minibundle.gemspec +7 -6
  7. data/lib/jekyll/minibundle/asset_bundle.rb +3 -3
  8. data/lib/jekyll/minibundle/asset_file_drop.rb +45 -0
  9. data/lib/jekyll/minibundle/asset_file_properties.rb +12 -8
  10. data/lib/jekyll/minibundle/asset_file_registry.rb +4 -4
  11. data/lib/jekyll/minibundle/asset_tag_markup.rb +21 -20
  12. data/lib/jekyll/minibundle/bundle_file.rb +6 -1
  13. data/lib/jekyll/minibundle/development_file.rb +2 -1
  14. data/lib/jekyll/minibundle/development_file_collection.rb +2 -2
  15. data/lib/jekyll/minibundle/environment.rb +13 -15
  16. data/lib/jekyll/minibundle/files.rb +16 -18
  17. data/lib/jekyll/minibundle/hashes.rb +10 -12
  18. data/lib/jekyll/minibundle/log.rb +5 -7
  19. data/lib/jekyll/minibundle/mini_bundle_block.rb +35 -12
  20. data/lib/jekyll/minibundle/mini_stamp_tag.rb +108 -16
  21. data/lib/jekyll/minibundle/stamp_file.rb +1 -0
  22. data/lib/jekyll/minibundle/variable_template.rb +145 -0
  23. data/lib/jekyll/minibundle/variable_template_registry.rb +19 -0
  24. data/lib/jekyll/minibundle/version.rb +1 -1
  25. data/test/fixture/site/_bin/with_count +1 -1
  26. data/test/integration/minibundle_development_mode_test.rb +146 -61
  27. data/test/integration/minibundle_production_mode_test.rb +271 -143
  28. data/test/integration/ministamp_development_mode_test.rb +66 -25
  29. data/test/integration/ministamp_production_mode_test.rb +129 -37
  30. data/test/integration/static_files_as_asset_sources_test.rb +10 -10
  31. data/test/support/assertions.rb +1 -1
  32. data/test/support/{static_file_api_config.rb → static_file_config.rb} +6 -3
  33. data/test/support/test_case.rb +7 -4
  34. data/test/unit/asset_bundle_test.rb +6 -6
  35. data/test/unit/asset_file_drop_test.rb +65 -0
  36. data/test/unit/asset_file_registry_test.rb +136 -98
  37. data/test/unit/asset_tag_markup_test.rb +11 -5
  38. data/test/unit/bundle_file_properties_test.rb +44 -23
  39. data/test/unit/bundle_file_writing_test.rb +50 -32
  40. data/test/unit/development_file_properties_test.rb +95 -0
  41. data/test/unit/development_file_writing_test.rb +15 -6
  42. data/test/unit/environment_test.rb +3 -3
  43. data/test/unit/files_test.rb +7 -7
  44. data/test/unit/hashes_test.rb +12 -12
  45. data/test/unit/jekyll_static_file_api_test.rb +91 -20
  46. data/test/unit/mini_bundle_block_test.rb +59 -9
  47. data/test/unit/mini_stamp_tag_test.rb +37 -6
  48. data/test/unit/stamp_file_properties_test.rb +47 -24
  49. data/test/unit/stamp_file_writing_test.rb +33 -24
  50. data/test/unit/variable_template_test.rb +121 -0
  51. metadata +27 -6
  52. data/test/unit/development_file_collection_properties_test.rb +0 -106
@@ -1,106 +0,0 @@
1
- require 'support/test_case'
2
- require 'support/fixture_config'
3
- require 'support/static_file_api_config'
4
- require 'jekyll/minibundle/development_file'
5
-
6
- module Jekyll::Minibundle::Test
7
- class DevelopmentFileCollectionPropertiesTest < TestCase
8
- include FixtureConfig
9
- include StaticFileAPIConfig
10
-
11
- def setup
12
- @@results ||= with_fake_site do |site|
13
- files = DevelopmentFileCollection.new(site, bundle_config).instance_variable_get('@files')
14
- {
15
- dependency: get_send_results(files[0], STATIC_FILE_API_PROPERTIES),
16
- app: get_send_results(files[1], STATIC_FILE_API_PROPERTIES)
17
- }
18
- end
19
- end
20
-
21
- def test_defaults
22
- assert_equal({}, @@results.fetch(:dependency).fetch(:defaults))
23
- assert_equal({}, @@results.fetch(:app).fetch(:defaults))
24
- end
25
-
26
- def test_destination_rel_dir
27
- assert_equal 'assets/site', @@results.fetch(:dependency).fetch(:destination_rel_dir)
28
- assert_equal 'assets/site', @@results.fetch(:app).fetch(:destination_rel_dir)
29
- end
30
-
31
- def test_name
32
- assert_equal 'dependency.js', @@results.fetch(:dependency).fetch(:name)
33
- assert_equal 'app.js', @@results.fetch(:app).fetch(:name)
34
- end
35
-
36
- def test_extname
37
- assert_equal '.js', @@results.fetch(:dependency).fetch(:extname)
38
- assert_equal '.js', @@results.fetch(:app).fetch(:extname)
39
- end
40
-
41
- def test_modified_time
42
- assert_instance_of Time, @@results.fetch(:dependency).fetch(:modified_time)
43
- assert_instance_of Time, @@results.fetch(:app).fetch(:modified_time)
44
- end
45
-
46
- def test_mtime
47
- dep_mtime = @@results.fetch(:dependency).fetch(:modified_time)
48
- assert_equal dep_mtime.to_i, @@results.fetch(:dependency).fetch(:mtime)
49
-
50
- app_mtime = @@results.fetch(:app).fetch(:modified_time)
51
- assert_equal app_mtime.to_i, @@results.fetch(:app).fetch(:mtime)
52
- end
53
-
54
- def test_path
55
- assert_match(%r{/#{JS_BUNDLE_SOURCE_DIR}/dependency.js\z}, @@results.fetch(:dependency).fetch(:relative_path))
56
- assert_match(%r{/#{JS_BUNDLE_SOURCE_DIR}/app.js\z}, @@results.fetch(:app).fetch(:relative_path))
57
- end
58
-
59
- def test_placeholders
60
- assert_equal({}, @@results.fetch(:dependency).fetch(:placeholders))
61
- assert_equal({}, @@results.fetch(:app).fetch(:placeholders))
62
- end
63
-
64
- def test_relative_path
65
- assert_equal "/#{JS_BUNDLE_SOURCE_DIR}/dependency.js", @@results.fetch(:dependency).fetch(:relative_path)
66
- assert_equal "/#{JS_BUNDLE_SOURCE_DIR}/app.js", @@results.fetch(:app).fetch(:relative_path)
67
- end
68
-
69
- def test_to_liquid
70
- hash = @@results.fetch(:dependency).fetch(:to_liquid)
71
- assert_equal 'dependency', hash.fetch('basename')
72
- assert_equal 'dependency.js', hash.fetch('name')
73
- assert_equal '.js', hash.fetch('extname')
74
- assert_instance_of Time, hash.fetch('modified_time')
75
- assert_equal "/#{JS_BUNDLE_SOURCE_DIR}/dependency.js", hash.fetch('path')
76
-
77
- hash = @@results.fetch(:app).fetch(:to_liquid)
78
- assert_equal 'app', hash.fetch('basename')
79
- assert_equal 'app.js', hash.fetch('name')
80
- assert_equal '.js', hash.fetch('extname')
81
- assert_instance_of Time, hash.fetch('modified_time')
82
- assert_equal "/#{JS_BUNDLE_SOURCE_DIR}/app.js", hash.fetch('path')
83
- end
84
-
85
- def test_type
86
- assert_nil @@results.fetch(:dependency).fetch(:type)
87
- assert_nil @@results.fetch(:app).fetch(:type)
88
- end
89
-
90
- def test_write?
91
- assert @@results.fetch(:dependency).fetch(:write?)
92
- assert @@results.fetch(:app).fetch(:write?)
93
- end
94
-
95
- private
96
-
97
- def bundle_config
98
- {
99
- 'type' => :js,
100
- 'source_dir' => JS_BUNDLE_SOURCE_DIR,
101
- 'assets' => %w{dependency app},
102
- 'destination_path' => JS_BUNDLE_DESTINATION_PATH
103
- }
104
- end
105
- end
106
- end