visionmedia-jspec 2.8.1 → 2.8.2
Sign up to get free protection for your applications and to get access to all the features.
- data/History.rdoc +6 -0
- data/bin/jspec +1 -1
- data/jspec.gemspec +2 -2
- data/lib/jspec.js +25 -16
- data/spec/spec.jquery.xhr.js +7 -0
- data/spec/spec.utils.js +1 -0
- data/spec/spec.xhr.js +11 -4
- metadata +2 -2
data/History.rdoc
CHANGED
@@ -1,4 +1,10 @@
|
|
1
1
|
|
2
|
+
=== 2.8.2 / 2009-07-29
|
3
|
+
|
4
|
+
* Added JSpec.tryLoading()
|
5
|
+
* Added JSpec.request used to reference the original XMLHttpRequest; used to fix [#149]
|
6
|
+
* Fixed Mock XHR issue messing up JSpec request related utilities such as fixture() [#149]
|
7
|
+
|
2
8
|
=== 2.8.1 / 2009-07-27
|
3
9
|
|
4
10
|
* Added Lawrence Pit as a contributor
|
data/bin/jspec
CHANGED
data/jspec.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{jspec}
|
5
|
-
s.version = "2.8.
|
5
|
+
s.version = "2.8.2"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["TJ Holowaychuk"]
|
9
|
-
s.date = %q{2009-07-
|
9
|
+
s.date = %q{2009-07-29}
|
10
10
|
s.default_executable = %q{jspec}
|
11
11
|
s.description = %q{JavaScript BDD Testing Framework}
|
12
12
|
s.email = %q{tj@vision-media.ca}
|
data/lib/jspec.js
CHANGED
@@ -5,13 +5,14 @@
|
|
5
5
|
|
6
6
|
JSpec = {
|
7
7
|
|
8
|
-
version : '2.8.
|
8
|
+
version : '2.8.2',
|
9
9
|
cache : {},
|
10
10
|
suites : [],
|
11
11
|
modules : [],
|
12
12
|
allSuites : [],
|
13
13
|
matchers : {},
|
14
14
|
stubbed : [],
|
15
|
+
request : 'XMLHttpRequest' in this ? XMLHttpRequest : null,
|
15
16
|
stats : { specs : 0, assertions : 0, failures : 0, passes : 0, specsFinished : 0, suitesFinished : 0 },
|
16
17
|
options : { profile : false },
|
17
18
|
|
@@ -67,17 +68,13 @@
|
|
67
68
|
|
68
69
|
fixture : function(path) {
|
69
70
|
if (JSpec.cache[path]) return JSpec.cache[path]
|
70
|
-
function tryLoading(path) {
|
71
|
-
try { return JSpec.load(path) }
|
72
|
-
catch (e) {}
|
73
|
-
}
|
74
71
|
return JSpec.cache[path] =
|
75
|
-
tryLoading(path) ||
|
76
|
-
tryLoading('fixtures/' + path) ||
|
77
|
-
tryLoading('fixtures/' + path + '.html') ||
|
78
|
-
tryLoading('spec/' + path) ||
|
79
|
-
tryLoading('spec/fixtures/' + path) ||
|
80
|
-
tryLoading('spec/fixtures/' + path + '.html')
|
72
|
+
JSpec.tryLoading(path) ||
|
73
|
+
JSpec.tryLoading('fixtures/' + path) ||
|
74
|
+
JSpec.tryLoading('fixtures/' + path + '.html') ||
|
75
|
+
JSpec.tryLoading('spec/' + path) ||
|
76
|
+
JSpec.tryLoading('spec/fixtures/' + path) ||
|
77
|
+
JSpec.tryLoading('spec/fixtures/' + path + '.html')
|
81
78
|
}
|
82
79
|
},
|
83
80
|
|
@@ -1466,14 +1463,12 @@
|
|
1466
1463
|
/**
|
1467
1464
|
* Instantiate an XMLHttpRequest.
|
1468
1465
|
*
|
1469
|
-
* @return {
|
1466
|
+
* @return {XMLHttpRequest, ActiveXObject}
|
1470
1467
|
* @api private
|
1471
1468
|
*/
|
1472
1469
|
|
1473
1470
|
xhr : function() {
|
1474
|
-
return
|
1475
|
-
new XMLHttpRequest:
|
1476
|
-
new ActiveXObject("Microsoft.XMLHTTP")
|
1471
|
+
return new (JSpec.request || ActiveXObject("Microsoft.XMLHTTP"))
|
1477
1472
|
},
|
1478
1473
|
|
1479
1474
|
/**
|
@@ -1484,7 +1479,21 @@
|
|
1484
1479
|
*/
|
1485
1480
|
|
1486
1481
|
hasXhr : function() {
|
1487
|
-
return
|
1482
|
+
return JSpec.request || 'ActiveXObject' in main
|
1483
|
+
},
|
1484
|
+
|
1485
|
+
/**
|
1486
|
+
* Try loading _file_ returning the contents
|
1487
|
+
* string or null. Chain to locate / read a file.
|
1488
|
+
*
|
1489
|
+
* @param {string} file
|
1490
|
+
* @return {string}
|
1491
|
+
* @api public
|
1492
|
+
*/
|
1493
|
+
|
1494
|
+
tryLoading : function(file) {
|
1495
|
+
try { return JSpec.load(file) }
|
1496
|
+
catch (e) {}
|
1488
1497
|
},
|
1489
1498
|
|
1490
1499
|
/**
|
data/spec/spec.jquery.xhr.js
CHANGED
@@ -9,6 +9,13 @@ describe 'jQuery'
|
|
9
9
|
})
|
10
10
|
end
|
11
11
|
|
12
|
+
it 'should work with a json fixture'
|
13
|
+
mockRequest().and_return(fixture('test.json'))
|
14
|
+
$.getJSON('foo', function(response){
|
15
|
+
response.users.tj.email.should.eql 'tj@vision-media.ca'
|
16
|
+
})
|
17
|
+
end
|
18
|
+
|
12
19
|
it 'should not invoke callback when response status is 4xx'
|
13
20
|
mockRequest().and_return('foo', 'text/plain', 404)
|
14
21
|
$.getJSON('foo', function(){
|
data/spec/spec.utils.js
CHANGED
data/spec/spec.xhr.js
CHANGED
@@ -16,14 +16,14 @@ describe 'JSpec'
|
|
16
16
|
describe 'mock response'
|
17
17
|
before_each
|
18
18
|
mockRequest().and_return('bar', 'text/plain', 200, { 'x-foo' : 'bar' })
|
19
|
-
request =
|
19
|
+
request = new XMLHttpRequest
|
20
20
|
request.open('GET', 'path', false, 'foo', 'bar')
|
21
21
|
request.send('foo=bar')
|
22
22
|
end
|
23
23
|
|
24
24
|
it 'should allow setting respose status'
|
25
25
|
mockRequest().and_return('bar', 'text/plain', 404)
|
26
|
-
request =
|
26
|
+
request = new XMLHttpRequest
|
27
27
|
request.open('GET', 'path', false)
|
28
28
|
request.send(null)
|
29
29
|
request.status.should.eql 404
|
@@ -31,7 +31,7 @@ describe 'JSpec'
|
|
31
31
|
end
|
32
32
|
|
33
33
|
it 'should default readyState to 0'
|
34
|
-
request =
|
34
|
+
request = new XMLHttpRequest
|
35
35
|
request.readyState.should.eql 0
|
36
36
|
end
|
37
37
|
|
@@ -83,10 +83,17 @@ describe 'JSpec'
|
|
83
83
|
request.getResponseHeader('X-Foo').should.eql 'bar'
|
84
84
|
end
|
85
85
|
|
86
|
+
it 'should not interrupt JSpec request related functionality'
|
87
|
+
mockRequest().and_return('fail')
|
88
|
+
(JSpec.tryLoading('async') || JSpec.tryLoading('spec/async')).should.eql 'cookies!'
|
89
|
+
fixture('test').should.eql '<p>test</p>'
|
90
|
+
fixture('test.json').should.include '{ user'
|
91
|
+
end
|
92
|
+
|
86
93
|
describe '.onreadystatechange()'
|
87
94
|
before_each
|
88
95
|
mockRequest().and_return('bar', 'text/plain', 200)
|
89
|
-
request =
|
96
|
+
request = new XMLHttpRequest
|
90
97
|
end
|
91
98
|
|
92
99
|
it 'should be called when opening request in context to the request'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: visionmedia-jspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.8.
|
4
|
+
version: 2.8.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- TJ Holowaychuk
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-07-
|
12
|
+
date: 2009-07-29 00:00:00 -07:00
|
13
13
|
default_executable: jspec
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|