middleman-automatic-clowncar 0.0.1 → 4.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: e3f381609ce148c96ba3b48ba277dc31268aeeae
4
- data.tar.gz: 72947b12524e0dcb48f0c17daecab9f825915732
2
+ SHA256:
3
+ metadata.gz: 7d1c5387f4d2ee33f8a4795a178278d3c64f7ba3db81fbb061a468a6b7fc264d
4
+ data.tar.gz: 4e767881922623cadde291bd6118a09a9f8d1de486721a8e286734601470febe
5
5
  SHA512:
6
- metadata.gz: 8fcb75b7b390aaa2f4dfc761ec976d35ebcc9e25615b1cb234c907be6b878ef1256908d255bafd5a389a6ee7630b9564f33b3ecbb41354182ab72eea9897e8f2
7
- data.tar.gz: 5810f5b54b7c7edf1e9401907b022b1f2b4cf12b662eeba42dddd5f73efed0741cb568b3393ee1deb89460576a21c1305d54a4d544f157e88ff31546e66f76a7
6
+ metadata.gz: bb9c10cc06567764fe4dbf77640d24467bb05fec9e7c5040bffbeb6582ef65ea56c4dafb90ea065a469f88a1b9ee9faabcb7607a32e3f1ba01692792a26be469
7
+ data.tar.gz: 10434cb75830dae162ce46a178aba5c9ee9781cf59545f3ba645142ee82339c1a65f4f79ab9a7e091ee100b45da051564bde5684307a1b8459fc8f2eb6cd814c
data/.gitignore CHANGED
@@ -16,3 +16,4 @@ test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
18
  fixtures/*/build
19
+ .byebug_history
@@ -0,0 +1 @@
1
+ 2.6.1
@@ -0,0 +1,5 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.1.0
4
+ - 2.0.0
5
+ - 1.9.3
data/Gemfile CHANGED
@@ -2,3 +2,5 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in middleman-automatic-clowncar.gemspec
4
4
  gemspec
5
+
6
+ gem 'coveralls', require: false
data/README.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  Automatically generated responsive images for Middleman.
4
4
 
5
+ [![Gem Version](https://badge.fury.io/rb/middleman-automatic-clowncar.png)](http://badge.fury.io/rb/middleman-automatic-clowncar)
6
+ [![Build Status](https://travis-ci.org/Octo-Labs/middleman-automatic-clowncar.png?branch=master)](https://travis-ci.org/Octo-Labs/middleman-automatic-clowncar)
7
+ [![Code Climate](https://codeclimate.com/github/Octo-Labs/middleman-automatic-clowncar.png)](https://codeclimate.com/github/Octo-Labs/middleman-automatic-clowncar)
8
+ [![Coverage Status](https://coveralls.io/repos/Octo-Labs/middleman-automatic-clowncar/badge.png?branch=master)](https://coveralls.io/r/Octo-Labs/middleman-automatic-clowncar?branch=master)
9
+ [![Dependency Status](https://gemnasium.com/Octo-Labs/middleman-automatic-clowncar.png)](https://gemnasium.com/Octo-Labs/middleman-automatic-clowncar)
10
+
11
+
12
+
5
13
  ## Installation
6
14
 
7
15
  Add this line to your application's Gemfile:
@@ -27,9 +35,28 @@ activate :automatic_clowncar,
27
35
  :medium => 400,
28
36
  :large => 600
29
37
  },
30
- :namespace_directory => %w(photos)
38
+ :namespace_directory => %w(photos),
39
+ :filetypes => [:jpg, :jpeg, :png]
40
+ ```
41
+
42
+ At build time the extension will look in `source/photos` and will create
43
+ thumbnails for each image it finds there.
44
+
45
+ For example, let's say you have an image at
46
+ `source/photos/my-photo.jpg`. With the configuration above the extension
47
+ will generate the following files:
48
+
49
+ ```
50
+ build/photos/my-photos.svg
51
+ build/photos/my-photo/my-photo-small.jpg
52
+ build/photos/my-photo/my-photo-medium.jpg
53
+ build/photos/my-photo/my-photo-large.jpg
54
+ build/photos/my-photo/timestamp.txt
31
55
  ```
32
56
 
57
+ The timestamp file is used to allow the extension to skip regenerating
58
+ the thumbnails if the modified timestamp of the source image has not changed.
59
+
33
60
  Then in a template you can use the `automatic_clowncar_tag` to display a
34
61
  responsive image.
35
62
 
@@ -37,6 +64,39 @@ responsive image.
37
64
  <%= automatic_clowncar_tag 'photos/my-photo.jpg' %>
38
65
  ```
39
66
 
67
+ **Please note :** The directory for the images to be clowncar-ed
68
+ **must** be outside of (and different than) the `source/images`
69
+ directory. Middleman automatically does some things with `images`
70
+ that interfere with the operation of `middleman-automatic-clowncar`.
71
+
72
+ ### Setting the host
73
+
74
+ Background images in SVG require a full absolute path with host. You
75
+ have two options for setting this.
76
+
77
+ 1. You can set the `:host` option in the call to `automatic_clowncar_tag`.
78
+
79
+ ```
80
+ <%= automatic_clowncar_tag 'photos/my-photo.jpg', :host => 'http://localhost:4567' %>
81
+ ```
82
+
83
+ 2. You can set the `:asset_host` configuration variable in `config.rb`.
84
+
85
+ ```
86
+ activate :asset_host
87
+ set :asset_host, 'http://localhost:4567'
88
+ ```
89
+
90
+ Then you'll probably need a different host for your deployed site, so
91
+ you can change the `:asset_host` variable for your build.
92
+
93
+ ```
94
+ configure :build do
95
+ set :asset_host, 'http://www.octolabs.com'
96
+ end
97
+ ```
98
+
99
+
40
100
 
41
101
  ## Contributing
42
102
 
data/Rakefile CHANGED
@@ -1 +1,14 @@
1
1
  require "bundler/gem_tasks"
2
+
3
+ desc "Run tests for travis"
4
+ task :travis do
5
+ ["cucumber"].each do |cmd|
6
+ puts "Starting to run #{cmd}..."
7
+ system("export DISPLAY=:99.0 && bundle exec #{cmd}")
8
+ raise "#{cmd} failed!" unless $?.exitstatus == 0
9
+ end
10
+ end
11
+
12
+ desc 'Default: run tests.'
13
+ task :default => ['travis']
14
+
@@ -2,22 +2,24 @@ Feature: Generating SVG clowncars during preview mode
2
2
 
3
3
  Scenario: Basic command
4
4
  Given a fixture app "automatic-clowncar-app"
5
- And a file named "source/index.html.erb" with:
5
+ And a file named "source/testfile.html.erb" with:
6
6
  """
7
7
  <%= automatic_clowncar_tag "photos/test-image.jpg", :host => "http://localhost:4567/" %>
8
8
  """
9
9
  Given a successfully built app at "automatic-clowncar-app" with flags "--verbose"
10
10
  When I cd to "build"
11
11
  #Then the following files should not exist:
12
- # | images/photos/test-image.jpg |
12
+ # | photos/test-image.jpg |
13
13
  Then the following files should exist:
14
- | images/photos/test-image/test-image-small.jpg |
15
- | images/photos/test-image/test-image-medium.jpg |
16
- | images/photos/test-image/test-image-large.jpg |
17
- Then the file "index.html" should contain "<object"
18
- And the file "index.html" should contain "@media%20screen%20and%20(max-width:200px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/images/photos/test-image/test-image-small.jpg);%7D%7D"
19
- And the file "index.html" should contain "@media%20screen%20and%20(min-width:201px)%20and%20(max-width:400px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/images/photos/test-image/test-image-medium.jpg);%7D%7D"
20
- And the file "index.html" should contain "@media%20screen%20and%20(min-width:401px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/images/photos/test-image/test-image-large.jpg);%7D%7D"
14
+ | testfile.html |
15
+ | photos/test-image.jpg |
16
+ | photos/test-image/test-image-small.jpg |
17
+ | photos/test-image/test-image-medium.jpg |
18
+ | photos/test-image/test-image-large.jpg |
19
+ Then the file "testfile.html" should contain "<object"
20
+ And the file "testfile.html" should contain "@media%20screen%20and%20(max-width:200px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-small.jpg);%7D%7D"
21
+ And the file "testfile.html" should contain "@media%20screen%20and%20(min-width:201px)%20and%20(max-width:400px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-medium.jpg);%7D%7D"
22
+ And the file "testfile.html" should contain "@media%20screen%20and%20(min-width:401px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-large.jpg);%7D%7D"
21
23
 
22
24
  Scenario: Basic command with asset_host
23
25
  Given a fixture app "automatic-clowncar-app"
@@ -32,43 +34,147 @@ Feature: Generating SVG clowncars during preview mode
32
34
  :namespace_directory => %w(photos)
33
35
  activate :asset_host, :host => "http://localhost:4567/"
34
36
  """
35
- And a file named "source/index.html.erb" with:
37
+ And a file named "source/testfile.html.erb" with:
36
38
  """
37
39
  <%= automatic_clowncar_tag "photos/test-image.jpg" %>
38
40
  """
39
41
  Given a successfully built app at "automatic-clowncar-app" with flags "--verbose"
40
42
  When I cd to "build"
41
43
  #Then the following files should not exist:
42
- # | images/photos/test-image.jpg
44
+ # | photos/test-image.jpg
43
45
  Then the following files should exist:
44
- | images/photos/test-image/test-image-small.jpg |
45
- | images/photos/test-image/test-image-medium.jpg |
46
- | images/photos/test-image/test-image-large.jpg |
47
- Then the file "index.html" should contain "<object"
48
- And the file "index.html" should contain "@media%20screen%20and%20(max-width:200px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/images/photos/test-image/test-image-small.jpg);%7D%7D"
49
- And the file "index.html" should contain "@media%20screen%20and%20(min-width:201px)%20and%20(max-width:400px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/images/photos/test-image/test-image-medium.jpg);%7D%7D"
50
- And the file "index.html" should contain "@media%20screen%20and%20(min-width:401px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/images/photos/test-image/test-image-large.jpg);%7D%7D"
46
+ | photos/test-image/test-image-small.jpg |
47
+ | photos/test-image/test-image-medium.jpg |
48
+ | photos/test-image/test-image-large.jpg |
49
+ Then the file "testfile.html" should contain "<object"
50
+ And the file "testfile.html" should contain "@media%20screen%20and%20(max-width:200px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-small.jpg);%7D%7D"
51
+ And the file "testfile.html" should contain "@media%20screen%20and%20(min-width:201px)%20and%20(max-width:400px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-medium.jpg);%7D%7D"
52
+ And the file "testfile.html" should contain "@media%20screen%20and%20(min-width:401px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-large.jpg);%7D%7D"
51
53
 
52
54
  Scenario: With OldIE Fallback
53
55
  Given a fixture app "automatic-clowncar-app"
54
- And a file named "source/index.html.erb" with:
56
+ And a file named "source/testfile.html.erb" with:
55
57
  """
56
58
  <%= automatic_clowncar_tag "photos/test-image.jpg", :host => "http://localhost:4567/", :fallback => true %>
57
59
  """
58
60
  Given a successfully built app at "automatic-clowncar-app" with flags "--verbose"
59
61
  When I cd to "build"
60
62
  #Then the following files should not exist:
61
- # | images/photos/test-image.jpg
63
+ # | photos/test-image.jpg
62
64
  Then the following files should exist:
63
- | images/photos/test-image/test-image-small.jpg |
64
- | images/photos/test-image/test-image-medium.jpg |
65
- | images/photos/test-image/test-image-large.jpg |
66
- Then the file "index.html" should contain "<object"
67
- And the file "index.html" should contain "@media%20screen%20and%20(max-width:200px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/images/photos/test-image/test-image-small.jpg);%7D%7D"
68
- And the file "index.html" should contain "@media%20screen%20and%20(min-width:201px)%20and%20(max-width:400px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/images/photos/test-image/test-image-medium.jpg);%7D%7D"
69
- And the file "index.html" should contain "@media%20screen%20and%20(min-width:401px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/images/photos/test-image/test-image-large.jpg);%7D%7D"
70
- And the file "index.html" should contain "<!--[if lte IE 8]>"
71
- And the file "index.html" should contain '<img src="/images/photos/test-image/test-image-small.jpg">'
72
- And the file "index.html" should contain "<![endif]-->"
65
+ | photos/test-image/test-image-small.jpg |
66
+ | photos/test-image/test-image-medium.jpg |
67
+ | photos/test-image/test-image-large.jpg |
68
+ Then the file "testfile.html" should contain "<object"
69
+ And the file "testfile.html" should contain "@media%20screen%20and%20(max-width:200px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-small.jpg);%7D%7D"
70
+ And the file "testfile.html" should contain "@media%20screen%20and%20(min-width:201px)%20and%20(max-width:400px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-medium.jpg);%7D%7D"
71
+ And the file "testfile.html" should contain "@media%20screen%20and%20(min-width:401px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-large.jpg);%7D%7D"
72
+ And the file "testfile.html" should contain "<!--[if lte IE 8]>"
73
+ And the file "testfile.html" should contain '<img src="/photos/test-image/test-image-small.jpg">'
74
+ And the file "testfile.html" should contain "<![endif]-->"
75
+
76
+
77
+ Scenario: With prevent_upscaling
78
+ Given a fixture app "automatic-clowncar-app"
79
+ And a file named "source/testfile.html.erb" with:
80
+ """
81
+ <%= automatic_clowncar_tag "photos/test-image.jpg", :host => "http://localhost:4567/", :prevent_upscaling => true %>
82
+ """
83
+ Given a successfully built app at "automatic-clowncar-app" with flags "--verbose"
84
+ When I cd to "build"
85
+ #Then the following files should not exist:
86
+ # | photos/test-image.jpg
87
+ Then the following files should exist:
88
+ | photos/test-image/test-image-small.jpg |
89
+ | photos/test-image/test-image-medium.jpg |
90
+ | photos/test-image/test-image-large.jpg |
91
+ Then the file "testfile.html" should contain "<object"
92
+ And the file "testfile.html" should contain "@media%20screen%20and%20(max-width:200px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-small.jpg);%7D%7D"
93
+ And the file "testfile.html" should contain "@media%20screen%20and%20(min-width:201px)%20and%20(max-width:400px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-medium.jpg);%7D%7D"
94
+ And the file "testfile.html" should contain "@media%20screen%20and%20(min-width:401px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-large.jpg);%7D%7D"
95
+ And the file "testfile.html" should contain "max-width:1576px"
96
+
97
+ Scenario: Including originals
98
+ Given a fixture app "automatic-clowncar-app"
99
+ And a file named "source/testfile.html.erb" with:
100
+ """
101
+ <%= automatic_clowncar_tag "photos/test-image.jpg", :host => "http://localhost:4567/", :include_original => true %>
102
+ """
103
+ Given a successfully built app at "automatic-clowncar-app" with flags "--verbose"
104
+ When I cd to "build"
105
+ #Then the following files should not exist:
106
+ # | photos/test-image.jpg |
107
+ Then the following files should exist:
108
+ | photos/test-image.jpg |
109
+ | photos/test-image/test-image-small.jpg |
110
+ | photos/test-image/test-image-medium.jpg |
111
+ | photos/test-image/test-image-large.jpg |
112
+ Then the file "testfile.html" should contain "<object"
113
+ And the file "testfile.html" should contain "@media%20screen%20and%20(max-width:200px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-small.jpg);%7D%7D"
114
+ And the file "testfile.html" should contain "@media%20screen%20and%20(min-width:201px)%20and%20(max-width:400px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-medium.jpg);%7D%7D"
115
+ And the file "testfile.html" should contain "@media%20screen%20and%20(min-width:401px)%20and%20(max-width:600px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-large.jpg);%7D%7D"
116
+ And the file "testfile.html" should contain "@media%20screen%20and%20(min-width:601px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/../test-image.jpg);%7D%7D"
117
+
118
+ Scenario: Don't generate upscaled images
119
+ Given a fixture app "automatic-clowncar-app"
120
+ And a file named "config.rb" with:
121
+ """
122
+ activate :automatic_clowncar,
123
+ :sizes => {
124
+ :small => 200,
125
+ :medium => 400,
126
+ :huge => 3000
127
+ },
128
+ :namespace_directory => %w(photos)
129
+ activate :asset_host, :host => "http://localhost:4567/"
130
+ """
131
+ And a file named "source/testfile.html.erb" with:
132
+ """
133
+ <%= automatic_clowncar_tag "photos/test-image.jpg" %>
134
+ """
135
+ Given a successfully built app at "automatic-clowncar-app" with flags "--verbose"
136
+ When I cd to "build"
137
+ Then the following files should not exist:
138
+ | photos/test-image/test-image-huge.jpg |
139
+ Then the following files should exist:
140
+ | photos/test-image/test-image-small.jpg |
141
+ | photos/test-image/test-image-medium.jpg |
142
+ Then the file "testfile.html" should contain "<object"
143
+ And the file "testfile.html" should contain "@media%20screen%20and%20(max-width:200px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-small.jpg);%7D%7D"
144
+ And the file "testfile.html" should contain "@media%20screen%20and%20(min-width:201px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-medium.jpg);%7D%7D"
145
+ And the file "testfile.html" should not contain "test-image-huge.jpg"
146
+
147
+ Scenario: Including originals at the top level
148
+ Given a fixture app "automatic-clowncar-app"
149
+ And a file named "config.rb" with:
150
+ """
151
+ activate :automatic_clowncar,
152
+ :sizes => {
153
+ :small => 200,
154
+ :medium => 400,
155
+ :large => 600
156
+ },
157
+ :namespace_directory => %w(photos),
158
+ :include_originals => true
159
+ activate :asset_host, :host => "http://localhost:4567/"
160
+ """
161
+ And a file named "source/testfile.html.erb" with:
162
+ """
163
+ <%= automatic_clowncar_tag "photos/test-image.jpg" %>
164
+ """
165
+ Given a successfully built app at "automatic-clowncar-app" with flags "--verbose"
166
+ When I cd to "build"
167
+ #Then the following files should not exist:
168
+ # | photos/test-image.jpg |
169
+ Then the following files should exist:
170
+ | photos/test-image.jpg |
171
+ | photos/test-image/test-image-small.jpg |
172
+ | photos/test-image/test-image-medium.jpg |
173
+ | photos/test-image/test-image-large.jpg |
174
+ Then the file "testfile.html" should contain "<object"
175
+ And the file "testfile.html" should contain "@media%20screen%20and%20(max-width:200px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-small.jpg);%7D%7D"
176
+ And the file "testfile.html" should contain "@media%20screen%20and%20(min-width:201px)%20and%20(max-width:400px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-medium.jpg);%7D%7D"
177
+ And the file "testfile.html" should contain "@media%20screen%20and%20(min-width:401px)%20and%20(max-width:600px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-large.jpg);%7D%7D"
178
+ And the file "testfile.html" should contain "@media%20screen%20and%20(min-width:601px)%7Bsvg%7Bbackground-image:url(/photos/test-image/../test-image.jpg);%7D%7D"
73
179
 
74
180
 
@@ -2,16 +2,16 @@ Feature: Generating SVG clowncars during preview mode
2
2
 
3
3
  Scenario: Basic command
4
4
  Given a fixture app "automatic-clowncar-app"
5
- And a file named "source/index.html.erb" with:
5
+ And a file named "source/not-index.html.erb" with:
6
6
  """
7
7
  <%= automatic_clowncar_tag "photos/test-image.jpg", :host => "http://localhost:4567/" %>
8
8
  """
9
9
  And the Server is running at "automatic-clowncar-app"
10
- When I go to "/index.html"
10
+ When I go to "/not-index.html"
11
11
  Then I should see "<object"
12
- And I should see "@media%20screen%20and%20(max-width:200px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/images/photos/test-image/test-image-small.jpg);%7D%7D"
13
- And I should see "@media%20screen%20and%20(min-width:201px)%20and%20(max-width:400px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/images/photos/test-image/test-image-medium.jpg);%7D%7D"
14
- And I should see "@media%20screen%20and%20(min-width:401px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/images/photos/test-image/test-image-large.jpg);%7D%7D"
12
+ And I should see "@media%20screen%20and%20(max-width:200px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-small.jpg);%7D%7D"
13
+ And I should see "@media%20screen%20and%20(min-width:201px)%20and%20(max-width:400px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-medium.jpg);%7D%7D"
14
+ And I should see "@media%20screen%20and%20(min-width:401px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-large.jpg);%7D%7D"
15
15
 
16
16
  Scenario: Basic command with asset_host
17
17
  Given a fixture app "automatic-clowncar-app"
@@ -26,30 +26,45 @@ Feature: Generating SVG clowncars during preview mode
26
26
  :namespace_directory => %w(photos)
27
27
  activate :asset_host, :host => "http://localhost:4567/"
28
28
  """
29
- And a file named "source/index.html.erb" with:
29
+ And a file named "source/not-index.html.erb" with:
30
30
  """
31
31
  <%= automatic_clowncar_tag "photos/test-image.jpg" %>
32
32
  """
33
33
  And the Server is running at "automatic-clowncar-app"
34
- When I go to "/index.html"
34
+ When I go to "/not-index.html"
35
35
  Then I should see "<object"
36
- And I should see "@media%20screen%20and%20(max-width:200px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/images/photos/test-image/test-image-small.jpg);%7D%7D"
37
- And I should see "@media%20screen%20and%20(min-width:201px)%20and%20(max-width:400px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/images/photos/test-image/test-image-medium.jpg);%7D%7D"
38
- And I should see "@media%20screen%20and%20(min-width:401px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/images/photos/test-image/test-image-large.jpg);%7D%7D"
36
+ And I should see "@media%20screen%20and%20(max-width:200px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-small.jpg);%7D%7D"
37
+ And I should see "@media%20screen%20and%20(min-width:201px)%20and%20(max-width:400px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-medium.jpg);%7D%7D"
38
+ And I should see "@media%20screen%20and%20(min-width:401px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-large.jpg);%7D%7D"
39
39
 
40
40
  Scenario: With OldIE Fallback
41
41
  Given a fixture app "automatic-clowncar-app"
42
- And a file named "source/index.html.erb" with:
42
+ And a file named "source/not-index.html.erb" with:
43
43
  """
44
44
  <%= automatic_clowncar_tag "photos/test-image.jpg", :host => "http://localhost:4567/", :fallback => true %>
45
45
  """
46
46
  And the Server is running at "automatic-clowncar-app"
47
- When I go to "/index.html"
47
+ When I go to "/not-index.html"
48
48
  Then I should see "<object"
49
- And I should see "@media%20screen%20and%20(max-width:200px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/images/photos/test-image/test-image-small.jpg);%7D%7D"
50
- And I should see "@media%20screen%20and%20(min-width:201px)%20and%20(max-width:400px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/images/photos/test-image/test-image-medium.jpg);%7D%7D"
51
- And I should see "@media%20screen%20and%20(min-width:401px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/images/photos/test-image/test-image-large.jpg);%7D%7D"
49
+ And I should see "@media%20screen%20and%20(max-width:200px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-small.jpg);%7D%7D"
50
+ And I should see "@media%20screen%20and%20(min-width:201px)%20and%20(max-width:400px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-medium.jpg);%7D%7D"
51
+ And I should see "@media%20screen%20and%20(min-width:401px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-large.jpg);%7D%7D"
52
52
  And I should see "<!--[if lte IE 8]>"
53
- And I should see '<img src="/images/photos/test-image/test-image-small.jpg">'
53
+ And I should see '<img src="/photos/test-image/test-image-small.jpg">'
54
54
  And I should see "<![endif]-->"
55
55
 
56
+ Scenario: With prevent_upscaling
57
+ Given a fixture app "automatic-clowncar-app"
58
+ And a file named "source/not-index.html.erb" with:
59
+ """
60
+ <%= automatic_clowncar_tag "photos/test-image.jpg", :host => "http://localhost:4567/", :prevent_upscaling => true %>
61
+ """
62
+ And the Server is running at "automatic-clowncar-app"
63
+ When I go to "/not-index.html"
64
+ Then I should see "<object"
65
+ And I should see "@media%20screen%20and%20(max-width:200px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-small.jpg);%7D%7D"
66
+ And I should see "@media%20screen%20and%20(min-width:201px)%20and%20(max-width:400px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-medium.jpg);%7D%7D"
67
+ And I should see "@media%20screen%20and%20(min-width:401px)%7Bsvg%7Bbackground-image:url(http://localhost:4567/photos/test-image/test-image-large.jpg);%7D%7D"
68
+ And I should see "max-width:1576px"
69
+
70
+
@@ -1,7 +1,19 @@
1
1
  ENV["TEST"] = "true"
2
2
  ENV["AUTOLOAD_SPROCKETS"] = "false"
3
3
 
4
+ #require 'coveralls'
5
+ #Coveralls.wear!
6
+
7
+ #require 'simplecov'
8
+ #SimpleCov.start
9
+
10
+
4
11
  PROJECT_ROOT_PATH = File.dirname(File.dirname(File.dirname(__FILE__)))
5
12
  require "middleman-core"
6
13
  require "middleman-core/step_definitions"
14
+ require "middleman-sprockets"
7
15
  require File.join(PROJECT_ROOT_PATH, 'lib', 'middleman-automatic-clowncar')
16
+
17
+
18
+
19
+
@@ -0,0 +1,14 @@
1
+ Given(/^the file "(.*?)" has been overwritten with "(.*?)"$/) do |file1,file2|
2
+ FileUtils.cp File.join(expand_path('.'),file2), File.join(expand_path('.'),file1)
3
+ end
4
+
5
+ Given(/^some time has passed$/) do
6
+ sleep 30
7
+ end
8
+
9
+ Then(/^we should write some stuff to the console$/) do
10
+ puts "here's testfile.html"
11
+ puts File.open(File.join(expand_path('.'),"testfile.html")).read
12
+ #puts "------"
13
+ #puts File.open(File.join(expand_path('.'),"photos/test-image/test-image-small.jpg"),'rb').read
14
+ end