middleman-sprockets 4.0.0.beta.1 → 4.0.0.rc.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -3
  3. data/Gemfile +15 -16
  4. data/README.md +0 -58
  5. data/Rakefile +1 -16
  6. data/features/asset_hash.feature +5 -6
  7. data/features/bower.feature +6 -6
  8. data/features/sprockets.feature +13 -65
  9. data/features/sprockets_gems.feature +7 -26
  10. data/features/step_definitions/server_steps.rb +0 -4
  11. data/fixtures/asset-paths-app/config.rb +1 -4
  12. data/fixtures/bower-app/config.rb +0 -2
  13. data/fixtures/bower-app/source/javascripts/application.js +1 -1
  14. data/fixtures/bower-app/source/javascripts/import.js +1 -0
  15. data/fixtures/bower-individual-outputdir-app/config.rb +0 -4
  16. data/fixtures/bower-individual-outputdir-app/source/javascripts/application.js +3 -0
  17. data/fixtures/bower-multiple-assets-app/config.rb +1 -7
  18. data/fixtures/{sprockets-app-debug-assets/source/stylesheets/dependency1.css → bower-multiple-assets-app/source/index.html} +0 -0
  19. data/fixtures/bower-multiple-assets-app/source/javascripts/core.js +2 -0
  20. data/fixtures/jquery-mobile-app/source/javascripts/app.js +1 -0
  21. data/fixtures/sprockets-app/config.rb +0 -5
  22. data/fixtures/sprockets-app/source/library/css/bootstrap_include.css.scss +1 -1
  23. data/fixtures/sprockets-app/source/library/css/plain.css +2 -0
  24. data/fixtures/sprockets-app/source/library/css/sprockets_base2.css.scss +1 -1
  25. data/fixtures/sprockets-app/source/library/js/jquery_include.js +1 -1
  26. data/fixtures/sprockets-app/source/library/js/plain.js +3 -0
  27. data/fixtures/sprockets-app2/source/stylesheets/sprockets_base2.css.scss +1 -1
  28. data/fixtures/sprockets-imported-asset-path-conflicts-app/config.rb +1 -1
  29. data/fixtures/sprockets-imported-assets-match-multiple-paths-app/config.rb +1 -1
  30. data/fixtures/sprockets-multiple-extensions-app/config.rb +0 -3
  31. data/fixtures/sprockets-multiple-extensions-app/source/stylesheets/app.css.scss +3 -0
  32. data/fixtures/sprockets-svg-font-app/config.rb +0 -4
  33. data/fixtures/sprockets-svg-font-app/source/stylesheets/app.css.scss +4 -0
  34. data/lib/middleman-sprockets.rb +1 -6
  35. data/lib/middleman-sprockets/extension.rb +197 -113
  36. data/lib/middleman-sprockets/version.rb +1 -1
  37. data/middleman-sprockets.gemspec +2 -4
  38. metadata +29 -74
  39. data/Gemfile-Sprockets3 +0 -36
  40. data/Gemfile-v3 +0 -36
  41. data/features/asset_hash-3.0.feature +0 -105
  42. data/fixtures/sprockets-app-debug-assets/config.rb +0 -1
  43. data/fixtures/sprockets-app-debug-assets/source/index.html.erb +0 -8
  44. data/fixtures/sprockets-app-debug-assets/source/javascripts/dependency1.js +0 -3
  45. data/fixtures/sprockets-app-debug-assets/source/javascripts/dependency2.js +0 -1
  46. data/fixtures/sprockets-app-debug-assets/source/javascripts/main.js +0 -4
  47. data/fixtures/sprockets-app-debug-assets/source/stylesheets/app.css.scss +0 -4
  48. data/fixtures/sprockets-app-debug-assets/source/stylesheets/dependency2.css.scss +0 -0
  49. data/lib/middleman-sprockets/asset.rb +0 -142
  50. data/lib/middleman-sprockets/asset_tag_helpers.rb +0 -54
  51. data/lib/middleman-sprockets/config_only_environment.rb +0 -50
  52. data/lib/middleman-sprockets/environment.rb +0 -293
  53. data/lib/middleman-sprockets/imported_asset.rb +0 -30
  54. data/lib/middleman-sprockets/sass_function_hack.rb +0 -9
  55. data/lib/middleman-sprockets/sass_utils.rb +0 -14
  56. data/spec/asset_spec.rb +0 -118
  57. data/spec/imported_asset_spec.rb +0 -42
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4a5cfa3e7f4b70073f96f63ddd743b58e0eacfb4
4
- data.tar.gz: 389aa16cf984e6e88a1a465e5527204c690ffd8d
3
+ metadata.gz: 29e65d83fd264d3f669643e448e574c58bdb9094
4
+ data.tar.gz: b4e9eb5247e49d154ffb882a4e35a09a6f06062f
5
5
  SHA512:
6
- metadata.gz: 3cb8e1bf9c4e31e8ace0cbb46aa86d401f7de990daa9a91047d74cbc788a15b8c66c55aef6df2c5d9819c5cb53fa8f73f5a65e27815b903c07bc6fc864a3c282
7
- data.tar.gz: bd56bcd29857afb30ba1632e5d79b0dc0fd8b11f6333cb4f5a8b93c170d816ccc0a0d4b8c58607b84a3064ae47603b208b76f047161aaff77d3463fe71c7e24c
6
+ metadata.gz: 5ffc84a66db9426edab185bc9d2058545e9c76214ce2b6f4ff9cdd5bd47ba86a7f2130d36e09ee0b1ae859f020081bc7f7c3e9ec274811db0a19790c4985c5ba
7
+ data.tar.gz: bcc58588ae01b813edf13e9290949a16c50b664ce8689b2f91b5a4170bafc1f0f56c1461f6cd6d54a9e07030833a8cb9ce7e43e74242b1f78c5a6e544bfe046c
data/.travis.yml CHANGED
@@ -2,22 +2,21 @@ rvm:
2
2
  - ruby-head
3
3
  - jruby-head
4
4
  - jruby-19mode
5
- - 2.2
5
+ - 2.2.2
6
6
  - 2.1
7
7
  - 2.0
8
8
  os:
9
9
  - linux
10
10
  - osx
11
+ sudo: false
11
12
  matrix:
12
13
  fast_finish: true
13
14
  allow_failures:
14
15
  - rvm: ruby-head
15
16
  - rvm: jruby-19mode
16
17
  - rvm: jruby-head
17
-
18
18
  gemfile:
19
19
  - Gemfile
20
- - Gemfile-v3
21
20
 
22
21
  script: "bundle exec rake test"
23
22
 
data/Gemfile CHANGED
@@ -1,30 +1,26 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- gem "middleman-core", :github => "middleman/middleman", :branch => "master"
4
- gem "middleman-cli", :github => "middleman/middleman", :branch => "master"
5
-
6
3
  # Specify your gem's dependencies in middleman-sprockets.gemspec
7
4
  gemspec
8
5
 
9
- gem "rake", "~> 10.0.3", :require => false
10
- gem "yard", "~> 0.8.0", :require => false
6
+ gem "middleman-cli", github: "middleman/middleman", branch: "master"
7
+ gem "middleman-core", github: "middleman/middleman", branch: "master"
11
8
 
12
- # gem "sprockets", "3.0.0.beta.3"
13
- # gem 'sprockets-helpers', path: '~/Sites/sprockets-helpers'
14
- # gem 'sprockets-sass', path: '~/Sites/sprockets-sass'
9
+ # Build and doc tools
10
+ gem 'rake', '~> 10.3', require: false
11
+ gem 'yard', '~> 0.8', require: false
15
12
 
16
13
  # Test tools
17
- gem "cucumber"
18
- gem "fivemat", "~> 1.2.1"
19
- gem "aruba"
20
- gem "rspec", "~> 3.0"
21
- gem "builder", "~> 3.0"
22
- gem "simplecov"
14
+ gem 'pry', '~> 0.10', group: :development, require: false
15
+ gem 'pry-byebug'
16
+ gem 'aruba', '~> 0.7.4', require: false
17
+ gem 'rspec', '~> 3.0', require: false
18
+ gem 'cucumber', '~> 2.0', require: false
23
19
 
24
20
  # For actual tests
25
21
  # Make sure to lock down the versions of the asset gems
26
22
  # so they don't cause asset hashes to change.
27
- gem "railties", "~> 4.1"
23
+ gem "railties", "~> 4.2.0"
28
24
  gem "jquery-rails", "3.1.0", :require => false
29
25
  gem "bootstrap-sass", "3.1.1.0", :require => false
30
26
  gem "jquery_mobile_rails", "1.4.1", :require => false
@@ -34,4 +30,7 @@ gem "eco", "~> 1.0.0"
34
30
  gem "erubis", "~> 2.7.0"
35
31
 
36
32
  # Code Quality
37
- gem "cane", :platforms => [:mri_19, :mri_20], :require => false
33
+ gem 'rubocop', '~> 0.24', require: false
34
+ gem 'simplecov', '~> 0.9', require: false
35
+ gem 'coveralls', '~> 0.8', require: false
36
+ gem 'codeclimate-test-reporter', '~> 0.3', require: false, group: :test
data/README.md CHANGED
@@ -13,64 +13,6 @@ middleman init MY_PROJECT
13
13
 
14
14
  If you already have a Middleman project: Add `gem "middleman-sprockets"` to your `Gemfile` and run `bundle install`
15
15
 
16
- ## Configuration
17
- <a name="configuration"></a>
18
-
19
- ```
20
- activate :sprockets
21
- ```
22
-
23
- ## Usage
24
-
25
- If you want to use, `middleman-sprockets` you need to configure it first - See
26
- [Configuration](#configuration). If you want to use `middleman-sprockets` with
27
- bower, you need to import assets first. The path is relative to your
28
- `bower`-directory.
29
-
30
- ```
31
- sprockets.import_asset <path>
32
- ```
33
-
34
- Given `vendor/assets/components` as `bower`-directory and `jquery` as
35
- component-name, you would import the `jquery` production version with:
36
-
37
- ```
38
- sprockets.append_path 'vendor/assets/components'
39
- sprockets.import_asset 'jquery/dist/jquery'
40
- ```
41
-
42
- If you tell `sprockets` just about the name of the component, it will make thos
43
- files available which are given in the `main`-section of the `bower.json`-file.
44
-
45
- ```
46
- sprockets.append_path 'vendor/assets/components'
47
- sprockets.import_asset 'jquery'
48
- ```
49
-
50
- If you need to tell `sprockets` to use an individual output path for your
51
- asset, you can pass `#import_asset` a block. This block gets the logical path
52
- as
53
- [`Pathname`](http://rdoc.info/stdlib/pathname/frames)
54
- and needs to return the relative output path for the asset as `String` or
55
- `Pathname`.
56
-
57
- ```
58
- sprockets.append_path 'vendor/assets/components'
59
-
60
- # return logical path
61
- sprockets.import_asset 'jquery/dist/jquery' do |logical_path|
62
- # => prefix/jquery/dist/jquery
63
- Pathname.new('prefix') + logical_path
64
- end
65
- ```
66
-
67
- Be careful if you are using `bower`-components which place their assets in
68
- *non-standard*-directories. Fonts should be placed in `fonts`, Stylesheets in
69
- `stylesheets` or `css`, JavaScript-files in `javascripts` or `js` and images in
70
- `images`. If you have got a `svg`-font in a *non*-standard-directory you might
71
- need to use the `#import_asset`-call with the block to place it in the correct
72
- directory.
73
-
74
16
  ## Build & Dependency Status
75
17
 
76
18
  [![Gem Version](https://badge.fury.io/rb/middleman-sprockets.png)][gem]
data/Rakefile CHANGED
@@ -8,9 +8,7 @@ require 'middleman-core/version'
8
8
 
9
9
  Cucumber::Rake::Task.new(:cucumber, 'Run features that should pass') do |t|
10
10
  exempt_tags = ["--tags ~@wip"]
11
- exempt_tags << "--tags ~@new " unless Middleman::VERSION.start_with?("3.1")
12
- exempt_tags << "--tags ~@old " unless Middleman::VERSION.start_with?("3.0")
13
- t.cucumber_opts = "--color #{exempt_tags.join(" ")} --strict --format #{ENV['CUCUMBER_FORMAT'] || 'Fivemat'}"
11
+ t.cucumber_opts = "--color #{exempt_tags.join(" ")} --strict"
14
12
  end
15
13
 
16
14
  RSpec::Core::RakeTask.new(:spec) do |t|
@@ -28,19 +26,6 @@ task :doc do
28
26
  sh 'bundle exec yard'
29
27
  end
30
28
 
31
- begin
32
- require 'cane/rake_task'
33
-
34
- desc "Run cane to check quality metrics"
35
- Cane::RakeTask.new(:quality) do |cane|
36
- cane.no_style = true
37
- cane.no_doc = true
38
- cane.abc_glob = "lib/middleman-sprockets/**/*.rb"
39
- end
40
- rescue LoadError
41
- # warn "cane not available, quality task not provided."
42
- end
43
-
44
29
  desc "Destroy the sass cache from fixtures in case it messes with results"
45
30
  task :destroy_sass_cache do
46
31
  Dir["fixtures/*/.sass-cache"].each do |dir|
@@ -1,4 +1,3 @@
1
- @new
2
1
  Feature: Assets get a file hash appended to their URL and references to them are updated
3
2
  Scenario: Hashed-asset files are produced, and HTML, CSS, and JavaScript gets rewritten to reference the new files
4
3
  Given a successfully built app at "asset-hash-app"
@@ -9,7 +8,7 @@ Feature: Assets get a file hash appended to their URL and references to them are
9
8
  | images/100px-5fd6fb90.jpg |
10
9
  | images/100px-5fd6fb90.gif |
11
10
  | javascripts/application-df677242.js |
12
- | stylesheets/site-b7f4d02f.css |
11
+ | stylesheets/site-2f4798cc.css |
13
12
  | index.html |
14
13
  | subdir/index.html |
15
14
  | other/index.html |
@@ -21,14 +20,14 @@ Feature: Assets get a file hash appended to their URL and references to them are
21
20
  | stylesheets/site.css |
22
21
 
23
22
  And the file "javascripts/application-df677242.js" should contain "img.src = '/images/100px-5fd6fb90.jpg'"
24
- And the file "stylesheets/site-b7f4d02f.css" should contain 'background-image: url("../images/100px-5fd6fb90.jpg")'
25
- And the file "index.html" should contain 'href="stylesheets/site-b7f4d02f.css"'
23
+ And the file "stylesheets/site-2f4798cc.css" should contain 'background-image: url(../images/100px-5fd6fb90.jpg)'
24
+ And the file "index.html" should contain 'href="stylesheets/site-2f4798cc.css"'
26
25
  And the file "index.html" should contain 'src="javascripts/application-df677242.js"'
27
26
  And the file "index.html" should contain 'src="images/100px-5fd6fb90.jpg"'
28
- And the file "subdir/index.html" should contain 'href="../stylesheets/site-b7f4d02f.css"'
27
+ And the file "subdir/index.html" should contain 'href="../stylesheets/site-2f4798cc.css"'
29
28
  And the file "subdir/index.html" should contain 'src="../javascripts/application-df677242.js"'
30
29
  And the file "subdir/index.html" should contain 'src="../images/100px-5fd6fb90.jpg"'
31
- And the file "other/index.html" should contain 'href="../stylesheets/site-b7f4d02f.css"'
30
+ And the file "other/index.html" should contain 'href="../stylesheets/site-2f4798cc.css"'
32
31
  And the file "other/index.html" should contain 'src="../javascripts/application-df677242.js"'
33
32
  And the file "other/index.html" should contain 'src="../images/100px-5fd6fb90.jpg"'
34
33
 
@@ -21,13 +21,13 @@ Feature: Bower
21
21
  Scenario: Assets can be added to the build with import_asset from bower dir
22
22
  Given a successfully built app at "bower-app"
23
23
  When I cd to "build"
24
- Then a file named "javascripts/underscore/underscore.js" should exist
24
+ Then a file named "assets/underscore/underscore.js" should exist
25
25
 
26
26
  Scenario: Multiple assets can be added to the build with import_asset from bower dir and are placed in the correct directory
27
27
  Given a successfully built app at "bower-multiple-assets-app"
28
28
  When I cd to "build"
29
- Then a file named "images/lightbox2/img/close.png" should exist
30
- Then a file named "javascripts/lightbox2/js/lightbox.js" should exist
29
+ Then a file named "assets/lightbox2/img/close.png" should exist
30
+ Then a file named "assets/lightbox2/js/lightbox.js" should exist
31
31
 
32
32
  Scenario: Assets which haven't been imported don't appear in output directory
33
33
  Given a successfully built app at "bower-multiple-assets-app"
@@ -37,6 +37,6 @@ Feature: Bower
37
37
  Scenario: Assets can have an individual output directory
38
38
  Given a successfully built app at "bower-individual-outputdir-app"
39
39
  When I cd to "build"
40
- Then a file named "underscore.js" should exist
41
- And a file named "hello_world/lightbox2/img/close.png" should exist
42
- And a file named "javascripts/lightbox2/js/lightbox.js" should exist
40
+ Then a file named "assets/underscore/underscore.js" should exist
41
+ And a file named "assets/lightbox2/img/close.png" should exist
42
+ And a file named "assets/lightbox2/js/lightbox.js" should exist
@@ -30,46 +30,6 @@ Feature: Sprockets
30
30
  When I go to "/javascripts/multiple_engines.js"
31
31
  Then I should see "Hello One"
32
32
 
33
- Scenario: Sprockets JS should only contain body when requested
34
- Given the Server is running at "sprockets-app2"
35
- When I go to "/javascripts/sprockets_base.js?body=1"
36
- Then I should see "base"
37
- And I should not see "sprockets_sub_function"
38
-
39
- Scenario: Script tags should be provided individually while debugging assets
40
- Given the Server is running at "sprockets-app-debug-assets"
41
- When I go to "/index.html"
42
- Then I should see "data-name"
43
- Then I should see 'src="/javascripts/dependency2.js?body=1"'
44
- Then I should see 'src="/javascripts/dependency1.js?body=1"'
45
- Then I should see 'src="/javascripts/main.js?body=1"'
46
-
47
- Scenario: External script tags should not be changed
48
- Given the Server is running at "sprockets-app-debug-assets"
49
- When I go to "/index.html"
50
- Then I should see 'src="//domain.com/script.js"'
51
- Then I should see 'src="http://domain.com/script.js"'
52
- Then I should see 'src="https://domain.com/script.js"'
53
-
54
- Scenario: Sprockets CSS should only contain body when requested
55
- Given the Server is running at "sprockets-app-debug-assets"
56
- When I go to "/stylesheets/app.css?body=1"
57
- Then I should see "body"
58
-
59
- Scenario: Stylesheets tags should be provided individually while debugging assets
60
- Given the Server is running at "sprockets-app-debug-assets"
61
- When I go to "/index.html"
62
- Then I should see 'href="/stylesheets/app.css?body=1"'
63
- Then I should see 'href="/stylesheets/dependency1.css?body=1"'
64
- Then I should see 'href="/stylesheets/dependency2.css?body=1"'
65
-
66
- Scenario: External stylesheet tags should not be changed
67
- Given the Server is running at "sprockets-app-debug-assets"
68
- When I go to "/index.html"
69
- Then I should see 'href="//domain.com/styles.css"'
70
- Then I should see 'href="http://domain.com/styles.css"'
71
- Then I should see 'href="https://domain.com/styles.css"'
72
-
73
33
  Scenario: Multiple engine files should build correctly
74
34
  Given a successfully built app at "sprockets-app2"
75
35
  When I cd to "build"
@@ -107,54 +67,42 @@ Feature: Sprockets
107
67
  Then I should see 'src="/library/images/cat.jpg"'
108
68
  And I should see 'src="/library/images/cat-2.jpg"'
109
69
  When I go to "/library/images/cat.jpg"
110
- Then I should get a response with status "200"
70
+ Then the status code should be "200"
111
71
  When I go to "/library/images/cat-2.jpg"
112
- Then I should get a response with status "200"
72
+ Then the status code should be "200"
113
73
 
114
74
  Scenario: Assets built through import_asset are built with the right extension
115
75
  Given a successfully built app at "sprockets-app"
116
76
  When I cd to "build"
117
77
  # source file is /library/css/vendored.css.scss
118
- Then a file named "library/css/vendored.css" should exist
78
+ Then a file named "assets/vendored.css" should exist
119
79
  # source file is /library/css/coffee.js.coffee
120
- Then a file named "library/js/coffee.js" should exist
80
+ Then a file named "assets/coffee.js" should exist
121
81
 
122
82
  Scenario: Vendor assets get right extension
123
83
  Given the Server is running at "sprockets-app"
124
84
  # source file is /library/css/vendored.css.scss
125
- When I go to "/library/css/vendored.css"
85
+ When I go to "/assets/vendored.css"
126
86
  And I should see 'background: brown;'
127
87
  # source file is /library/js/coffee.js.coffee
128
- When I go to "/library/js/coffee.js"
88
+ When I go to "/assets/coffee.js"
129
89
  And I should see 'return console.log("bar");'
130
90
 
131
91
  Scenario: Assets built through import_asset are built with the right extension
132
92
  Given a successfully built app at "sprockets-svg-font-app"
133
93
  When I cd to "build"
134
- Then a file named "fonts/font-awesome/fonts/fontawesome-webfont-bower.svg" should exist
135
- Then a file named "fonts/font-awesome/fonts/fontawesome-webfont-bower.svg.gz" should exist
136
- Then a file named "fonts/font-awesome/fonts/fontawesome-webfont-bower.ttf.gz" should exist
94
+ Then a file named "assets/font-awesome/fonts/fontawesome-webfont-bower.svg" should exist
95
+ Then a file named "assets/font-awesome/fonts/fontawesome-webfont-bower.svg.gz" should exist
96
+ Then a file named "assets/font-awesome/fonts/fontawesome-webfont-bower.ttf.gz" should exist
137
97
  Then a file named "fonts/fontawesome-webfont-source.svg" should exist
138
98
  Then a file named "fonts/fontawesome-webfont-source.svg.gz" should exist
139
99
  Then a file named "images/fontawesome-webfont-source.svg" should not exist
140
100
  Then a file named "images/drawing-source.svg" should exist
141
- Then a file named "images/blub/images/drawing-bower.svg" should exist
101
+ Then a file named "assets/blub/images/drawing-bower.svg" should exist
142
102
 
143
103
  Scenario: Assets with multiple extensions
144
104
  Given a successfully built app at "sprockets-multiple-extensions-app"
145
105
  When I cd to "build"
146
- Then a file named "fonts/font-awesome/fonts/fontawesome-webfont-bower.svg.gz" should exist
147
- Then a file named "javascripts/jquery/jquery.min.js" should exist
148
- Then a file named "javascripts/jquery/jquery.asdf.asdf.js.min.asdf" should exist
149
-
150
- Scenario: Imported Asset matches multiple sprockets paths
151
- Given a successfully built app at "sprockets-imported-assets-match-multiple-paths-app"
152
- When I cd to "build"
153
- Then a file named "assets/css/test.css" should exist
154
- And a file named "assets/css/css/test.css" should not exist
155
-
156
- Scenario: Imported Asset has a different 'asset type' directory than in config
157
- Given a successfully built app at "sprockets-imported-asset-path-conflicts-app"
158
- When I cd to "build"
159
- Then a file named "assets/css/test.css" should exist
160
- And a file named "assets/css/stylesheets/test.css" should not exist
106
+ Then a file named "assets/font-awesome/fonts/fontawesome-webfont-bower.svg.gz" should exist
107
+ Then a file named "assets/jquery/jquery.min.js" should exist
108
+ Then a file named "assets/jquery/jquery.asdf.asdf.js.min.asdf" should exist
@@ -22,15 +22,15 @@ Feature: Sprockets Gems
22
22
  Scenario: Proper reference to images from a gem, in preview
23
23
  Given the Server is running at "jquery-mobile-app"
24
24
  When I go to "/stylesheets/base.css"
25
- Then I should see 'url("/images/jquery-mobile/ajax-loader.gif")'
25
+ Then I should see 'url("/assets/jquery-mobile/ajax-loader.gif")'
26
26
 
27
27
  Scenario: Proper reference to images from a gem, in build
28
28
  Given a successfully built app at "jquery-mobile-app"
29
29
  When I cd to "build"
30
30
  Then the following files should exist:
31
31
  | stylesheets/base.css |
32
- | images/jquery-mobile/ajax-loader.gif |
33
- And the file "stylesheets/base.css" should contain 'url("/images/jquery-mobile/ajax-loader.gif")'
32
+ | assets/jquery-mobile/ajax-loader.gif |
33
+ And the file "stylesheets/base.css" should contain 'url(/assets/jquery-mobile/ajax-loader.gif)'
34
34
 
35
35
  Scenario: Same thing, but with :relative_assets on
36
36
  Given a fixture app "jquery-mobile-app"
@@ -40,28 +40,9 @@ Feature: Sprockets Gems
40
40
  """
41
41
  Given the Server is running at "jquery-mobile-app"
42
42
  When I go to "/stylesheets/base.css"
43
- Then I should see 'url("../images/jquery-mobile/ajax-loader.gif")'
44
-
45
- Scenario: JS/CSS from gems aren't aumatically in the site
46
- Given the Server is running at "jquery-mobile-app"
47
- When I go to "/javascripts/jquery.mobile.js"
48
- Then I should get a response with status "404"
43
+ Then I should see 'url("../assets/jquery-mobile/ajax-loader.gif")'
49
44
 
50
45
  Scenario: JS/CSS from gems can be declared to be accessible
51
- Given a fixture app "jquery-mobile-app"
52
- Given a file named "config.rb" with:
53
- """
54
- after_configuration do
55
- sprockets.import_asset 'jquery.mobile'
56
- end
57
- """
58
- And the Server is running at "jquery-mobile-app"
59
- When I go to "/javascripts/jquery.mobile.js"
60
- Then I should get a response with status "200"
61
-
62
- Scenario: JS/CSS from gems are accessible when debugging assets and they are required
63
- Given the Server is running at "sprockets-app-debug-assets"
64
- And the Server is running at "sprockets-app-debug-assets"
65
- When I go to "/index.html"
66
- When I go to "/javascripts/bootstrap/alert.js?body=1"
67
- Then I should get a response with status "200"
46
+ Given the Server is running at "jquery-mobile-app"
47
+ When I go to "/assets/jquery.mobile.js"
48
+ Then the status code should be "200"
@@ -1,7 +1,3 @@
1
- Then /^I should get a response with status "(.*?)"$/ do |status|
2
- (@last_response || @browser.last_response).status.should == status.to_i
3
- end
4
-
5
1
  Given /^wait a second$/ do
6
2
  sleep(1)
7
3
  end
@@ -1,4 +1 @@
1
- # Until Middleman is fixed to load Sprockets before config.rb, we have to do this
2
- after_configuration do
3
- sprockets.append_path "#{root}/derp/javascripts/"
4
- end
1
+ sprockets.append_path "#{root}/derp/javascripts/"
@@ -1,3 +1 @@
1
1
  sprockets.append_path File.join(root, 'bower_components')
2
-
3
- sprockets.import_asset 'underscore/underscore'
@@ -1 +1 @@
1
- //= require underscore/underscore
1
+ //= require underscore/underscore
@@ -0,0 +1 @@
1
+ //= link underscore/underscore
@@ -1,6 +1,2 @@
1
1
  sprockets.append_path File.join(root, 'bower_components')
2
-
3
2
  sprockets.append_path File.join(root, 'vendor/assets/components')
4
- sprockets.import_asset('underscore/underscore.js') { 'underscore.js' }
5
- sprockets.import_asset('lightbox2/img/close.png') { |logical_path| Pathname.new('hello_world') + logical_path }
6
- sprockets.import_asset('lightbox2/js/lightbox.js')