Skip to content

Commit db225af

Browse files
author
Jake Boxer
committed
Add live asset reloading spec
1 parent c99386e commit db225af

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

spec/application_spec.rb

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,28 @@
196196
@request = Rack::MockRequest.new(@app)
197197
end
198198

199+
it "reloads assets when they're changed" do
200+
# On the first request, stylesheet should have `display: block;` and not
201+
# `display: inline;`.
202+
response = @request.get("/assets/stylesheets/app.css")
203+
expect(response).to be_ok
204+
expect(response.body).to match(/display: ?block;/)
205+
expect(response.body).not_to match(/display: ?inline;/)
206+
207+
# Load layout and change the title to "Changed"
208+
asset_path = File.join(@root, "app", "assets", "stylesheets", "my-styles.scss")
209+
asset_data = File.read(asset_path)
210+
asset_data.sub!("display: block;", "display: inline;")
211+
File.write(asset_path, asset_data)
212+
213+
# On the second request, stylesheet should have `display: inline;` and not
214+
# `display: block;`.
215+
response = @request.get("/assets/stylesheets/app.css")
216+
expect(response).to be_ok
217+
expect(response.body).to match(/display: ?inline;/)
218+
expect(response.body).not_to match(/display: ?block;/)
219+
end
220+
199221
it "reloads layouts when they're changed" do
200222
# On the first request, <title> text should not be "Changed"
201223
response = @request.get("/")

0 commit comments

Comments
 (0)