1
0
Fork 0
mirror of https://github.com/middleman/middleman.git synced 2022-11-09 12:20:27 -05:00
middleman--middleman/middleman-core/features/minify_javascript.feature

219 lines
5.4 KiB
Gherkin
Raw Normal View History

2009-11-22 18:37:11 -05:00
Feature: Minify Javascript
In order reduce bytes sent to client and appease YSlow
2011-05-29 11:26:58 -04:00
2009-11-22 18:37:11 -05:00
Scenario: Rendering inline js with the feature disabled
Given a fixture app "minify-js-app"
And a file named "config.rb" with:
"""
"""
2011-12-29 22:28:49 -05:00
And the Server is running at "minify-js-app"
2009-11-22 18:37:11 -05:00
When I go to "/inline-js.html"
Then I should see:
"""
<script>
;(function() {
this;
should();
all.be();
on = { one: line };
})();
</script>
<script>
;(function() {
this;
should();
too();
})();
</script>
<script type='text/javascript'>
//<!--
;(function() {
one;
line();
here();
})();
//-->
</script>
<script type='text/html'>
I'm a jQuery {{template}}.
</script>
"""
Scenario: Rendering inline js with a passthrough minifier
Given a fixture app "passthrough-app"
And a file named "config.rb" with:
"""
module ::PassThrough
def self.compress(data)
data
end
end
activate :minify_javascript, inline: true, compressor: ::PassThrough
page "/inline-js.html", layout: false
"""
And the Server is running at "passthrough-app"
When I go to "/inline-js.html"
Then I should see:
"""
<script>
;(function() {
this;
should();
all.be();
on = { one: line };
})();
</script>
<script>
;(function() {
this;
should();
too();
})();
</script>
<script type='text/javascript'>
//<!--
;(function() {
one;
line();
here();
})();
//-->
</script>
<script type='text/html'>
I'm a jQuery {{template}}.
</script>
"""
2011-05-29 11:26:58 -04:00
Scenario: Rendering inline css with a passthrough minifier using activate-style compressor
Given a fixture app "passthrough-app"
And a file named "config.rb" with:
"""
module ::HelloCompressor
def self.compress(data)
"Hello"
end
end
activate :minify_javascript, inline: true, compressor: ::HelloCompressor
page "/inline-js.html", layout: false
"""
And the Server is running at "passthrough-app"
When I go to "/inline-js.html"
Then I should see:
"""
<script>
Hello
</script>
<script>
Hello
</script>
<script type='text/javascript'>
//<!--
Hello
//-->
</script>
<script type='text/html'>
I'm a jQuery {{template}}.
</script>
"""
2011-05-29 11:26:58 -04:00
Scenario: Rendering inline js with the feature enabled
Given a fixture app "minify-js-app"
And a file named "config.rb" with:
"""
activate :minify_javascript, inline: true
"""
2011-12-29 22:28:49 -05:00
And the Server is running at "minify-js-app"
2011-05-29 11:26:58 -04:00
When I go to "/inline-js.html"
Then I should see:
"""
<script>
2013-05-18 16:47:15 -04:00
!function(){should(),all.be(),on={one:line}}();
</script>
<script>
2013-05-18 16:47:15 -04:00
!function(){should(),too()}();
</script>
<script type='text/javascript'>
//<!--
2015-01-03 15:32:21 -05:00
!function(){one,line(),here()}();
//-->
</script>
<script type='text/html'>
I'm a jQuery {{template}}.
</script>
"""
2015-02-13 17:39:08 -05:00
Scenario: Rendering external js with the feature enabled
Given a fixture app "minify-js-app"
And a file named "config.rb" with:
"""
activate :minify_javascript
"""
2011-12-29 22:28:49 -05:00
And the Server is running at "minify-js-app"
When I go to "/javascripts/js_test.js"
Then I should see "1" lines
When I go to "/more-js/other.js"
Then I should see "1" lines
Scenario: Rendering external js with a passthrough minifier
And the Server is running at "passthrough-app"
When I go to "/javascripts/js_test.js"
2011-12-12 17:20:20 -05:00
Then I should see "8" lines
2011-05-29 11:26:58 -04:00
Scenario: Rendering inline js (coffeescript) with the feature enabled
Given a fixture app "minify-js-app"
And a file named "config.rb" with:
"""
activate :minify_javascript, inline: true
"""
2011-12-29 22:28:49 -05:00
And the Server is running at "minify-js-app"
2011-05-29 11:26:58 -04:00
When I go to "/inline-coffeescript.html"
Then I should see "3" lines
Scenario: Rendering external js (coffeescript) with the feature enabled
Given a fixture app "minify-js-app"
And a file named "config.rb" with:
"""
activate :minify_javascript
"""
2011-12-29 22:28:49 -05:00
And the Server is running at "minify-js-app"
When I go to "/javascripts/coffee_test.js"
Then I should see "1" lines
Scenario: Rendering inline js (coffeescript) with a passthrough minifier
Given a fixture app "passthrough-app"
And a file named "config.rb" with:
"""
module ::PassThrough
def self.compress(data)
data
end
end
activate :minify_javascript, inline: true, compressor: ::PassThrough
page "/inline-coffeescript.html", layout: false
"""
And the Server is running at "passthrough-app"
When I go to "/inline-coffeescript.html"
Then I should see "13" lines
Scenario: Rendering external js (coffeescript) with a passthrough minifier
Given a fixture app "passthrough-app"
And a file named "config.rb" with:
"""
module ::PassThrough
def self.compress(data)
data
end
end
activate :minify_javascript, compressor: ::PassThrough
"""
And the Server is running at "passthrough-app"
When I go to "/javascripts/coffee_test.js"
Then I should see "11" lines