chai-jquery-rails 0.0.2 → 0.0.3
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/.gitmodules +1 -1
- data/README.md +1 -1
- data/lib/chai-jquery-rails/version.rb +1 -1
- data/vendor/assets/javascripts/chai-jquery.js +43 -25
- metadata +4 -4
data/.gitmodules
CHANGED
data/README.md
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
[chai-jquery](https://github.com/chaijs/chai-jquery) is a plugin for
|
4
4
|
[chai](http://chaijs.com/) that gives you jquery expectation helpers.
|
5
5
|
|
6
|
-
This is a simple gem that adds chai-jquery to rails asset pipline.
|
6
|
+
This is a simple gem that adds chai-jquery to the rails asset pipline.
|
7
7
|
|
8
8
|
|
9
9
|
## Installation
|
@@ -9,9 +9,8 @@
|
|
9
9
|
return chaiJquery;
|
10
10
|
});
|
11
11
|
} else {
|
12
|
-
// Other environment (usually <script> tag):
|
13
|
-
|
14
|
-
global.chai.use(chaiJquery);
|
12
|
+
// Other environment (usually <script> tag): plug in to global chai instance directly.
|
13
|
+
chai.use(chaiJquery);
|
15
14
|
}
|
16
15
|
}(function (chai, utils) {
|
17
16
|
var inspect = utils.inspect,
|
@@ -28,30 +27,35 @@
|
|
28
27
|
return el.html();
|
29
28
|
};
|
30
29
|
|
31
|
-
|
32
|
-
|
30
|
+
var props = {attr: 'attribute', css: 'CSS property'};
|
31
|
+
for (var prop in props) {
|
32
|
+
(function (prop, description) {
|
33
|
+
chai.Assertion.addMethod(prop, function (name, val) {
|
34
|
+
var actual = flag(this, 'object')[prop](name);
|
33
35
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
36
|
+
if (!flag(this, 'negate') || undefined === val) {
|
37
|
+
this.assert(
|
38
|
+
undefined !== actual
|
39
|
+
, 'expected #{this} to have a #{exp} ' + description
|
40
|
+
, 'expected #{this} not to have a #{exp} ' + description
|
41
|
+
, name
|
42
|
+
);
|
43
|
+
}
|
42
44
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
45
|
+
if (undefined !== val) {
|
46
|
+
this.assert(
|
47
|
+
val === actual
|
48
|
+
, 'expected #{this} to have a ' + inspect(name) + ' ' + description + ' with the value #{exp}, but the value was #{act}'
|
49
|
+
, 'expected #{this} not to have a ' + inspect(name) + ' ' + description + ' with the value #{act}'
|
50
|
+
, val
|
51
|
+
, actual
|
52
|
+
);
|
53
|
+
}
|
52
54
|
|
53
|
-
|
54
|
-
|
55
|
+
flag(this, 'object', actual);
|
56
|
+
});
|
57
|
+
})(prop, props[prop]);
|
58
|
+
}
|
55
59
|
|
56
60
|
chai.Assertion.addMethod('data', function (name, val) {
|
57
61
|
// Work around a chai bug (https://github.com/logicalparadox/chai/issues/16)
|
@@ -62,7 +66,7 @@
|
|
62
66
|
var assertion = new chai.Assertion(flag(this, 'object').data());
|
63
67
|
if (flag(this, 'negate'))
|
64
68
|
assertion = assertion.not;
|
65
|
-
assertion.property(name, val);
|
69
|
+
return assertion.property(name, val);
|
66
70
|
});
|
67
71
|
|
68
72
|
chai.Assertion.addMethod('class', function (className) {
|
@@ -133,6 +137,20 @@
|
|
133
137
|
};
|
134
138
|
});
|
135
139
|
|
140
|
+
chai.Assertion.overwriteProperty('empty', function (_super) {
|
141
|
+
return function () {
|
142
|
+
var obj = flag(this, 'object');
|
143
|
+
if (obj instanceof jQuery) {
|
144
|
+
this.assert(
|
145
|
+
obj.is(':empty')
|
146
|
+
, 'expected #{this} to be empty'
|
147
|
+
, 'expected #{this} not to be empty');
|
148
|
+
} else {
|
149
|
+
_super.apply(this, arguments);
|
150
|
+
}
|
151
|
+
};
|
152
|
+
});
|
153
|
+
|
136
154
|
chai.Assertion.overwriteProperty('be', function (_super) {
|
137
155
|
return function () {
|
138
156
|
var be = function (selector) {
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chai-jquery-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-09-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|
@@ -75,7 +75,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
75
75
|
version: '0'
|
76
76
|
segments:
|
77
77
|
- 0
|
78
|
-
hash: -
|
78
|
+
hash: -401249594129084681
|
79
79
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
80
80
|
none: false
|
81
81
|
requirements:
|
@@ -84,7 +84,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
84
84
|
version: '0'
|
85
85
|
segments:
|
86
86
|
- 0
|
87
|
-
hash: -
|
87
|
+
hash: -401249594129084681
|
88
88
|
requirements: []
|
89
89
|
rubyforge_project:
|
90
90
|
rubygems_version: 1.8.24
|