Skip to content

Commit ca3e767

Browse files
committed
Tests: assert.push -> assert.pushResult
1 parent 935c685 commit ca3e767

File tree

6 files changed

+170
-33
lines changed

6 files changed

+170
-33
lines changed

tests/lib/qunit-assert-domequal.js

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,16 @@ var domEqual = QUnit.assert.domEqual = function( selector, modifier, message ) {
1515
var assert = this;
1616

1717
// Get current state prior to modifier
18-
var expected = extract( selector, message );
18+
var expected = extract( assert, selector, message );
1919

2020
function done() {
21-
var actual = extract( selector, message );
22-
assert.push( QUnit.equiv( actual, expected ), actual, expected, message );
21+
var actual = extract( assert, selector, message );
22+
assert.pushResult( {
23+
result: QUnit.equiv( actual, expected ),
24+
actual: actual,
25+
expected: expected,
26+
message: message
27+
} );
2328
}
2429

2530
// Run modifier (async or sync), then compare state via done()
@@ -116,11 +121,15 @@ function jQueryVersionSince( version ) {
116121
return compareVersions( $.fn.jquery, version ) >= 0;
117122
}
118123

119-
function extract( selector, message ) {
124+
function extract( assert, selector, message ) {
120125
var elem = $( selector );
121126
if ( !elem.length ) {
122-
QUnit.push( false, null, null,
123-
"domEqual failed, can't extract " + selector + ", message was: " + message );
127+
assert.pushResult( {
128+
result: false,
129+
actual: null,
130+
expected: null,
131+
message: "domEqual failed, can't extract " + selector + ", message was: " + message
132+
} );
124133
return;
125134
}
126135

@@ -190,7 +199,7 @@ function extract( selector, message ) {
190199
children = elem.children();
191200
if ( children.length ) {
192201
result.children = elem.children().map( function() {
193-
return extract( $( this ) );
202+
return extract( assert, $( this ) );
194203
} ).get();
195204
} else {
196205
result.text = elem.text();

tests/lib/vendor/qunit-assert-classes/qunit-assert-classes.js

Lines changed: 79 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// With custom modifications - all are marked with
2+
// a "Custom modification" comment.
13
( function( factory ) {
24
if ( typeof define === "function" && define.amd ) {
35

@@ -80,15 +82,27 @@
8082

8183
message = message || pluralize( "Element must have class", classArray );
8284

83-
this.push( !results.missing.length, results.found.join( " " ), classes, message );
85+
// Custom modification: push -> pushResult
86+
this.pushResult( {
87+
result: !results.missing.length,
88+
actual: results.found.join( " " ),
89+
expected: classes,
90+
message: message
91+
} );
8492
},
8593
lacksClasses: function( element, classes, message ) {
8694
var classArray = splitClasses( classes ),
8795
results = check( element, classArray );
8896

8997
message = message || pluralize( "Element must not have class", classArray );
9098

91-
this.push( !results.found.length, results.found.join( " " ), classes, message );
99+
// Custom modification: push -> pushResult
100+
this.pushResult( {
101+
result: !results.found.length,
102+
actual: results.found.join( " " ),
103+
expected: classes,
104+
message: message
105+
} );
92106
},
93107
hasClassesStrict: function( element, classes, message ) {
94108
var result,
@@ -101,49 +115,91 @@
101115
splitClasses( results.element.getAttribute( "class" ) ).length ===
102116
results.found.length;
103117

104-
this.push( result, results.found.join( " " ), classes, message );
118+
// Custom modification: push -> pushResult
119+
this.pushResult( {
120+
result: result,
121+
actual: results.found.join( " " ),
122+
expected: classes,
123+
message: message
124+
} );
105125
},
106126
hasClassRegex: function( element, regex, message ) {
107127
var results = check( element, regex );
108128

109129
message = message || "Element must have class matching " + regex;
110130

111-
this.push( !!results.found.length, results.found.join( " " ), regex, message );
131+
// Custom modification: push -> pushResult
132+
this.pushResult( {
133+
result: !!results.found.length,
134+
actual: results.found.join( " " ),
135+
expected: regex,
136+
message: message
137+
} );
112138
},
113139
lacksClassRegex: function( element, regex, message ) {
114140
var results = check( element, regex );
115141

116142
message = message || "Element must not have class matching " + regex;
117143

118-
this.push( results.missing.length, results.missing.join( " " ), regex, message );
144+
// Custom modification: push -> pushResult
145+
this.pushResult( {
146+
result: results.missing.length,
147+
actual: results.missing.join( " " ),
148+
expected: regex,
149+
message: message
150+
} );
119151
},
120152
hasClassStart: function( element, partialClass, message ) {
121153
var results = check( element, new RegExp( "^" + partialClass ) );
122154

123155
message = message || "Element must have class starting with " + partialClass;
124156

125-
this.push( results.found.length, results.found.join( " " ), partialClass, message );
157+
// Custom modification: push -> pushResult
158+
this.pushResult( {
159+
result: results.found.length,
160+
actual: results.found.join( " " ),
161+
expected: partialClass,
162+
message: message
163+
} );
126164
},
127165
lacksClassStart: function( element, partialClass, message ) {
128166
var results = check( element, new RegExp( "^" + partialClass ) );
129167

130168
message = message || "Element must not have class starting with " + partialClass;
131169

132-
this.push( results.missing.length, results.missing.join( " " ), partialClass, message );
170+
// Custom modification: push -> pushResult
171+
this.pushResult( {
172+
result: results.missing.length,
173+
actual: results.missing.join( " " ),
174+
expected: partialClass,
175+
message: message
176+
} );
133177
},
134178
hasClassPartial: function( element, partialClass, message ) {
135179
var results = check( element, new RegExp( partialClass ) );
136180

137181
message = message || "Element must have class containing '" + partialClass + "'";
138182

139-
this.push( results.found.length, results.found.join( " " ), partialClass, message );
183+
// Custom modification: push -> pushResult
184+
this.pushResult( {
185+
result: results.found.length,
186+
actual: results.found.join( " " ),
187+
expected: partialClass,
188+
message: message
189+
} );
140190
},
141191
lacksClassPartial: function( element, partialClass, message ) {
142192
var results = check( element, new RegExp( partialClass ) );
143193

144194
message = message || "Element must not have class containing '" + partialClass + "'";
145195

146-
this.push( results.missing.length, results.missing.join( " " ), partialClass, message );
196+
// Custom modification: push -> pushResult
197+
this.pushResult( {
198+
result: results.missing.length,
199+
actual: results.missing.join( " " ),
200+
expected: partialClass,
201+
message: message
202+
} );
147203
},
148204
lacksAllClasses: function( element, message ) {
149205
element = element.jquery ? element[ 0 ] : element;
@@ -153,7 +209,13 @@
153209

154210
message = message || "Element must not have any classes";
155211

156-
this.push( !classes.length, !classes.length, true, message );
212+
// Custom modification: push -> pushResult
213+
this.pushResult( {
214+
result: !classes.length,
215+
actual: !classes.length,
216+
expected: true,
217+
message: message
218+
} );
157219
},
158220
hasSomeClass: function( element, message ) {
159221
element = element.jquery ? element[ 0 ] : element;
@@ -163,7 +225,13 @@
163225

164226
message = message || "Element must have a class";
165227

166-
this.push( classes.length, classes.length, true, message );
228+
// Custom modification: push -> pushResult
229+
this.pushResult( {
230+
result: classes.length,
231+
actual: classes.length,
232+
expected: true,
233+
message: message
234+
} );
167235
}
168236
});
169237
} ) );

tests/lib/vendor/qunit-assert-close/qunit-assert-close.js

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// With custom modifications - all are marked with
2+
// a "Custom modification" comment.
13
(function(factory) {
24

35
// NOTE:
@@ -75,7 +77,13 @@
7577

7678
message = message || (actual + " should be within " + maxDifference + " (inclusive) of " + expected + (result ? "" : ". Actual: " + actualDiff));
7779

78-
pushContext.push(result, actual, expected, message);
80+
// Custom modification: push -> pushResult
81+
pushContext.pushResult({
82+
result: result,
83+
actual: actual,
84+
expected: expected,
85+
message: message
86+
});
7987
}
8088

8189

@@ -109,7 +117,13 @@
109117
}
110118
message = message || (actual + " should be within " + maxPercentDifference + "% (inclusive) of " + expected + (result ? "" : ". Actual: " + actualDiff + "%"));
111119

112-
pushContext.push(result, actual, expected, message);
120+
// Custom modification: push -> pushResult
121+
pushContext.pushResult({
122+
result: result,
123+
actual: actual,
124+
expected: expected,
125+
message: message
126+
});
113127
};
114128

115129

@@ -131,7 +145,13 @@
131145

132146
message = message || (actual + " should not be within " + minDifference + " (exclusive) of " + expected + (result ? "" : ". Actual: " + actualDiff));
133147

134-
pushContext.push(result, actual, expected, message);
148+
// Custom modification: push -> pushResult
149+
pushContext.pushResult({
150+
result: result,
151+
actual: actual,
152+
expected: expected,
153+
message: message
154+
});
135155
}
136156

137157

@@ -165,7 +185,13 @@
165185
}
166186
message = message || (actual + " should not be within " + minPercentDifference + "% (exclusive) of " + expected + (result ? "" : ". Actual: " + actualDiff + "%"));
167187

168-
pushContext.push(result, actual, expected, message);
188+
// Custom modification: push -> pushResult
189+
pushContext.pushResult({
190+
result: result,
191+
actual: actual,
192+
expected: expected,
193+
message: message
194+
});
169195
};
170196

171197

tests/lib/vendor/qunit-composite/qunit-composite.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
/**
22
* QUnit Composite
33
*
4+
* With custom modifications - all are marked with
5+
* a "Custom modification" comment.
6+
*
47
* https://github.com/JamesMGreene/qunit-composite
58
*
69
* Copyright jQuery Foundation and other contributors
@@ -93,7 +96,12 @@ function initIframe() {
9396
// Pass all test details through to the main page
9497
var message = ( moduleName ? moduleName + ": " : "" ) + testName + ": " + ( data.message || ( data.result ? "okay" : "failed" ) );
9598
suiteAssert.expect( ++count );
96-
suiteAssert.push( data.result, data.actual, data.expected, message );
99+
suiteAssert.pushResult( {
100+
result: data.result,
101+
actual: data.actual,
102+
expected: data.expected,
103+
message: message
104+
} );
97105
});
98106

99107
// Continue the outer test when the iframe's test is done

tests/unit/core/selector.js

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,39 @@ define( [
1111
QUnit.module( "core - selectors", { afterEach: helper.moduleAfterEach } );
1212

1313
QUnit.assert.isFocusable = function( selector, msg ) {
14-
this.push( $( selector ).is( ":focusable" ), null, null,
15-
msg + " - selector " + selector + " is focusable" );
14+
this.pushResult( {
15+
result: $( selector ).is( ":focusable" ),
16+
actual: null,
17+
expected: null,
18+
message: msg + " - selector " + selector + " is focusable"
19+
} );
1620
};
1721

1822
QUnit.assert.isNotFocusable = function( selector, msg ) {
19-
this.push( $( selector ).length && !$( selector ).is( ":focusable" ), null, null,
20-
msg + " - selector " + selector + " is not focusable" );
23+
this.pushResult( {
24+
result: $( selector ).length && !$( selector ).is( ":focusable" ),
25+
actual: null,
26+
expected: null,
27+
message: msg + " - selector " + selector + " is not focusable"
28+
} );
2129
};
2230

2331
QUnit.assert.isTabbable = function( selector, msg ) {
24-
this.push( $( selector ).is( ":tabbable" ), null, null,
25-
msg + " - selector " + selector + " is tabbable" );
32+
this.pushResult( {
33+
result: $( selector ).is( ":tabbable" ),
34+
actual: null,
35+
expected: null,
36+
message: msg + " - selector " + selector + " is tabbable"
37+
} );
2638
};
2739

2840
QUnit.assert.isNotTabbable = function( selector, msg ) {
29-
this.push( $( selector ).length && !$( selector ).is( ":tabbable" ), null, null,
30-
msg + " - selector " + selector + " is not tabbable" );
41+
this.pushResult( {
42+
result: $( selector ).length && !$( selector ).is( ":tabbable" ),
43+
actual: null,
44+
expected: null,
45+
message: msg + " - selector " + selector + " is not tabbable"
46+
} );
3147
};
3248

3349
QUnit.test( "data", function( assert ) {

tests/unit/effects/core.js

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,21 @@ define( [
2323
"use strict";
2424

2525
QUnit.assert.present = function( value, array, message ) {
26-
this.push( jQuery.inArray( value, array ) !== -1, value, array, message );
26+
this.pushResult( {
27+
result: jQuery.inArray( value, array ) !== -1,
28+
actual: value,
29+
expected: array,
30+
message: message
31+
} );
2732
};
2833

2934
QUnit.assert.notPresent = function( value, array, message ) {
30-
this.push( jQuery.inArray( value, array ) === -1, value, array, message );
35+
this.pushResult( {
36+
result: jQuery.inArray( value, array ) === -1,
37+
actual: value,
38+
expected: array,
39+
message: message
40+
} );
3141
};
3242

3343
// MinDuration is used for "short" animate tests where we are only concerned about the final

0 commit comments

Comments
 (0)