Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
J
jquery
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
夏彬
jquery
Commits
537e9ced
Commit
537e9ced
authored
Dec 11, 2013
by
cjqed
Committed by
Dave Methvin
Dec 23, 2013
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Tests: Avoid use of QUnit.reset() in tests by splitting them
Fix #14040 Close gh-1457
parent
23db9944
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
545 additions
and
225 deletions
+545
-225
AUTHORS.txt
AUTHORS.txt
+1
-0
testrunner.js
test/data/testrunner.js
+7
-11
attributes.js
test/unit/attributes.js
+15
-8
core.js
test/unit/core.js
+0
-2
css.js
test/unit/css.js
+9
-4
effects.js
test/unit/effects.js
+0
-2
manipulation.js
test/unit/manipulation.js
+453
-172
wrap.js
test/unit/wrap.js
+60
-26
No files found.
AUTHORS.txt
View file @
537e9ced
...
...
@@ -213,3 +213,4 @@ Ilya Kantor <iliakan@gmail.com>
hongymagic <d.hong@me.com>
John Paul <john@johnkpaul.com>
Jakob Stoeck <jakob@pokermania.de>
Christopher Jones <chris@cjqed.com>
test/data/testrunner.js
View file @
537e9ced
...
...
@@ -11,9 +11,8 @@ var oldStart = window.start,
oldActive
=
0
,
expectedDataKeys
=
{},
reset
,
splice
=
[].
splice
,
reset
=
QUnit
.
reset
,
ajaxSettings
=
jQuery
.
ajaxSettings
;
...
...
@@ -157,8 +156,6 @@ window.moduleTeardown = function() {
oldActive
=
jQuery
.
active
;
}
// Allow QUnit.reset to clean up any attached elements before checking for leaks
QUnit
.
reset
();
for
(
i
in
jQuery
.
cache
)
{
++
cacheLength
;
...
...
@@ -187,8 +184,8 @@ QUnit.done(function() {
supportjQuery
(
"#qunit ~ *"
).
remove
();
});
// jQuery-specific
QUnit.reset
QUnit
.
reset
=
function
()
{
// jQuery-specific
post-test cleanup
reset
=
function
()
{
// Ensure jQuery events and data on the fixture are properly removed
jQuery
(
"#qunit-fixture"
).
empty
();
...
...
@@ -205,11 +202,11 @@ QUnit.reset = function() {
// Cleanup globals
Globals
.
cleanup
();
// Let QUnit reset the fixture
reset
.
apply
(
this
,
arguments
);
jQuery
(
"#qunit-fixture"
)[
0
].
innerHTML
=
QUnit
.
config
.
fixture
;
};
QUnit
.
testDone
(
reset
);
// Register globals for cleanup and the cleanup code itself
// Explanation at http://perfectionkills.com/understanding-delete/#ie_bugs
window
.
Globals
=
(
function
()
{
...
...
@@ -351,12 +348,11 @@ function testSubproject( label, subProjectURL, risTests, complete ) {
// WARNING: UNDOCUMENTED INTERFACE
QUnit
.
config
.
fixture
=
fixtureHTML
;
QUnit
.
reset
();
reset
();
if
(
supportjQuery
(
"#qunit-fixture"
).
html
()
!==
fixtureHTML
)
{
ok
(
false
,
"Copied subproject fixture"
);
return
;
}
fixtureReplaced
=
true
;
}
...
...
test/unit/attributes.js
View file @
537e9ced
...
...
@@ -635,7 +635,8 @@ test( "removeAttr(Multi String, variable space width)", function() {
});
test
(
"prop(String, Object)"
,
function
()
{
expect
(
31
);
expect
(
17
);
equal
(
jQuery
(
"#text1"
).
prop
(
"value"
),
"Test"
,
"Check for value attribute"
);
equal
(
jQuery
(
"#text1"
).
prop
(
"value"
,
"Test2"
).
prop
(
"defaultValue"
),
"Test"
,
"Check for defaultValue attribute"
);
...
...
@@ -663,7 +664,11 @@ test( "prop(String, Object)", function() {
equal
(
jQuery
(
"#table"
).
prop
(
"useMap"
),
1
,
"Check setting and retrieving useMap"
);
jQuery
(
"#table"
).
prop
(
"frameborder"
,
1
);
equal
(
jQuery
(
"#table"
).
prop
(
"frameBorder"
),
1
,
"Check setting and retrieving frameBorder"
);
QUnit
.
reset
();
});
test
(
"prop(String, Object) on null/undefined"
,
function
()
{
expect
(
14
);
var
select
,
optgroup
,
option
,
attributeNode
,
commentNode
,
textNode
,
obj
,
$form
,
body
=
document
.
body
,
...
...
@@ -795,16 +800,20 @@ test( "removeProp(String)", function() {
});
});
test
(
"val()"
,
function
()
{
expect
(
21
+
(
jQuery
.
fn
.
serialize
?
6
:
0
)
);
test
(
"val() after modification"
,
function
()
{
var
checks
,
$button
;
expect
(
1
)
;
document
.
getElementById
(
"text1"
).
value
=
"bla"
;
equal
(
jQuery
(
"#text1"
).
val
(),
"bla"
,
"Check for modified value of input element"
);
});
QUnit
.
reset
();
test
(
"val()"
,
function
()
{
expect
(
20
+
(
jQuery
.
fn
.
serialize
?
6
:
0
)
);
var
checks
,
$button
;
equal
(
jQuery
(
"#text1"
).
val
(),
"Test"
,
"Check for value of input element"
);
// ticket #1714 this caused a JS error in IE
equal
(
jQuery
(
"#first"
).
val
(),
""
,
"Check a paragraph element to see if it has a value"
);
...
...
@@ -919,7 +928,6 @@ if ( "value" in document.createElement("meter") &&
var
testVal
=
function
(
valueObj
)
{
expect
(
8
);
QUnit
.
reset
();
jQuery
(
"#text1"
).
val
(
valueObj
(
"test"
)
);
equal
(
document
.
getElementById
(
"text1"
).
value
,
"test"
,
"Check for modified (via val(String)) value of input element"
);
...
...
@@ -974,7 +982,6 @@ test( "val(Array of Numbers) (Bug #7123)", function() {
test
(
"val(Function) with incoming value"
,
function
()
{
expect
(
10
);
QUnit
.
reset
();
var
oldVal
=
jQuery
(
"#text1"
).
val
();
jQuery
(
"#text1"
).
val
(
function
(
i
,
val
)
{
...
...
test/unit/core.js
View file @
537e9ced
...
...
@@ -587,7 +587,6 @@ test("jQuery('html')", function() {
var
s
,
div
,
j
;
QUnit
.
reset
();
jQuery
[
"foo"
]
=
false
;
s
=
jQuery
(
"<script>jQuery.foo='test';</script>"
)[
0
];
ok
(
s
,
"Creating a script"
);
...
...
@@ -603,7 +602,6 @@ test("jQuery('html')", function() {
equal
(
div
.
childNodes
[
1
].
nodeType
,
1
,
"Paragraph."
);
equal
(
div
.
childNodes
[
1
].
firstChild
.
nodeType
,
3
,
"Paragraph text."
);
QUnit
.
reset
();
ok
(
jQuery
(
"<link rel='stylesheet'/>"
)[
0
],
"Creating a link"
);
ok
(
!
jQuery
(
"<script/>"
)[
0
].
parentNode
,
"Create a script"
);
...
...
test/unit/css.js
View file @
537e9ced
...
...
@@ -391,9 +391,10 @@ test("css(Object) where values are Functions with incoming values", function() {
});
test
(
"show(); hide()"
,
function
()
{
expect
(
22
);
var
hiddendiv
,
div
,
pass
,
old
,
test
;
expect
(
4
);
var
hiddendiv
,
div
;
hiddendiv
=
jQuery
(
"div.hidden"
);
hiddendiv
.
hide
();
...
...
@@ -406,8 +407,13 @@ test("show(); hide()", function() {
div
.
appendTo
(
"#qunit-fixture"
).
show
();
equal
(
div
.
css
(
"display"
),
"block"
,
"Pre-hidden div shown"
);
QUnit
.
reset
();
});
test
(
"show();"
,
function
()
{
expect
(
18
);
var
hiddendiv
,
div
,
pass
,
old
,
test
;
hiddendiv
=
jQuery
(
"div.hidden"
);
equal
(
jQuery
.
css
(
hiddendiv
[
0
],
"display"
),
"none"
,
"hiddendiv is display: none"
);
...
...
@@ -620,7 +626,6 @@ test("toggle()", function() {
test
(
"hide hidden elements (bug #7141)"
,
function
()
{
expect
(
3
);
QUnit
.
reset
();
var
div
=
jQuery
(
"<div style='display:none'></div>"
).
appendTo
(
"#qunit-fixture"
);
equal
(
div
.
css
(
"display"
),
"none"
,
"Element is hidden by default"
);
...
...
test/unit/effects.js
View file @
537e9ced
...
...
@@ -130,7 +130,6 @@ test("show()", 27, function () {
test
(
"show(Number) - other displays"
,
function
()
{
expect
(
15
);
QUnit
.
reset
();
// #show-tests * is set display: none in CSS
jQuery
(
"#qunit-fixture"
).
append
(
"<div id='show-tests'><div><p><a href='#'></a></p><code></code><pre></pre><span></span></div><table><thead><tr><th></th></tr></thead><tbody><tr><td></td></tr></tbody></table><ul><li></li></ul></div><table id='test-table'></table>"
);
...
...
@@ -1221,7 +1220,6 @@ test("animate with CSS shorthand properties", function(){
test
(
"hide hidden elements, with animation (bug #7141)"
,
function
()
{
expect
(
3
);
QUnit
.
reset
();
var
div
=
jQuery
(
"<div style='display:none'></div>"
).
appendTo
(
"#qunit-fixture"
);
equal
(
div
.
css
(
"display"
),
"none"
,
"Element is hidden by default"
);
...
...
test/unit/manipulation.js
View file @
537e9ced
This diff is collapsed.
Click to expand it.
test/unit/wrap.js
View file @
537e9ced
...
...
@@ -31,12 +31,10 @@ function testWrap( val ) {
equal
(
defaultText
,
result
,
"Check for wrapping of on-the-fly html"
);
ok
(
jQuery
(
"#first"
).
parent
().
parent
().
is
(
".red"
),
"Check if wrapper has class 'red'"
);
QUnit
.
reset
();
result
=
jQuery
(
"#first"
).
wrap
(
val
(
document
.
getElementById
(
"empty"
))
).
parent
();
ok
(
result
.
is
(
"ol"
),
"Check for element wrapping"
);
equal
(
result
.
text
(),
defaultText
,
"Check for element wrapping"
);
QUnit
.
reset
();
jQuery
(
"#check1"
).
on
(
"click"
,
function
()
{
var
checkbox
=
this
;
...
...
@@ -95,9 +93,6 @@ function testWrap( val ) {
equal
(
j
[
0
].
parentNode
.
nodeName
.
toLowerCase
(),
"div"
,
"Wrapping works."
);
j
.
parent
().
trigger
(
"click"
);
// clean up attached elements
QUnit
.
reset
();
}
test
(
"wrap(String|Element)"
,
function
()
{
...
...
@@ -135,15 +130,15 @@ test( "wrap(String) consecutive elements (#10177)", function() {
});
});
function
testWrapAll
(
val
)
{
test
(
"wrapAll(String)"
,
function
(
)
{
expect
(
8
);
expect
(
5
);
var
prev
,
p
,
result
;
prev
=
jQuery
(
"#firstp"
)[
0
].
previousSibling
;
p
=
jQuery
(
"#firstp,#first"
)[
0
].
parentNode
;
result
=
jQuery
(
"#firstp,#first"
).
wrapAll
(
val
(
"<div class='red'><div class='tmp'></div></div>"
)
);
result
=
jQuery
(
"#firstp,#first"
).
wrapAll
(
"<div class='red'><div class='tmp'></div></div>"
);
equal
(
result
.
parent
().
length
,
1
,
"Check for wrapping of on-the-fly html"
);
ok
(
jQuery
(
"#first"
).
parent
().
parent
().
is
(
".red"
),
"Check if wrapper has class 'red'"
);
...
...
@@ -151,26 +146,66 @@ function testWrapAll( val ) {
equal
(
jQuery
(
"#first"
).
parent
().
parent
()[
0
].
previousSibling
,
prev
,
"Correct Previous Sibling"
);
equal
(
jQuery
(
"#first"
).
parent
().
parent
()[
0
].
parentNode
,
p
,
"Correct Parent"
);
QUnit
.
reset
();
});
test
(
"wrapAll(Element)"
,
function
()
{
expect
(
3
);
var
prev
,
p
;
prev
=
jQuery
(
"#firstp"
)[
0
].
previousSibling
;
p
=
jQuery
(
"#first"
)[
0
].
parentNode
;
jQuery
(
"#firstp,#first"
).
wrapAll
(
val
(
document
.
getElementById
(
"empty"
)
)
);
jQuery
(
"#firstp,#first"
).
wrapAll
(
document
.
getElementById
(
"empty"
)
);
equal
(
jQuery
(
"#first"
).
parent
()[
0
],
jQuery
(
"#firstp"
).
parent
()[
0
],
"Same Parent"
);
equal
(
jQuery
(
"#first"
).
parent
()[
0
].
previousSibling
,
prev
,
"Correct Previous Sibling"
);
equal
(
jQuery
(
"#first"
).
parent
()[
0
].
parentNode
,
p
,
"Correct Parent"
);
}
});
test
(
"wrapInner(String)"
,
function
()
{
expect
(
6
);
test
(
"wrapAll(String|Element)"
,
function
()
{
testWrapAll
(
manipulationBareObj
);
var
num
;
num
=
jQuery
(
"#first"
).
children
().
length
;
jQuery
(
"#first"
).
wrapInner
(
"<div class='red'><div id='tmp'></div></div>"
);
equal
(
jQuery
(
"#first"
).
children
().
length
,
1
,
"Only one child"
);
ok
(
jQuery
(
"#first"
).
children
().
is
(
".red"
),
"Verify Right Element"
);
equal
(
jQuery
(
"#first"
).
children
().
children
().
children
().
length
,
num
,
"Verify Elements Intact"
);
num
=
jQuery
(
"#first"
).
html
(
"foo<div>test</div><div>test2</div>"
).
children
().
length
;
jQuery
(
"#first"
).
wrapInner
(
"<div class='red'><div id='tmp'></div></div>"
);
equal
(
jQuery
(
"#first"
).
children
().
length
,
1
,
"Only one child"
);
ok
(
jQuery
(
"#first"
).
children
().
is
(
".red"
),
"Verify Right Element"
);
equal
(
jQuery
(
"#first"
).
children
().
children
().
children
().
length
,
num
,
"Verify Elements Intact"
);
});
function
testWrapInner
(
val
)
{
test
(
"wrapInner(Element)"
,
function
(
)
{
expect
(
11
);
expect
(
5
);
var
num
,
div
=
jQuery
(
"<div/>"
);
num
=
jQuery
(
"#first"
).
children
().
length
;
jQuery
(
"#first"
).
wrapInner
(
document
.
getElementById
(
"empty"
)
);
equal
(
jQuery
(
"#first"
).
children
().
length
,
1
,
"Only one child"
);
ok
(
jQuery
(
"#first"
).
children
().
is
(
"#empty"
),
"Verify Right Element"
);
equal
(
jQuery
(
"#first"
).
children
().
children
().
length
,
num
,
"Verify Elements Intact"
);
div
.
wrapInner
(
"<span></span>"
);
equal
(
div
.
children
().
length
,
1
,
"The contents were wrapped."
);
equal
(
div
.
children
()[
0
].
nodeName
.
toLowerCase
(),
"span"
,
"A span was inserted."
);
});
test
(
"wrapInner(Function) returns String"
,
function
()
{
expect
(
6
);
var
num
,
val
=
manipulationFunctionReturningObj
;
num
=
jQuery
(
"#first"
).
children
().
length
;
jQuery
(
"#first"
).
wrapInner
(
val
(
"<div class='red'><div id='tmp'></div></div>"
)
);
...
...
@@ -178,15 +213,22 @@ function testWrapInner( val ) {
equal
(
jQuery
(
"#first"
).
children
().
length
,
1
,
"Only one child"
);
ok
(
jQuery
(
"#first"
).
children
().
is
(
".red"
),
"Verify Right Element"
);
equal
(
jQuery
(
"#first"
).
children
().
children
().
children
().
length
,
num
,
"Verify Elements Intact"
);
QUnit
.
reset
();
num
=
jQuery
(
"#first"
).
html
(
"foo<div>test</div><div>test2</div>"
).
children
().
length
;
jQuery
(
"#first"
).
wrapInner
(
val
(
"<div class='red'><div id='tmp'></div></div>"
)
);
equal
(
jQuery
(
"#first"
).
children
().
length
,
1
,
"Only one child"
);
ok
(
jQuery
(
"#first"
).
children
().
is
(
".red"
),
"Verify Right Element"
);
equal
(
jQuery
(
"#first"
).
children
().
children
().
children
().
length
,
num
,
"Verify Elements Intact"
);
});
test
(
"wrapInner(Function) returns Element"
,
function
()
{
QUnit
.
reset
();
expect
(
5
);
var
num
,
val
=
manipulationFunctionReturningObj
,
div
=
jQuery
(
"<div/>"
);
num
=
jQuery
(
"#first"
).
children
().
length
;
jQuery
(
"#first"
).
wrapInner
(
val
(
document
.
getElementById
(
"empty"
))
);
equal
(
jQuery
(
"#first"
).
children
().
length
,
1
,
"Only one child"
);
...
...
@@ -196,14 +238,6 @@ function testWrapInner( val ) {
div
.
wrapInner
(
val
(
"<span></span>"
)
);
equal
(
div
.
children
().
length
,
1
,
"The contents were wrapped."
);
equal
(
div
.
children
()[
0
].
nodeName
.
toLowerCase
(),
"span"
,
"A span was inserted."
);
}
test
(
"wrapInner(String|Element)"
,
function
()
{
testWrapInner
(
manipulationBareObj
);
});
test
(
"wrapInner(Function)"
,
function
()
{
testWrapInner
(
manipulationFunctionReturningObj
);
});
test
(
"unwrap()"
,
function
()
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment