guard-jasmine-headless-webkit 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -5,3 +5,4 @@ gemspec
5
5
  gem 'guard'
6
6
  gem 'rspec'
7
7
  gem 'mocha'
8
+ gem 'rake', '0.8.7'
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,2 +1,8 @@
1
1
  require 'bundler'
2
2
  Bundler::GemHelper.install_tasks
3
+
4
+ desc 'Push everywhere!'
5
+ task :push_everywhere do
6
+ system %{git push origin master}
7
+ system %{git push guard master}
8
+ end
@@ -21,7 +21,7 @@ module Guard
21
21
  end
22
22
 
23
23
  def run_on_change(paths)
24
- run_all if JasmineHeadlessWebkitRunner.run(paths) != 1
24
+ run_all if JasmineHeadlessWebkitRunner.run(paths) == 0
25
25
  end
26
26
  end
27
27
 
@@ -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
- system %{jasmine-headless-webkit #{paths.join(" ")}}
6
- $?.exitstatus
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
@@ -1,5 +1,5 @@
1
1
  module Guard
2
2
  module JasmineHeadlessWebkitVersion
3
- VERSION = "0.0.1"
3
+ VERSION = "0.0.2"
4
4
  end
5
5
  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.1
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-24 00:00:00 -04:00
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