guard-jasmine-headless-webkit 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile +1 -0
- data/README.md +3 -0
- data/Rakefile +6 -0
- data/lib/guard/jasmine-headless-webkit.rb +1 -1
- data/lib/guard/jasmine-headless-webkit/runner.rb +42 -2
- data/lib/guard/jasmine-headless-webkit/version.rb +1 -1
- metadata +10 -4
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -9,6 +9,9 @@ Add running your Jasmine specs to your `Guardfile` via [`jasmine-headless-webkit
|
|
9
9
|
`gem install guard-jasmine-headless-webkit` and then `guard init jasmine-headless-webkit` in your project directory to get started.
|
10
10
|
You should also put it in your `Gemfile` because, hey, why not, right?
|
11
11
|
|
12
|
+
Output is colored by default. If you want it not colored, place a `--no-colors` option into the project's or your
|
13
|
+
home folder's `.jasmine-headless-webkit` file.
|
14
|
+
|
12
15
|
## `guard` options
|
13
16
|
|
14
17
|
* `:all_on_start => false` to not run everything when starting, just like `guard-rspec`
|
data/Rakefile
CHANGED
@@ -1,9 +1,49 @@
|
|
1
|
+
require 'guard/notifier'
|
2
|
+
|
1
3
|
module Guard
|
2
4
|
class JasmineHeadlessWebkitRunner
|
3
5
|
class << self
|
4
6
|
def run(paths = [])
|
5
|
-
|
6
|
-
|
7
|
+
lines = [""]
|
8
|
+
|
9
|
+
Open3.popen3(%{jasmine-headless-webkit -c #{paths.join(" ")}}) do |stdin, stdout, stderr|
|
10
|
+
stdin.close
|
11
|
+
stderr.close
|
12
|
+
while !stdout.eof?
|
13
|
+
$stdout.print (char = stdout.getc)
|
14
|
+
$stdout.flush
|
15
|
+
|
16
|
+
if char.chr == "\n"
|
17
|
+
lines << ""
|
18
|
+
else
|
19
|
+
lines.last << char.chr
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
total, fails, secs = lines[-2].scan(%r{.* (\d+) tests, (\d+) failures, (.+) secs..*}).flatten
|
25
|
+
|
26
|
+
any_console = lines.any? { |line| line['[console] '] }
|
27
|
+
|
28
|
+
Notifier.notify(message(total, fails, secs, any_console), :title => 'Jasmine results', :image => image(any_console, fails))
|
29
|
+
fails.to_i
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
def message(total, fails, secs, any_console)
|
34
|
+
"#{total} tests, #{fails} failures, #{secs} secs#{any_console ? ', console.log used' : ''}."
|
35
|
+
end
|
36
|
+
|
37
|
+
def image(any_console, fails)
|
38
|
+
if any_console
|
39
|
+
:pending
|
40
|
+
else
|
41
|
+
if fails.to_i == 0
|
42
|
+
:success
|
43
|
+
else
|
44
|
+
:failed
|
45
|
+
end
|
46
|
+
end
|
7
47
|
end
|
8
48
|
end
|
9
49
|
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: guard-jasmine-headless-webkit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.2
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- John Bintz
|
@@ -10,12 +10,11 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-05-
|
13
|
+
date: 2011-05-26 00:00:00 -04:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: guard
|
18
|
-
prerelease: false
|
19
18
|
requirement: &id001 !ruby/object:Gem::Requirement
|
20
19
|
none: false
|
21
20
|
requirements:
|
@@ -23,10 +22,10 @@ dependencies:
|
|
23
22
|
- !ruby/object:Gem::Version
|
24
23
|
version: 0.2.2
|
25
24
|
type: :runtime
|
25
|
+
prerelease: false
|
26
26
|
version_requirements: *id001
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: jasmine-headless-webkit
|
29
|
-
prerelease: false
|
30
29
|
requirement: &id002 !ruby/object:Gem::Requirement
|
31
30
|
none: false
|
32
31
|
requirements:
|
@@ -34,6 +33,7 @@ dependencies:
|
|
34
33
|
- !ruby/object:Gem::Version
|
35
34
|
version: "0"
|
36
35
|
type: :runtime
|
36
|
+
prerelease: false
|
37
37
|
version_requirements: *id002
|
38
38
|
description: Run jasmine-headless-webkit using guard
|
39
39
|
email:
|
@@ -71,12 +71,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
71
71
|
requirements:
|
72
72
|
- - ">="
|
73
73
|
- !ruby/object:Gem::Version
|
74
|
+
hash: -152352298797570042
|
75
|
+
segments:
|
76
|
+
- 0
|
74
77
|
version: "0"
|
75
78
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
76
79
|
none: false
|
77
80
|
requirements:
|
78
81
|
- - ">="
|
79
82
|
- !ruby/object:Gem::Version
|
83
|
+
hash: -152352298797570042
|
84
|
+
segments:
|
85
|
+
- 0
|
80
86
|
version: "0"
|
81
87
|
requirements: []
|
82
88
|
|