jekyll-minibundle 1.5.1 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -6
  3. data/README.md +34 -24
  4. data/Rakefile +19 -14
  5. data/jekyll-minibundle.gemspec +5 -4
  6. data/lib/jekyll/minibundle/asset_bundle.rb +24 -4
  7. data/lib/jekyll/minibundle/asset_file_operations.rb +0 -8
  8. data/lib/jekyll/minibundle/asset_file_properties.rb +26 -8
  9. data/lib/jekyll/minibundle/asset_file_registry.rb +57 -21
  10. data/lib/jekyll/minibundle/asset_tag_markup.rb +13 -4
  11. data/lib/jekyll/minibundle/bundle_file.rb +9 -6
  12. data/lib/jekyll/minibundle/compatibility.rb +11 -1
  13. data/lib/jekyll/minibundle/development_file.rb +6 -0
  14. data/lib/jekyll/minibundle/development_file_collection.rb +3 -16
  15. data/lib/jekyll/minibundle/environment.rb +5 -12
  16. data/lib/jekyll/minibundle/files.rb +18 -0
  17. data/lib/jekyll/minibundle/hashes.rb +20 -0
  18. data/lib/jekyll/minibundle/mini_bundle_block.rb +52 -12
  19. data/lib/jekyll/minibundle/mini_stamp_tag.rb +27 -8
  20. data/lib/jekyll/minibundle/stamp_file.rb +9 -6
  21. data/lib/jekyll/minibundle/version.rb +1 -1
  22. data/test/fixture/site/_bin/with_count +6 -5
  23. data/test/integration/known_caveats_test.rb +89 -0
  24. data/test/integration/minibundle_development_mode_test.rb +171 -26
  25. data/test/integration/minibundle_production_mode_test.rb +234 -42
  26. data/test/integration/ministamp_development_mode_test.rb +145 -0
  27. data/test/integration/{ministamp_test.rb → ministamp_production_mode_test.rb} +72 -23
  28. data/test/integration/static_files_as_asset_sources_test.rb +3 -0
  29. data/test/support/assertions.rb +24 -0
  30. data/test/support/fixture_config.rb +13 -10
  31. data/test/support/static_file_api_config.rb +9 -3
  32. data/test/support/test_case.rb +7 -6
  33. data/test/unit/asset_bundle_test.rb +16 -2
  34. data/test/unit/asset_file_registry_test.rb +117 -14
  35. data/test/unit/asset_tag_markup_test.rb +17 -5
  36. data/test/unit/bundle_file_properties_test.rb +32 -8
  37. data/test/unit/bundle_file_writing_test.rb +10 -11
  38. data/test/unit/development_file_collection_properties_test.rb +47 -15
  39. data/test/unit/environment_test.rb +0 -13
  40. data/test/unit/files_test.rb +46 -0
  41. data/test/unit/hashes_test.rb +41 -0
  42. data/test/unit/mini_bundle_block_test.rb +56 -1
  43. data/test/unit/mini_stamp_tag_test.rb +8 -8
  44. data/test/unit/stamp_file_properties_test.rb +32 -13
  45. data/test/unit/stamp_file_writing_test.rb +1 -5
  46. metadata +38 -16
  47. data/test/unit/development_file_collection_writing_test.rb +0 -43
  48. data/test/unit/jekyll_payload_test.rb +0 -64
@@ -1,64 +0,0 @@
1
- require 'support/test_case'
2
- require 'support/fixture_config'
3
- require 'jekyll/minibundle/development_file_collection'
4
- require 'jekyll/minibundle/bundle_file'
5
- require 'jekyll/minibundle/stamp_file'
6
-
7
- module Jekyll::Minibundle::Test
8
- class JekyllPayloadTest < TestCase
9
- include FixtureConfig
10
-
11
- def test_sorts_stamp_files_in_site_payload
12
- with_site do |site|
13
- file = StampFile.new(site, STAMP_SOURCE_PATH, STAMP_DESTINATION_PATH, &stamp_basenamer)
14
- run_site_payload(site, file)
15
- end
16
- end
17
-
18
- def test_sorts_bundle_files_in_site_payload
19
- with_site do |site|
20
- file = BundleFile.new(site, bundle_config)
21
- run_site_payload(site, file)
22
- end
23
- end
24
-
25
- def test_sorts_development_files_in_site_payload
26
- with_site do |site|
27
- file = DevelopmentFileCollection.new(site, bundle_config)
28
- run_site_payload(site, file)
29
- end
30
- end
31
-
32
- private
33
-
34
- def with_site(&block)
35
- with_site_dir do
36
- yield new_real_site
37
- end
38
- end
39
-
40
- def run_site_payload(site, file)
41
- file.add_as_static_file_to(site)
42
-
43
- static_file = Jekyll::StaticFile.new(site, '.', 'dir', 'name.css')
44
- site.static_files << static_file
45
-
46
- site.site_payload
47
- end
48
-
49
- def stamp_basenamer
50
- ->(base, ext, stamper) { "#{base}-#{stamper.call}#{ext}" }
51
- end
52
-
53
- def bundle_config
54
- {
55
- 'type' => :js,
56
- 'source_dir' => JS_BUNDLE_SOURCE_DIR,
57
- 'assets' => %w{dependency app},
58
- 'destination_path' => JS_BUNDLE_DESTINATION_PATH,
59
- 'attributes' => {},
60
- 'minifier_cmd' => 'unused_minifier_cmd'
61
- }
62
- end
63
- end
64
- end