guard-jasmine 2.0.0beta1 → 2.0.0

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: 9852283136894ad3b639698821b88d26a08c89bb
4
- data.tar.gz: 598808aead2bdce0f51ee5907bfaa0d44c503341
3
+ metadata.gz: 01546cd2d6366e46000c481b06b3adeaaaa2f1c7
4
+ data.tar.gz: ba99f0a41f8880d28e1e0647a92e341fddd68ac6
5
5
  SHA512:
6
- metadata.gz: 407fb6d9cdd446bd99f8aa457dffab5dc531b3ac30efb771147e2ff3a95c237e9ceb83279e0cf5688b4df94c44bc03f754ad46ab68037400bc1ad9bf475c9307
7
- data.tar.gz: 0d0c99a86b87a430a3c93da08d7403c3aeeb5562fec6cc5b458cb78fdde521a810e734f5b638464a48d9ed771a4b081cbb57ff0350a9dccc1aa4e89aac620e92
6
+ metadata.gz: 1cb190cf4bf114ec1e05fce5884e16e7f92aac49d7ba54365c835092668cd1c9747176df8e45ec5822381d162974d3a6a16c9a70d7864834a6afb957366cae95
7
+ data.tar.gz: a03f6e169a0c472094ad6856d824e06e3e93227cecb75a3a3ee62adccf51f6dacd0598d3cdc93ee034b1737eeb432282fd2e1feb6750f3dcbff1d46ee5f826af
@@ -1,5 +1,5 @@
1
1
  (function() {
2
- var ConsoleCapture, GuardReporter, extendObject;
2
+ var ConsoleCapture, GuardReporter, extendObject, isFunction, isObject;
3
3
 
4
4
  extendObject = function(a, b) {
5
5
  var key, value;
@@ -12,6 +12,16 @@
12
12
  return a;
13
13
  };
14
14
 
15
+ isObject = function(obj) {
16
+ var type;
17
+ type = typeof obj;
18
+ return type === 'function' || type === 'object' && !!obj;
19
+ };
20
+
21
+ isFunction = function(obj) {
22
+ return typeof obj === 'function' || false;
23
+ };
24
+
15
25
  ConsoleCapture = (function() {
16
26
  var level, _i, _len, _ref;
17
27
 
@@ -103,13 +113,13 @@
103
113
  };
104
114
 
105
115
  GuardReporter.prototype.specDone = function(spec) {
106
- var error, failure, match, _i, _len, _ref;
116
+ var error, failure, match, success, _i, _j, _len, _len1, _ref, _ref1;
107
117
  this.resultReceived = true;
108
118
  spec = extendObject({
109
119
  logs: this.console.captured,
110
120
  errors: []
111
121
  }, spec);
112
- _ref = spec.failedExpectations;
122
+ _ref = spec.failedExpectations || [];
113
123
  for (_i = 0, _len = _ref.length; _i < _len; _i++) {
114
124
  failure = _ref[_i];
115
125
  error = extendObject({
@@ -122,14 +132,37 @@
122
132
  });
123
133
  }
124
134
  delete error.stack;
135
+ this.stringifyExpection(error);
125
136
  spec.errors.push(error);
126
137
  }
127
138
  delete spec.failedExpectations;
139
+ _ref1 = spec.passedExpectations || [];
140
+ for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) {
141
+ success = _ref1[_j];
142
+ this.stringifyExpection(success);
143
+ }
128
144
  this.currentSuite.specs.push(spec);
129
145
  this.resetConsoleLog();
130
146
  return spec;
131
147
  };
132
148
 
149
+ GuardReporter.prototype.stringifyExpection = function(expected) {
150
+ var key, _i, _len, _ref, _results;
151
+ _ref = ['actual', 'expected'];
152
+ _results = [];
153
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
154
+ key = _ref[_i];
155
+ if (isFunction(expected[key])) {
156
+ _results.push(expected[key] = expected[key].name || "function");
157
+ } else if (isObject(expected[key])) {
158
+ _results.push(expected[key] = expected[key].toString());
159
+ } else {
160
+ _results.push(void 0);
161
+ }
162
+ }
163
+ return _results;
164
+ };
165
+
133
166
  GuardReporter.prototype.resetConsoleLog = function() {
134
167
  this.console.revert();
135
168
  return this.console = new ConsoleCapture;
@@ -8,6 +8,13 @@ extendObject = (a, b)->
8
8
  a[key] = value if b.hasOwnProperty(key)
9
9
  return a
10
10
 
11
+ isObject =(obj)->
12
+ type = typeof obj;
13
+ return type == 'function' || type == 'object' && !!obj;
14
+
15
+ isFunction = (obj)->
16
+ return typeof obj == 'function' || false;
17
+
11
18
 
12
19
  class ConsoleCapture
13
20
  # Instead of attempting to de-activate the console dot reporter in hacky ways,
@@ -63,18 +70,29 @@ class GuardReporter
63
70
  specDone: (spec)->
64
71
  @resultReceived = true
65
72
  spec = extendObject({ logs: @console.captured, errors: [] }, spec )
66
- for failure in spec.failedExpectations
73
+ for failure in spec.failedExpectations||[]
67
74
  error = extendObject({trace:[]}, failure )
68
75
  while match = GuardReporter.STACK_MATCHER.exec( failure.stack )
69
76
  error.trace.push({ file: match[1], line: parseInt(match[2]) })
70
77
  delete error.stack
78
+ this.stringifyExpection(error)
71
79
  spec.errors.push( error )
72
80
  delete spec.failedExpectations
81
+ this.stringifyExpection(success) for success in spec.passedExpectations||[]
73
82
  @currentSuite.specs.push( spec )
74
-
75
83
  this.resetConsoleLog()
76
84
  spec
77
85
 
86
+ # if the expected object is very large, we don't want to
87
+ # include it in the JSON reply. For instance a DOM Element
88
+ # will actually end up including the entire page (including script source)
89
+ stringifyExpection: (expected)->
90
+ for key in ['actual','expected']
91
+ if isFunction(expected[key])
92
+ expected[key] = expected[key].name || "function"
93
+ else if isObject(expected[key])
94
+ expected[key] = expected[key].toString()
95
+
78
96
  resetConsoleLog: ->
79
97
  @console.revert()
80
98
  @console = new ConsoleCapture
@@ -22,8 +22,6 @@ describe 'Reporter', ->
22
22
 
23
23
  it "reports counts", ->
24
24
  @reporter.suiteStarted({name:'Blank'})
25
- console.log("A %s Logging", "Test")
26
- console.warn("This is your last warning")
27
25
  @reporter.specDone( { status: 'passed', failedExpectations: [] } )
28
26
  @reporter.specDone( { status: 'failed', failedExpectations: [{
29
27
  matcherName:"toEqual",
@@ -100,6 +100,7 @@ module Guard
100
100
  "'#{ options[:junit_save_path] }'"
101
101
  ]
102
102
  cmd = "#{ phantomjs_command } \"#{ suite }\" #{ arguments.collect { |i| i.to_s }.join(' ')}"
103
+ puts cmd if options[:debug]
103
104
  IO.popen(cmd, 'r:UTF-8')
104
105
  end
105
106
 
@@ -145,7 +146,7 @@ module Guard
145
146
  if file != options[:spec_dir]
146
147
  params[:spec] = suite_from_line_number(file) || suite_from_first_describe(file)
147
148
  end
148
- params.empty? ? "" : "?"+URI.encode_www_form(params)
149
+ params.empty? ? "" : "?"+URI.encode_www_form(params).gsub('+','%20')
149
150
  end
150
151
 
151
152
  # When providing a line number by either the option or by
@@ -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.0beta1'
4
+ VERSION = '2.0.0'
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.0beta1
4
+ version: 2.0.0
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-11-24 00:00:00.000000000 Z
12
+ date: 2014-12-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: guard
@@ -85,16 +85,16 @@ dependencies:
85
85
  name: tilt
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - "~>"
88
+ - - ">="
89
89
  - !ruby/object:Gem::Version
90
- version: '2.0'
90
+ version: '0'
91
91
  type: :runtime
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - "~>"
95
+ - - ">="
96
96
  - !ruby/object:Gem::Version
97
- version: '2.0'
97
+ version: '0'
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: bundler
100
100
  requirement: !ruby/object:Gem::Requirement
@@ -239,7 +239,7 @@ files:
239
239
  - lib/guard/jasmine/templates/Guardfile
240
240
  - lib/guard/jasmine/util.rb
241
241
  - lib/guard/jasmine/version.rb
242
- homepage: https://github.com/netzpirat/guard-jasmine
242
+ homepage: https://github.com/guard/guard-jasmine
243
243
  licenses:
244
244
  - MIT
245
245
  metadata: {}