jasmine-coverage 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
@@ -55,7 +55,13 @@ if env =~ /^(development|test)$/
|
|
55
55
|
errStr = errStr +"2) The sourcecode has a syntax error (which JSLint should find)\n"
|
56
56
|
errStr = errStr +"3) The source files are being loaded out of sequence (so global variables are not being declared in order)\n"
|
57
57
|
errStr = errStr +" To check this, run bundle exec jasmine-headless-webkit -l to see the ordering\n"
|
58
|
-
errStr = errStr +"\nIn any case, try running the standard jasmine command to get better errors:\n\nbundle exec jasmine:headless\n
|
58
|
+
errStr = errStr +"\nIn any case, try running the standard jasmine command to get better errors:\n\nbundle exec jasmine:headless\n"
|
59
|
+
errStr = errStr +"\nFinally, try opening the testrig in firefox to see the tests run in a browser and get a stacktrace. "
|
60
|
+
errStr = errStr +"Chrome has strict security settings that make this difficult since it accesses the local filesystem from Javascript (but you can switch the settings off at the command line)\n\n"
|
61
|
+
errStr = errStr +"\n**********************************************************************************************\n"
|
62
|
+
errStr = errStr +"\nThe test rig file needs to load JS directly off disk, which Chrome prevents by default. Your best bet is to open the rig in Firefox.\n"
|
63
|
+
errStr = errStr +"\nThe file can be found here: #{Jasmine::Coverage.output_dir}/testrig/jscoverage-test-rig.html\n"
|
64
|
+
errStr = errStr +"\n**********************************************************************************************\n"
|
59
65
|
fail errStr if status_code == 1
|
60
66
|
|
61
67
|
# Obtain the console log, which includes the coverage report encoded within it
|
@@ -10,10 +10,34 @@ module Jasmine::Headless
|
|
10
10
|
|
11
11
|
def write
|
12
12
|
ret = old_write
|
13
|
-
|
14
|
-
|
13
|
+
str = File.open(all_tests_filename, "rb").read
|
14
|
+
|
15
|
+
testrigfolder = Jasmine::Coverage.output_dir+"/testrig"
|
16
|
+
FileUtils.mkdir_p testrigfolder
|
17
|
+
|
18
|
+
p "Copying all view files and potential javascript fixture folders so the JS has access to the html fixtures."
|
19
|
+
FileUtils.mkdir_p "#{testrigfolder}/target/fixtures"
|
20
|
+
FileUtils.copy_entry("#{Jasmine::Coverage.output_dir}/../../spec", "#{testrigfolder}/spec")
|
21
|
+
FileUtils.copy_entry("#{Jasmine::Coverage.output_dir}/../../app", "#{testrigfolder}/app")
|
22
|
+
FileUtils.copy_entry("#{Jasmine::Coverage.output_dir}/../fixtures", "#{testrigfolder}/target/fixtures")
|
23
|
+
|
24
|
+
jss = str.scan(/<script type="text\/javascript" src="(.*)"><\/script>/)
|
25
|
+
jss << str.scan(/<link rel="stylesheet" href="(.*)" type="text\/css" \/>/)
|
26
|
+
jss << str.scan(/\.coffee\.js'\] = '(.*)';<\/script>/)
|
27
|
+
jss.flatten!
|
28
|
+
jss.each { |s|
|
29
|
+
js = File.basename(s)
|
30
|
+
str.sub!(s, js)
|
31
|
+
FileUtils.cp(s, testrigfolder)
|
32
|
+
}
|
33
|
+
|
34
|
+
outfile = "#{testrigfolder}/jscoverage-test-rig.html"
|
35
|
+
aFile = File.new(outfile, "w")
|
36
|
+
aFile.write(str)
|
37
|
+
aFile.close
|
38
|
+
|
15
39
|
puts "A copy of the complete page that was used as the test environment can be found here:"
|
16
|
-
puts "#{
|
40
|
+
puts "#{outfile}"
|
17
41
|
ret
|
18
42
|
end
|
19
43
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jasmine-coverage
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-08
|
12
|
+
date: 2012-10-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: jasmine-headless-webkit
|