@@ -21,7 +21,7 @@ namespace :test do
21
21
end
22
22
23
23
desc %(Test JavaScript code)
24
- task js : [ 'regenerate_javascript' , 'test:server' , 'test:open ' ]
24
+ task js : [ 'regenerate_javascript' , 'test:server' , 'test:qunit ' ]
25
25
26
26
desc %(Starts the test server)
27
27
task :server do
@@ -43,7 +43,8 @@ namespace :test do
43
43
exec "bundle exec shotgun test/javascript/config.ru -p #{ test_port } --server thin"
44
44
end
45
45
46
- task :open do
46
+ desc %(Starts qunit tests)
47
+ task :qunit do
47
48
if ENV [ 'UI' ]
48
49
system ( *browse_cmd ( url ) )
49
50
else
54
55
55
56
desc %(Regenerate JavaScript files)
56
57
task :regenerate_javascript do
57
- system 'yarn build'
58
+ run_yarn_script ' build'
58
59
end
59
60
60
61
desc %(Commit JavaScript files)
@@ -97,12 +98,18 @@ def which(cmd)
97
98
end
98
99
99
100
def run_headless_tests
101
+ run_yarn_script 'test' , "#{ test_url } ?autostart=false" do
102
+ Process . kill 'INT' , @server
103
+ end
104
+ end
105
+
106
+ def run_yarn_script ( script , options = '' )
100
107
require 'English'
101
108
102
- system "yarn test #{ test_url } ?autostart=false "
109
+ system "yarn #{ script } #{ options } "
103
110
exit_code = $CHILD_STATUS. exitstatus
104
111
105
- Process . kill 'INT' , @server
112
+ yield if block_given?
106
113
107
114
exit exit_code unless exit_code . zero?
108
115
end
0 commit comments