File tree Expand file tree Collapse file tree 2 files changed +19
-4
lines changed Expand file tree Collapse file tree 2 files changed +19
-4
lines changed Original file line number Diff line number Diff line change 2
2
require 'opal/source_map'
3
3
4
4
describe Opal ::SourceMap do
5
- before { get '/assets/source_map_example.js' }
5
+ before do
6
+ expect ( Rails . application . config . opal . source_map_enabled ) . to be_true
7
+ get '/assets/source_map_example.js'
8
+ end
9
+
10
+ let ( :map_url ) { extract_map_url ( response ) }
6
11
7
12
let ( :map_body ) do
8
- get response . headers [ 'X-SourceMap' ]
13
+ get map_url
14
+ raise "#{ response . status } \n \n #{ response . body } " unless response . success?
9
15
response . body
10
16
end
11
17
12
18
let ( :map ) { JSON . parse ( map_body ) }
13
19
14
- it 'has the source map header' do
15
- expect ( response . headers [ 'X-SourceMap' ] ) . to be_present
20
+ it 'has the source map header or magic comment ' do
21
+ expect ( extract_map_url ( response ) ) . to be_present
16
22
end
17
23
18
24
it "the map is a valid json" do
27
33
expect ( pathname . exist? ) . to be_true
28
34
end
29
35
36
+
37
+ def extract_map_url response
38
+ response . headers [ 'X-SourceMap' ] or
39
+ response . body . scan ( %r{^//@ sourceMappingURL=([^\n ]+)} ) . flatten . first . strip
40
+ end
41
+
30
42
end
Original file line number Diff line number Diff line change @@ -68,5 +68,8 @@ class Application < Rails::Application
68
68
69
69
# Version of your assets, change this if you want to expire all your assets
70
70
config . assets . version = '1.0'
71
+
72
+ # Disabled by default, we need it for tests
73
+ config . opal . source_map_enabled = true
71
74
end
72
75
end
You can’t perform that action at this time.
0 commit comments