guard-jasmine 2.0.1 → 2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 653c1770a0ee0afde89d96bc6b55e89523f9e6a7
4
- data.tar.gz: 9da1156f41c0da97723d2ab83b908b02b7588faf
3
+ metadata.gz: 12caddb0c39fa9e9eb322b6c951c89852701f973
4
+ data.tar.gz: f0cf28ed90b43983707498f0687bda3c13eae5b1
5
5
  SHA512:
6
- metadata.gz: 19f799979a9d26cc253abffd4e5ddf34d3c95e56ac0443f5d79242a3d6659eb31bdea642445c1edc52e836925ab4440647dda3c743a2e348201731dbc84f16b1
7
- data.tar.gz: 1bd4ab0e7aa91dd28e1f031fb113b2c95930a6b2bdcac7b9b8101a0494cda518f414565d9b800840402c34a4cc492dc29630cb1743be7e4d6380f9b2411e9b04
6
+ metadata.gz: 6e289b661a2d079a9da870b108afea5c1c3edb1da7e075ec09acfa000bd2ee25a5ef0b59f89a86b4e8e465d6da2765c38c2f16fb635f5798e548ea158c800696
7
+ data.tar.gz: 2399a04e13a740d2e1eaf8a4cf0452d16f6ccf37074a099449cca08c75a48a8d4c73eb7967250f26017d451b9e0c2e1857b9dffe6197a01f6535b3b9bd751cb5
@@ -7,7 +7,7 @@ require 'guard/jasmine/util'
7
7
  require 'guard/jasmine/server'
8
8
 
9
9
  module Guard
10
- class Jasmine
10
+ class Jasmine < Plugin
11
11
  # Small helper class to run the Jasmine runner_options once from the
12
12
  # command line. This can be useful to integrate guard-jasmine
13
13
  # into a continuous integration server.
@@ -225,7 +225,7 @@ module Guard
225
225
  end
226
226
 
227
227
  rescue => e
228
- ::Guard::UI.error "Something went wrong: #{e.message}"
228
+ Compat::UI.error "Something went wrong: #{e.message}"
229
229
  Process.exit 2
230
230
  ensure
231
231
  ::Guard::Jasmine::Server.stop
@@ -239,7 +239,7 @@ module Guard
239
239
  # @see Guard::Jasmine::VERSION
240
240
  #
241
241
  def version
242
- ::Guard::UI.info "Guard::Jasmine version #{ ::Guard::JasmineVersion::VERSION }"
242
+ Compat::UI.info "Guard::Jasmine version #{ ::Guard::JasmineVersion::VERSION }"
243
243
  end
244
244
  end
245
245
  end
@@ -1,5 +1,7 @@
1
+ require 'guard/compat/plugin'
2
+
1
3
  module Guard
2
- class Jasmine
4
+ class Jasmine < Plugin
3
5
  # The Guard::Jasmine formatter collects console and
4
6
  # system notification methods and enhances them with
5
7
  # some color information.
@@ -13,7 +15,7 @@ module Guard
13
15
  # @option options [Boolean] :reset reset the UI
14
16
  #
15
17
  def info(message, options = {})
16
- ::Guard::UI.info(message, options)
18
+ Compat::UI.info(message, options)
17
19
  end
18
20
 
19
21
  # Print a debug message to the console.
@@ -23,7 +25,7 @@ module Guard
23
25
  # @option options [Boolean] :reset reset the UI
24
26
  #
25
27
  def debug(message, options = {})
26
- ::Guard::UI.debug(message, options)
28
+ Compat::UI.debug(message, options)
27
29
  end
28
30
 
29
31
  # Print a red error message to the console.
@@ -33,7 +35,7 @@ module Guard
33
35
  # @option options [Boolean] :reset reset the UI
34
36
  #
35
37
  def error(message, options = {})
36
- ::Guard::UI.error(color(message, ';31'), options)
38
+ Compat::UI.error(color(message, ';31'), options)
37
39
  end
38
40
 
39
41
  # Print a green success message to the console.
@@ -43,7 +45,7 @@ module Guard
43
45
  # @option options [Boolean] :reset reset the UI
44
46
  #
45
47
  def success(message, options = {})
46
- ::Guard::UI.info(color(message, ';32'), options)
48
+ Compat::UI.info(color(message, ';32'), options)
47
49
  end
48
50
 
49
51
  # Print a yellow pending message to the console.
@@ -53,7 +55,7 @@ module Guard
53
55
  # @option options [Boolean] :reset reset the UI
54
56
  #
55
57
  def spec_pending(message, options = {})
56
- ::Guard::UI.info(color(message, ';33'), options)
58
+ Compat::UI.info(color(message, ';33'), options)
57
59
  end
58
60
 
59
61
  # Print a red spec failed message to the console.
@@ -62,7 +64,7 @@ module Guard
62
64
  # @param [Hash] options the output options
63
65
  #
64
66
  def spec_failed(message, options = {})
65
- ::Guard::UI.info(color(message, ';31'), options)
67
+ Compat::UI.info(color(message, ';31'), options)
66
68
  end
67
69
 
68
70
  # Print a red spec failed message to the console.
@@ -71,7 +73,7 @@ module Guard
71
73
  # @param [Hash] options the output options
72
74
  #
73
75
  def suite_name(message, options = {})
74
- ::Guard::UI.info(color(message, ';33'), options)
76
+ Compat::UI.info(color(message, ';33'), options)
75
77
  end
76
78
 
77
79
  # Outputs a system notification.
@@ -82,7 +84,7 @@ module Guard
82
84
  # @option options [String] :title the title of the system notification
83
85
  #
84
86
  def notify(message, options = {})
85
- ::Guard::Notifier.notify(message, options)
87
+ Compat::UI.notify(message, options)
86
88
  end
87
89
 
88
90
  private
@@ -93,7 +95,7 @@ module Guard
93
95
  # @param [String] color_code the color code
94
96
  #
95
97
  def color(text, color_code)
96
- ::Guard::UI.send(:color_enabled?) ? "\e[0#{ color_code }m#{ text }\e[0m" : text
98
+ Compat::UI.color_enabled? ? "\e[0#{ color_code }m#{ text }\e[0m" : text
97
99
  end
98
100
  end
99
101
  end
@@ -1,5 +1,7 @@
1
+ require 'guard/compat/plugin'
2
+
1
3
  module Guard
2
- class Jasmine
4
+ class Jasmine < Plugin
3
5
  # The inspector verifies if the changed paths are valid
4
6
  # for Guard::Jasmine. Please note that request to {.clean}
5
7
  # paths keeps the current valid files cached until {.clear} is
@@ -2,7 +2,7 @@
2
2
  var exitSuccessfully, jasmineAvailable, options, page, phantomExit, reportError, reporterMissing, reporterReady, specsDone, specsTimedout, waitFor;
3
3
 
4
4
  options = {
5
- url: phantom.args[0] || 'http://127.0.0.1:3000/jasmine',
5
+ url: phantom.args[0] || 'http://localhost:3000/jasmine',
6
6
  timeout: parseInt(phantom.args[1] || 10000)
7
7
  };
8
8
 
@@ -12,6 +12,11 @@
12
12
  return reportError("Javascript error encountered on Jasmine test page: " + message, trace);
13
13
  };
14
14
 
15
+ page.onResourceError = function(error) {
16
+ page.reason = error.errorString;
17
+ return page.reason_url = error.url;
18
+ };
19
+
15
20
  page.onInitialized = function() {
16
21
  page.injectJs('guard-reporter.js');
17
22
  return page.evaluate(function() {
@@ -26,7 +31,7 @@
26
31
 
27
32
  page.onLoadFinished = function(status) {
28
33
  if (status !== 'success') {
29
- return reportError("Unable to access Jasmine specs at " + options.url + ", page returned status: " + status);
34
+ return reportError("Unable to access Jasmine specs at " + page.reason_url + ". " + page.reason);
30
35
  } else {
31
36
  return waitFor(reporterReady, jasmineAvailable, options.timeout, reporterMissing);
32
37
  }
@@ -1,7 +1,7 @@
1
1
 
2
2
  # Set default values
3
3
  options =
4
- url: phantom.args[0] || 'http://127.0.0.1:3000/jasmine'
4
+ url: phantom.args[0] || 'http://localhost:3000/jasmine'
5
5
  timeout: parseInt(phantom.args[1] || 10000)
6
6
 
7
7
  # Create the web page.
@@ -12,6 +12,10 @@ page = require('webpage').create()
12
12
  page.onError = (message, trace) ->
13
13
  reportError "Javascript error encountered on Jasmine test page: #{ message }", trace
14
14
 
15
+ page.onResourceError = (error)->
16
+ page.reason = error.errorString
17
+ page.reason_url = error.url
18
+
15
19
  # Once the page is initialized, setup the script for
16
20
  # the GuardReporter class
17
21
  page.onInitialized = ->
@@ -24,7 +28,7 @@ page.onInitialized = ->
24
28
  # Once the page is finished loading
25
29
  page.onLoadFinished = (status)->
26
30
  if status isnt 'success'
27
- reportError "Unable to access Jasmine specs at #{ options.url }, page returned status: #{status}"
31
+ reportError "Unable to access Jasmine specs at #{page.reason_url}. #{page.reason}"
28
32
  else
29
33
  waitFor reporterReady, jasmineAvailable, options.timeout, reporterMissing
30
34
 
@@ -2,10 +2,13 @@
2
2
 
3
3
  require 'multi_json'
4
4
  require 'fileutils'
5
+
6
+ require 'guard/compat/plugin'
7
+ require 'guard/jasmine'
5
8
  require 'guard/jasmine/util'
6
9
 
7
10
  module Guard
8
- class Jasmine
11
+ class Jasmine < Plugin
9
12
  # The Jasmine runner handles the execution of the spec through the PhantomJS binary,
10
13
  # evaluates the JSON response from the PhantomJS Script `guard_jasmine.coffee`,
11
14
  # writes the result to the console and triggers optional system notifications.
@@ -5,8 +5,10 @@ require 'timeout'
5
5
  require 'childprocess'
6
6
  require 'jasmine'
7
7
 
8
+ require 'guard/compat/plugin'
9
+
8
10
  module Guard
9
- class Jasmine
11
+ class Jasmine < Plugin
10
12
  # Start and stop a Jasmine test server for requesting the specs
11
13
  # from PhantomJS.
12
14
  #
@@ -47,7 +49,7 @@ module Guard
47
49
  #
48
50
  def stop
49
51
  if process
50
- ::Guard::UI.info 'Guard::Jasmine stops server.'
52
+ Compat::UI.info 'Guard::Jasmine stops server.'
51
53
  process.stop(5)
52
54
  end
53
55
  end
@@ -105,7 +107,7 @@ module Guard
105
107
  rackup_config = options[:rackup_config]
106
108
  coverage = options[:coverage] ? 'on' : 'off'
107
109
 
108
- ::Guard::UI.info "Guard::Jasmine starts #{ server } spec server on port #{ port } in #{ environment } environment (coverage #{ coverage })."
110
+ Compat::UI.info "Guard::Jasmine starts #{ server } spec server on port #{ port } in #{ environment } environment (coverage #{ coverage })."
109
111
  execute(options, ['rackup', '-E', environment.to_s, '-p', port.to_s, '-s', server.to_s, rackup_config])
110
112
  end
111
113
 
@@ -121,7 +123,7 @@ module Guard
121
123
  environment = options[:server_env]
122
124
  coverage = options[:coverage] ? 'on' : 'off'
123
125
 
124
- ::Guard::UI.info "Guard::Jasmine starts Unicorn spec server on port #{ port } in #{ environment } environment (coverage #{ coverage })."
126
+ Compat::UI.info "Guard::Jasmine starts Unicorn spec server on port #{ port } in #{ environment } environment (coverage #{ coverage })."
125
127
  execute(options, ['unicorn_rails', '-E', environment.to_s, '-p', port.to_s])
126
128
  end
127
129
 
@@ -132,7 +134,7 @@ module Guard
132
134
  # @option options [Symbol] server the rack server to use
133
135
  #
134
136
  def start_rake_server(port, task, options)
135
- ::Guard::UI.info "Guard::Jasmine starts Jasmine Gem test server on port #{ port }."
137
+ Compat::UI.info "Guard::Jasmine starts Jasmine Gem test server on port #{ port }."
136
138
  execute(options, ['rake', task, "JASMINE_PORT=#{ port }"])
137
139
  end
138
140
 
@@ -151,8 +153,8 @@ module Guard
151
153
  process.io.inherit! if options[:verbose]
152
154
  process.start
153
155
  rescue => e
154
- ::Guard::UI.error "Cannot start server using command #{ cmd.join(' ') }."
155
- ::Guard::UI.error "Error was: #{ e.message }"
156
+ Compat::UI.error "Cannot start server using command #{ cmd.join(' ') }."
157
+ Compat::UI.error "Error was: #{ e.message }"
156
158
  end
157
159
 
158
160
  # Wait until the Jasmine test server is running.
@@ -164,7 +166,7 @@ module Guard
164
166
  Timeout.timeout(timeout) do
165
167
  loop do
166
168
  begin
167
- ::TCPSocket.new('127.0.0.1', port).close
169
+ ::TCPSocket.new('localhost', port).close
168
170
  break
169
171
  rescue Errno::ECONNREFUSED, Errno::EHOSTUNREACH
170
172
  # Ignore, server still not available
@@ -174,12 +176,12 @@ module Guard
174
176
  end
175
177
 
176
178
  rescue Timeout::Error
177
- ::Guard::UI.warning "Timeout while waiting for the server to startup"
178
- ::Guard::UI.warning "Most likely there is a configuration error that's preventing the server from starting"
179
- ::Guard::UI.warning "You may need to increase the `:server_timeout` option."
180
- ::Guard::UI.warning "The commandline that was used to start the server was:"
181
- ::Guard::UI.warning cmd.join(' ')
182
- ::Guard::UI.warning "You should attempt to run that and see if any errors occur"
179
+ Compat::UI.warning "Timeout while waiting for the server to startup"
180
+ Compat::UI.warning "Most likely there is a configuration error that's preventing the server from starting"
181
+ Compat::UI.warning "You may need to increase the `:server_timeout` option."
182
+ Compat::UI.warning "The commandline that was used to start the server was:"
183
+ Compat::UI.warning cmd.join(' ')
184
+ Compat::UI.warning "You should attempt to run that and see if any errors occur"
183
185
 
184
186
  throw :task_has_failed
185
187
  end
@@ -1,9 +1,10 @@
1
1
  require 'net/http'
2
2
  require 'timeout'
3
+ require 'guard/compat/plugin'
3
4
  require 'guard/jasmine/formatter'
4
5
 
5
6
  module Guard
6
- class Jasmine
7
+ class Jasmine < Plugin
7
8
  # Provider of some shared utility methods.
8
9
  #
9
10
  module Util
@@ -1,6 +1,6 @@
1
1
  module Guard
2
2
  module JasmineVersion
3
3
  # Guard::Jasmine version that is used for the Gem specification
4
- VERSION = '2.0.1'
4
+ VERSION = '2.0.2'
5
5
  end
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: guard-jasmine
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Kessler
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-12-21 00:00:00.000000000 Z
12
+ date: 2015-01-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: guard
@@ -31,14 +31,14 @@ dependencies:
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '0.3'
34
+ version: '1.2'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '0.3'
41
+ version: '1.2'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: jasmine
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -123,48 +123,6 @@ dependencies:
123
123
  - - ">="
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0'
126
- - !ruby/object:Gem::Dependency
127
- name: rake
128
- requirement: !ruby/object:Gem::Requirement
129
- requirements:
130
- - - ">="
131
- - !ruby/object:Gem::Version
132
- version: '0'
133
- type: :development
134
- prerelease: false
135
- version_requirements: !ruby/object:Gem::Requirement
136
- requirements:
137
- - - ">="
138
- - !ruby/object:Gem::Version
139
- version: '0'
140
- - !ruby/object:Gem::Dependency
141
- name: rack
142
- requirement: !ruby/object:Gem::Requirement
143
- requirements:
144
- - - ">="
145
- - !ruby/object:Gem::Version
146
- version: '0'
147
- type: :development
148
- prerelease: false
149
- version_requirements: !ruby/object:Gem::Requirement
150
- requirements:
151
- - - ">="
152
- - !ruby/object:Gem::Version
153
- version: '0'
154
- - !ruby/object:Gem::Dependency
155
- name: yard
156
- requirement: !ruby/object:Gem::Requirement
157
- requirements:
158
- - - ">="
159
- - !ruby/object:Gem::Version
160
- version: '0'
161
- type: :development
162
- prerelease: false
163
- version_requirements: !ruby/object:Gem::Requirement
164
- requirements:
165
- - - ">="
166
- - !ruby/object:Gem::Version
167
- version: '0'
168
126
  description: Guard::Jasmine automatically tests your Jasmine specs on PhantomJS
169
127
  email:
170
128
  - michi@flinkfinger.com