1
1
require "test_helper"
2
2
3
3
class CompilerTest < Minitest ::Test
4
- def setup
4
+ def remove_compilation_digest_path
5
5
Webpacker . compiler . send ( :compilation_digest_path ) . tap do |path |
6
6
path . delete if path . exist?
7
7
end
8
8
end
9
9
10
+ def setup
11
+ remove_compilation_digest_path
12
+ end
13
+
14
+ def teardown
15
+ remove_compilation_digest_path
16
+ end
17
+
10
18
def test_custom_environment_variables
11
19
assert Webpacker . compiler . send ( :webpack_env ) [ "FOO" ] == nil
12
20
Webpacker . compiler . env [ "FOO" ] = "BAR"
@@ -29,6 +37,27 @@ def test_freshness
29
37
assert !Webpacker . compiler . fresh?
30
38
end
31
39
40
+ def test_freshness_on_compile_success
41
+ status = OpenStruct . new ( success? : true )
42
+
43
+ assert Webpacker . compiler . stale?
44
+ Open3 . stub :capture3 , [ :sterr , :stdout , status ] do
45
+ Webpacker . compiler . compile
46
+ assert Webpacker . compiler . fresh?
47
+ end
48
+ end
49
+
50
+ def test_staleness_on_compile_fail
51
+ status = OpenStruct . new ( success? : false )
52
+
53
+ assert Webpacker . compiler . stale?
54
+ Open3 . stub :capture3 , [ :sterr , :stdout , status ] do
55
+
56
+ Webpacker . compiler . compile
57
+ assert Webpacker . compiler . stale?
58
+ end
59
+ end
60
+
32
61
def test_compilation_digest_path
33
62
assert Webpacker . compiler . send ( :compilation_digest_path ) . to_s . ends_with? ( Webpacker . env )
34
63
end
0 commit comments