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 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