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
48bd8b50
Commit
48bd8b50
authored
Nov 13, 2012
by
Richard Gibson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
No ticket: speedup effects tests
parent
e78cfb1a
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
55 additions
and
93 deletions
+55
-93
index.html
test/index.html
+3
-1
attributes.js
test/unit/attributes.js
+2
-4
effects.js
test/unit/effects.js
+50
-88
No files found.
test/index.html
View file @
48bd8b50
...
@@ -299,13 +299,15 @@ Z</textarea>
...
@@ -299,13 +299,15 @@ Z</textarea>
<div
id=
"show"
class=
'chain-test'
>
show
<div>
show
</div></div>
<div
id=
"show"
class=
'chain-test'
>
show
<div>
show
</div></div>
<div
id=
"hide"
class=
'chain-test chain-test-out'
>
hide
<div>
hide
</div></div>
<div
id=
"hide"
class=
'chain-test chain-test-out'
>
hide
<div>
hide
</div></div>
<div
id=
"easehide"
class=
'chain-test chain-test-out'
>
hide
<div>
hide
</div></div>
<div
id=
"togglein"
class=
'chain-test'
>
togglein
<div>
togglein
</div></div>
<div
id=
"togglein"
class=
'chain-test'
>
togglein
<div>
togglein
</div></div>
<div
id=
"toggleout"
class=
'chain-test chain-test-out'
>
toggleout
<div>
toggleout
</div></div>
<div
id=
"toggleout"
class=
'chain-test chain-test-out'
>
toggleout
<div>
toggleout
</div></div>
<div
id=
"easetoggleout"
class=
'chain-test chain-test-out'
>
toggleout
<div>
toggleout
</div></div>
<div
id=
"slideup"
class=
'chain-test'
>
slideUp
<div>
slideUp
</div></div>
<div
id=
"slideup"
class=
'chain-test'
>
slideUp
<div>
slideUp
</div></div>
<div
id=
"slidedown"
class=
'chain-test chain-test-out'
>
slideDown
<div>
slideDown
</div></div>
<div
id=
"slidedown"
class=
'chain-test chain-test-out'
>
slideDown
<div>
slideDown
</div></div>
<div
id=
"easeslideup"
class=
'chain-test'
>
slideUp
<div>
slideUp
</div></div>
<div
id=
"slidetogglein"
class=
'chain-test'
>
slideToggleIn
<div>
slideToggleIn
</div></div>
<div
id=
"slidetogglein"
class=
'chain-test'
>
slideToggleIn
<div>
slideToggleIn
</div></div>
<div
id=
"slidetoggleout"
class=
'chain-test chain-test-out'
>
slideToggleOut
<div>
slideToggleOut
</div></div>
<div
id=
"slidetoggleout"
class=
'chain-test chain-test-out'
>
slideToggleOut
<div>
slideToggleOut
</div></div>
...
...
test/unit/attributes.js
View file @
48bd8b50
...
@@ -1026,7 +1026,7 @@ test( "addClass(Function)", function() {
...
@@ -1026,7 +1026,7 @@ test( "addClass(Function)", function() {
});
});
test
(
"addClass(Function) with incoming value"
,
function
()
{
test
(
"addClass(Function) with incoming value"
,
function
()
{
expect
(
48
);
expect
(
54
);
var
div
=
jQuery
(
"div"
),
var
div
=
jQuery
(
"div"
),
old
=
div
.
map
(
function
()
{
old
=
div
.
map
(
function
()
{
return
jQuery
(
this
).
attr
(
"class"
)
||
""
;
return
jQuery
(
this
).
attr
(
"class"
)
||
""
;
...
@@ -1101,7 +1101,7 @@ test( "removeClass(Function) - simple", function() {
...
@@ -1101,7 +1101,7 @@ test( "removeClass(Function) - simple", function() {
});
});
test
(
"removeClass(Function) with incoming value"
,
function
()
{
test
(
"removeClass(Function) with incoming value"
,
function
()
{
expect
(
48
);
expect
(
54
);
var
$divs
=
jQuery
(
"div"
).
addClass
(
"test"
),
old
=
$divs
.
map
(
function
()
{
var
$divs
=
jQuery
(
"div"
).
addClass
(
"test"
),
old
=
$divs
.
map
(
function
()
{
return
jQuery
(
this
).
attr
(
"class"
);
return
jQuery
(
this
).
attr
(
"class"
);
...
@@ -1115,8 +1115,6 @@ test( "removeClass(Function) with incoming value", function() {
...
@@ -1115,8 +1115,6 @@ test( "removeClass(Function) with incoming value", function() {
});
});
ok
(
!
$divs
.
is
(
".test"
),
"Remove Class"
);
ok
(
!
$divs
.
is
(
".test"
),
"Remove Class"
);
QUnit
.
reset
();
});
});
test
(
"removeClass() removes duplicates"
,
function
()
{
test
(
"removeClass() removes duplicates"
,
function
()
{
...
...
test/unit/effects.js
View file @
48bd8b50
...
@@ -997,94 +997,54 @@ jQuery.each({
...
@@ -997,94 +997,54 @@ jQuery.each({
});
});
});
});
jQuery
.
fn
.
saveState
=
function
(
hiddenOverflow
)
{
asyncTest
(
"Effects chaining"
,
function
()
{
var
check
=
[
"opacity"
,
"height"
,
"width"
,
"display"
,
"overflow"
];
var
remaining
=
16
,
expect
(
check
.
length
);
shrinkwrap
=
jQuery
.
support
.
shrinkWrapBlocks
,
props
=
[
"opacity"
,
"height"
,
"width"
,
"display"
,
"overflow"
],
stop
();
setup
=
function
(
name
,
selector
,
hiddenOverflow
)
{
return
this
.
each
(
function
()
{
var
$el
=
jQuery
(
selector
);
var
el
=
this
;
return
$el
.
data
(
getProps
(
$el
[
0
],
hiddenOverflow
)
).
data
(
"name"
,
name
);
el
.
save
=
{};
},
jQuery
.
each
(
check
,
function
(
i
,
c
)
{
assert
=
function
()
{
el
.
save
[
c
]
=
c
===
"overflow"
&&
hiddenOverflow
?
"hidden"
:
el
.
style
[
c
]
||
jQuery
.
css
(
el
,
c
);
var
data
=
jQuery
.
data
(
this
),
});
name
=
data
.
name
;
});
delete
data
.
name
;
};
/**
* @expose
* @context {HTMLElement}
*/
jQuery
.
checkState
=
function
()
{
var
el
=
this
;
jQuery
.
each
(
el
.
save
,
function
(
c
,
v
)
{
var
cur
=
el
.
style
[
c
]
||
jQuery
.
css
(
el
,
c
);
equal
(
cur
,
v
,
"Make sure that "
+
c
+
" is reset (Old: "
+
v
+
" Cur: "
+
cur
+
")"
);
});
// Clean up
deepEqual
(
getProps
(
this
),
data
,
name
);
jQuery
(
el
).
remove
();
jQuery
.
removeData
(
this
);
if
(
--
remaining
===
0
)
{
start
();
start
();
};
}
},
// Chaining Tests
getProps
=
function
(
el
,
hiddenOverflow
)
{
// We need to pass jQuery.support.shrinkWrapBlocks for all tests that
var
obj
=
{};
// set overflow hidden (which effect.js does for all slide*() methods and
jQuery
.
each
(
props
,
function
(
i
,
prop
)
{
// show()/hide() if a speed is given).
obj
[
prop
]
=
prop
===
"overflow"
&&
hiddenOverflow
?
"hidden"
:
el
.
style
[
prop
]
||
jQuery
.
css
(
el
,
prop
);
});
test
(
"Chain fadeOut fadeIn"
,
function
()
{
return
obj
;
jQuery
(
"#fadein div"
).
saveState
().
fadeOut
(
"fast"
).
fadeIn
(
"fast"
,
jQuery
.
checkState
);
};
});
test
(
"Chain fadeIn fadeOut"
,
function
()
{
jQuery
(
"#fadeout div"
).
saveState
().
fadeIn
(
"fast"
).
fadeOut
(
"fast"
,
jQuery
.
checkState
);
});
test
(
"Chain hide show"
,
function
()
{
jQuery
(
"#show div"
).
saveState
(
jQuery
.
support
.
shrinkWrapBlocks
).
hide
(
"fast"
).
show
(
"fast"
,
jQuery
.
checkState
);
});
test
(
"Chain show hide"
,
function
()
{
jQuery
(
"#hide div"
).
saveState
(
jQuery
.
support
.
shrinkWrapBlocks
).
show
(
"fast"
).
hide
(
"fast"
,
jQuery
.
checkState
);
});
test
(
"Chain show hide with easing and callback"
,
function
()
{
jQuery
(
"#hide div"
).
saveState
(
jQuery
.
support
.
shrinkWrapBlocks
).
show
(
"fast"
).
hide
(
"fast"
,
"linear"
,
jQuery
.
checkState
);
});
test
(
"Chain toggle in"
,
function
()
{
jQuery
(
"#togglein div"
).
saveState
(
jQuery
.
support
.
shrinkWrapBlocks
).
toggle
(
"fast"
).
toggle
(
"fast"
,
jQuery
.
checkState
);
});
test
(
"Chain toggle out"
,
function
()
{
jQuery
(
"#toggleout div"
).
saveState
(
jQuery
.
support
.
shrinkWrapBlocks
).
toggle
(
"fast"
).
toggle
(
"fast"
,
jQuery
.
checkState
);
});
test
(
"Chain toggle out with easing and callback"
,
function
()
{
jQuery
(
"#toggleout div"
).
saveState
(
jQuery
.
support
.
shrinkWrapBlocks
).
toggle
(
"fast"
).
toggle
(
"fast"
,
"linear"
,
jQuery
.
checkState
);
});
test
(
"Chain slideDown slideUp"
,
function
()
{
jQuery
(
"#slidedown div"
).
saveState
(
jQuery
.
support
.
shrinkWrapBlocks
).
slideDown
(
"fast"
).
slideUp
(
"fast"
,
jQuery
.
checkState
);
});
test
(
"Chain slideUp slideDown"
,
function
()
{
jQuery
(
"#slideup div"
).
saveState
(
jQuery
.
support
.
shrinkWrapBlocks
).
slideUp
(
"fast"
).
slideDown
(
"fast"
,
jQuery
.
checkState
);
});
test
(
"Chain slideUp slideDown with easing and callback"
,
function
()
{
jQuery
(
"#slideup div"
).
saveState
(
jQuery
.
support
.
shrinkWrapBlocks
).
slideUp
(
"fast"
).
slideDown
(
"fast"
,
"linear"
,
jQuery
.
checkState
);
});
test
(
"Chain slideToggle in"
,
function
()
{
jQuery
(
"#slidetogglein div"
).
saveState
(
jQuery
.
support
.
shrinkWrapBlocks
).
slideToggle
(
"fast"
).
slideToggle
(
"fast"
,
jQuery
.
checkState
);
});
test
(
"Chain slideToggle out"
,
function
()
{
jQuery
(
"#slidetoggleout div"
).
saveState
(
jQuery
.
support
.
shrinkWrapBlocks
).
slideToggle
(
"fast"
).
slideToggle
(
"fast"
,
jQuery
.
checkState
);
});
test
(
"Chain fadeToggle in"
,
function
()
{
jQuery
(
"#fadetogglein div"
).
saveState
().
fadeToggle
(
"fast"
).
fadeToggle
(
"fast"
,
jQuery
.
checkState
);
});
test
(
"Chain fadeToggle out"
,
function
()
{
jQuery
(
"#fadetoggleout div"
).
saveState
().
fadeToggle
(
"fast"
).
fadeToggle
(
"fast"
,
jQuery
.
checkState
);
});
test
(
"Chain fadeTo 0.5 1.0 with easing and callback)"
,
function
()
{
expect
(
remaining
);
jQuery
(
"#fadeto div"
).
saveState
().
fadeTo
(
"fast"
,
0.5
).
fadeTo
(
"fast"
,
1.0
,
"linear"
,
jQuery
.
checkState
);
// We need to pass jQuery.support.shrinkWrapBlocks for all methods that
// set overflow hidden (slide* and show/hide with speed)
setup
(
".fadeOut().fadeIn()"
,
"#fadein div"
).
fadeOut
(
"fast"
).
fadeIn
(
"fast"
,
assert
);
setup
(
".fadeIn().fadeOut()"
,
"#fadeout div"
).
fadeIn
(
"fast"
).
fadeOut
(
"fast"
,
assert
);
setup
(
".hide().show()"
,
"#show div"
,
shrinkwrap
).
hide
(
"fast"
).
show
(
"fast"
,
assert
);
setup
(
".show().hide()"
,
"#hide div"
,
shrinkwrap
).
show
(
"fast"
).
hide
(
"fast"
,
assert
);
setup
(
".show().hide(easing)"
,
"#easehide div"
,
shrinkwrap
).
show
(
"fast"
).
hide
(
"fast"
,
"linear"
,
assert
);
setup
(
".toggle().toggle() - in"
,
"#togglein div"
,
shrinkwrap
).
toggle
(
"fast"
).
toggle
(
"fast"
,
assert
);
setup
(
".toggle().toggle() - out"
,
"#toggleout div"
,
shrinkwrap
).
toggle
(
"fast"
).
toggle
(
"fast"
,
assert
);
setup
(
".toggle().toggle(easing) - out"
,
"#easetoggleout div"
,
shrinkwrap
).
toggle
(
"fast"
).
toggle
(
"fast"
,
"linear"
,
assert
);
setup
(
".slideDown().slideUp()"
,
"#slidedown div"
,
shrinkwrap
).
slideDown
(
"fast"
).
slideUp
(
"fast"
,
assert
);
setup
(
".slideUp().slideDown()"
,
"#slideup div"
,
shrinkwrap
).
slideUp
(
"fast"
).
slideDown
(
"fast"
,
assert
);
setup
(
".slideUp().slideDown(easing)"
,
"#easeslideup div"
,
shrinkwrap
).
slideUp
(
"fast"
).
slideDown
(
"fast"
,
"linear"
,
assert
);
setup
(
".slideToggle().slideToggle() - in"
,
"#slidetogglein div"
,
shrinkwrap
).
slideToggle
(
"fast"
).
slideToggle
(
"fast"
,
assert
);
setup
(
".slideToggle().slideToggle() - out"
,
"#slidetoggleout div"
,
shrinkwrap
).
slideToggle
(
"fast"
).
slideToggle
(
"fast"
,
assert
);
setup
(
".fadeToggle().fadeToggle() - in"
,
"#fadetogglein div"
).
fadeToggle
(
"fast"
).
fadeToggle
(
"fast"
,
assert
);
setup
(
".fadeToggle().fadeToggle() - out"
,
"#fadetoggleout div"
).
fadeToggle
(
"fast"
).
fadeToggle
(
"fast"
,
assert
);
setup
(
".fadeTo(0.5).fadeTo(1.0, easing)"
,
"#fadeto div"
).
fadeTo
(
"fast"
,
0.5
).
fadeTo
(
"fast"
,
1.0
,
"linear"
,
assert
);
});
});
jQuery
.
makeTest
=
function
(
text
){
jQuery
.
makeTest
=
function
(
text
){
...
@@ -1874,12 +1834,13 @@ test( "Animations with 0 duration don't ease (#12273)", 1, function() {
...
@@ -1874,12 +1834,13 @@ test( "Animations with 0 duration don't ease (#12273)", 1, function() {
jQuery
.
map
([
"toggle"
,
"slideToggle"
,
"fadeToggle"
],
function
(
method
)
{
jQuery
.
map
([
"toggle"
,
"slideToggle"
,
"fadeToggle"
],
function
(
method
)
{
// this test would look a lot better if we were using something to override
// this test would look a lot better if we were using something to override
// the default timers
// the default timers
var
duration
=
1500
;
asyncTest
(
"toggle state tests: "
+
method
+
" (#8685)"
,
function
()
{
asyncTest
(
"toggle state tests: "
+
method
+
" (#8685)"
,
function
()
{
function
secondToggle
()
{
function
secondToggle
()
{
var
stopped
=
parseFloat
(
element
.
css
(
check
)
);
var
stopped
=
parseFloat
(
element
.
css
(
check
)
);
tested
=
false
;
tested
=
false
;
element
[
method
]({
element
[
method
]({
duration
:
5000
,
duration
:
duration
,
step
:
function
(
p
,
fx
)
{
step
:
function
(
p
,
fx
)
{
if
(
fx
.
pos
>
0.1
&&
fx
.
prop
===
check
&&
!
tested
)
{
if
(
fx
.
pos
>
0.1
&&
fx
.
prop
===
check
&&
!
tested
)
{
tested
=
true
;
tested
=
true
;
...
@@ -1895,12 +1856,13 @@ jQuery.map([ "toggle", "slideToggle", "fadeToggle" ], function ( method ) {
...
@@ -1895,12 +1856,13 @@ jQuery.map([ "toggle", "slideToggle", "fadeToggle" ], function ( method ) {
var
tested
,
var
tested
,
original
,
original
,
check
=
method
===
"slideToggle"
?
"height"
:
"opacity"
,
check
=
method
===
"slideToggle"
?
"height"
:
"opacity"
,
element
=
jQuery
(
"#foo"
).
height
(
200
);
element
=
jQuery
(
"#foo"
).
height
(
200
);
expect
(
4
);
expect
(
4
);
element
[
method
]({
element
[
method
]({
duration
:
5000
,
duration
:
duration
,
easing
:
"linear"
,
step
:
function
(
p
,
fx
)
{
step
:
function
(
p
,
fx
)
{
if
(
fx
.
pos
>
0.1
&&
fx
.
prop
===
check
&&
!
tested
)
{
if
(
fx
.
pos
>
0.1
&&
fx
.
prop
===
check
&&
!
tested
)
{
tested
=
true
;
tested
=
true
;
...
...
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