emcee 1.0.5 → 1.0.6

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 (36) hide show
  1. checksums.yaml +4 -4
  2. data/lib/emcee/document.rb +24 -21
  3. data/lib/emcee/node.rb +37 -0
  4. data/lib/emcee/processors/import_processor.rb +1 -5
  5. data/lib/emcee/processors/script_processor.rb +2 -7
  6. data/lib/emcee/processors/stylesheet_processor.rb +2 -7
  7. data/lib/emcee/resolver.rb +10 -2
  8. data/lib/emcee/version.rb +1 -1
  9. data/test/document_test.rb +9 -38
  10. data/test/dummy/log/development.log +0 -568
  11. data/test/dummy/log/test.log +1427 -118922
  12. data/test/dummy/tmp/cache/assets/test/sass/2505765e5337e60c61ad37feba05eaa8ae47b342/test.scssc +0 -0
  13. data/test/dummy/tmp/cache/assets/test/sprockets/0130956d872089cd4fa2d57c1575a980 +0 -0
  14. data/test/dummy/tmp/cache/assets/test/sprockets/069d8fd6c288adff1fb286d0d6c21606 +0 -0
  15. data/test/dummy/tmp/cache/assets/test/sprockets/108bf05a6850b381294db898334ef67d +0 -0
  16. data/test/dummy/tmp/cache/assets/test/sprockets/1b7d7e2b19107a97fe8848cf58c57a54 +0 -0
  17. data/test/dummy/tmp/cache/assets/test/sprockets/1d7a60187eaded08c39d01faf8a23419 +0 -0
  18. data/test/dummy/tmp/cache/assets/test/sprockets/2a5f4dce58244bf7ff11dbe3d7afc515 +0 -0
  19. data/test/dummy/tmp/cache/assets/test/sprockets/458351c9b3b38136f089d00567fa2ab9 +0 -0
  20. data/test/dummy/tmp/cache/assets/test/sprockets/55ed67200221237d737e680c44d26a53 +0 -0
  21. data/test/dummy/tmp/cache/assets/test/sprockets/647c67d866fa7e8f94434810d4e2b4d2 +0 -0
  22. data/test/dummy/tmp/cache/assets/test/sprockets/68469204e225a843ed6724382c3fe5f1 +0 -0
  23. data/test/dummy/tmp/cache/assets/test/sprockets/8391c1e1d3c4665ea42bedc592a7061a +0 -0
  24. data/test/dummy/tmp/cache/assets/test/sprockets/8865b0f9494de13cdba1654429db7211 +0 -0
  25. data/test/dummy/tmp/cache/assets/test/sprockets/88d5d991418d69ace2337e9eadebd140 +0 -0
  26. data/test/dummy/tmp/cache/assets/test/sprockets/97b8f5f4c23ddfb02a3af691907e15bc +0 -0
  27. data/test/dummy/tmp/cache/assets/test/sprockets/b531ab2f17b1bd7ad78ebb395c4730bb +0 -0
  28. data/test/dummy/tmp/cache/assets/test/sprockets/d3aec885f7ac739563d30835e6866b48 +0 -0
  29. data/test/dummy/tmp/cache/assets/test/sprockets/d62af6048f647d62782174dfb26e302c +0 -0
  30. data/test/dummy/tmp/cache/assets/test/sprockets/e0561b1cebd62df57d5d6ac9d2b23033 +0 -0
  31. data/test/dummy/tmp/cache/assets/test/sprockets/f16d30b33e206690649697e498a2f1a8 +0 -0
  32. data/test/node_test.rb +32 -0
  33. data/test/processors_test.rb +11 -23
  34. data/test/resolver_test.rb +9 -13
  35. metadata +6 -6
  36. data/test/dummy/db/development.sqlite3 +0 -0
data/test/node_test.rb ADDED
@@ -0,0 +1,32 @@
1
+ require 'test_helper'
2
+ require 'emcee/node.rb'
3
+
4
+ class NodeTest < ActiveSupport::TestCase
5
+ setup do
6
+ @body = "<link rel=\"stylesheet\" href=\"test.css\">"
7
+ @document = Nokogiri::HTML.fragment(@body)
8
+ @parser_node = @document.children.first
9
+ @node = Emcee::Node.new(@parser_node)
10
+ end
11
+
12
+ test "should have path" do
13
+ assert_equal "test.css", @node.path.to_s
14
+ end
15
+
16
+ test "should remove itself" do
17
+ @node.remove
18
+ assert_equal 0, @document.children.length
19
+ end
20
+
21
+ test "can be replaced by a <style>" do
22
+ new_content = "/* test */"
23
+ @node.replace("style", new_content)
24
+ assert_equal "<style>/* test */</style>", @document.to_s
25
+ end
26
+
27
+ test "can be replaced by a <script>" do
28
+ new_content = "/* test */"
29
+ @node.replace("script", new_content)
30
+ assert_equal "<script>/* test */</script>", @document.to_s
31
+ end
32
+ end
@@ -9,8 +9,8 @@ require 'emcee/document'
9
9
  class ResolverStub
10
10
  attr_reader :asset_required
11
11
 
12
- def directory
13
- "/"
12
+ def absolute_path(path)
13
+ "/#{path}"
14
14
  end
15
15
 
16
16
  def require_asset(asset)
@@ -42,53 +42,41 @@ class ProcessorsTest < ActiveSupport::TestCase
42
42
  processor = Emcee::Processors::ImportProcessor.new(@resolver)
43
43
  processed = processor.process(@doc).to_s
44
44
 
45
- assert @resolver.asset_required
46
- assert_equal processed, <<-EOS.strip_heredoc
45
+ correct = <<-EOS.strip_heredoc
47
46
  <link rel="stylesheet" href="test.css">
48
47
  <script src="test.js"></script>
49
48
  <p>test</p>
50
49
  EOS
50
+
51
+ assert @resolver.asset_required
52
+ assert_equal correct, processed
51
53
  end
52
54
 
53
55
  test "processing stylesheets should work" do
54
56
  processor = Emcee::Processors::StylesheetProcessor.new(@resolver)
55
57
  processed = processor.process(@doc).to_s
56
58
 
57
- assert_equal processed, <<-EOS.strip_heredoc
59
+ correct = <<-EOS.strip_heredoc
58
60
  <link rel="import" href="test.html">
59
61
  <style>/* contents */</style>
60
62
  <script src="test.js"></script>
61
63
  <p>test</p>
62
64
  EOS
65
+
66
+ assert_equal correct, processed
63
67
  end
64
68
 
65
69
  test "processing scripts should work" do
66
70
  processor = Emcee::Processors::ScriptProcessor.new(@resolver)
67
71
  processed = processor.process(@doc).to_s
68
72
 
69
- assert_equal processed, <<-EOS.strip_heredoc
73
+ correct = <<-EOS.strip_heredoc
70
74
  <link rel="import" href="test.html">
71
75
  <link rel="stylesheet" href="test.css">
72
76
  <script>/* contents */</script>
73
77
  <p>test</p>
74
78
  EOS
75
- end
76
79
 
77
- test "processing a stylesheet within a template tag should work" do
78
- @body = <<-EOS.strip_heredoc
79
- <template>
80
- <link rel="stylesheet" href="test.css">
81
- </template>
82
- EOS
83
- @doc = Emcee::Document.new(@body)
84
-
85
- processor = Emcee::Processors::StylesheetProcessor.new(@resolver)
86
- processed = processor.process(@doc).to_s
87
-
88
- assert_equal processed, <<-EOS.strip_heredoc
89
- <template>
90
- <style>/* contents */</style>
91
- </template>
92
- EOS
80
+ assert_equal correct, processed
93
81
  end
94
82
  end
@@ -4,22 +4,18 @@ require 'emcee/resolver.rb'
4
4
  # Create a stub of Sprocket's Context class, so we can test if we're sending
5
5
  # the correct messages to it.
6
6
  class ContextStub
7
- attr_reader :assets
8
-
9
- def initialize
10
- @assets = []
11
- end
7
+ attr_reader :asset_required, :evaluated
12
8
 
13
9
  def pathname
14
10
  "/"
15
11
  end
16
12
 
17
13
  def require_asset(asset)
18
- @assets << asset
14
+ @asset_required = true
19
15
  end
20
16
 
21
17
  def evaluate(path, options = {})
22
- "/* contents */"
18
+ @evaluated = true
23
19
  end
24
20
  end
25
21
 
@@ -29,18 +25,18 @@ class ResolverTest < ActiveSupport::TestCase
29
25
  @resolver = Emcee::Resolver.new(@context)
30
26
  end
31
27
 
32
- test "should have directory" do
33
- assert_equal @resolver.directory, "/"
28
+ test "should resolve absolute path" do
29
+ assert_equal "/test.js", @resolver.absolute_path("test.js")
34
30
  end
35
31
 
36
32
  test "should require assets" do
37
- assert_difference "@context.assets.length" do
38
- @resolver.require_asset("/asset1")
39
- end
33
+ @resolver.require_asset("/asset1")
34
+ assert @context.asset_required
40
35
  end
41
36
 
42
37
  test "should evaluate an asset" do
43
- assert_equal @resolver.evaluate("/test"), "/* contents */"
38
+ @resolver.evaluate("/test")
39
+ assert @context.evaluated
44
40
  end
45
41
 
46
42
  test "should indicate if asset should be inlined" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: emcee
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Huth
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-31 00:00:00.000000000 Z
11
+ date: 2014-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -111,6 +111,7 @@ files:
111
111
  - lib/emcee/helpers/asset_url_helper.rb
112
112
  - lib/emcee/helpers/sprockets_helper.rb
113
113
  - lib/emcee/loose_assets.rb
114
+ - lib/emcee/node.rb
114
115
  - lib/emcee/processors/import_processor.rb
115
116
  - lib/emcee/processors/script_processor.rb
116
117
  - lib/emcee/processors/stylesheet_processor.rb
@@ -165,7 +166,6 @@ files:
165
166
  - test/dummy/config/initializers/wrap_parameters.rb
166
167
  - test/dummy/config/locales/en.yml
167
168
  - test/dummy/config/routes.rb
168
- - test/dummy/db/development.sqlite3
169
169
  - test/dummy/db/test.sqlite3
170
170
  - test/dummy/log/development.log
171
171
  - test/dummy/log/test.log
@@ -195,6 +195,7 @@ files:
195
195
  - test/dummy/tmp/cache/assets/test/sprockets/f16d30b33e206690649697e498a2f1a8
196
196
  - test/dummy_app_integration_test.rb
197
197
  - test/helpers_test.rb
198
+ - test/node_test.rb
198
199
  - test/processors_test.rb
199
200
  - test/resolver_test.rb
200
201
  - test/test_helper.rb
@@ -218,7 +219,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
218
219
  version: '0'
219
220
  requirements: []
220
221
  rubyforge_project:
221
- rubygems_version: 2.2.2
222
+ rubygems_version: 2.4.1
222
223
  signing_key:
223
224
  specification_version: 4
224
225
  summary: Add web components to the Rails asset pipeline.
@@ -266,7 +267,6 @@ test_files:
266
267
  - test/dummy/config/locales/en.yml
267
268
  - test/dummy/config/routes.rb
268
269
  - test/dummy/config.ru
269
- - test/dummy/db/development.sqlite3
270
270
  - test/dummy/db/test.sqlite3
271
271
  - test/dummy/log/development.log
272
272
  - test/dummy/log/test.log
@@ -298,7 +298,7 @@ test_files:
298
298
  - test/dummy/tmp/cache/assets/test/sprockets/f16d30b33e206690649697e498a2f1a8
299
299
  - test/dummy_app_integration_test.rb
300
300
  - test/helpers_test.rb
301
+ - test/node_test.rb
301
302
  - test/processors_test.rb
302
303
  - test/resolver_test.rb
303
304
  - test/test_helper.rb
304
- has_rdoc:
File without changes