aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrwldrn <waldron.rick@gmail.com>2010-11-09 23:18:16 -0500
committerjeresig <jeresig@gmail.com>2010-11-09 23:18:16 -0500
commit795e880bba1f7f949df58748f7fd92e50296a8f4 (patch)
tree95279ad7d051c2071ce2222e8b314ef7c9fb15ce
parenta64dc0405064d68c7b7cd0f0fc8ea60086cbcd21 (diff)
downloadjquery-795e880bba1f7f949df58748f7fd92e50296a8f4.tar.gz
jquery-795e880bba1f7f949df58748f7fd92e50296a8f4.zip
Fixes #7397; Adds 4 supporting unit tests.
-rw-r--r--src/effects.js8
-rw-r--r--test/unit/effects.js35
2 files changed, 39 insertions, 4 deletions
diff --git a/src/effects.js b/src/effects.js
index 51ce0c577..bac2e1d51 100644
--- a/src/effects.js
+++ b/src/effects.js
@@ -61,10 +61,10 @@ jQuery.fn.extend({
} else {
for ( var i = 0, j = this.length; i < j; i++ ) {
var display = jQuery.css( this[i], "display" );
-
- if ( display !== "none" ) {
- jQuery.data( this[i], "olddisplay", display );
- }
+
+ if ( !jQuery.data( this[i], "olddisplay" ) && display !== "none" ) {
+ jQuery.data( this[i], "olddisplay", display );
+ }
}
// Set the display of the elements in a second loop
diff --git a/test/unit/effects.js b/test/unit/effects.js
index 74b336f1f..aca926384 100644
--- a/test/unit/effects.js
+++ b/test/unit/effects.js
@@ -130,6 +130,41 @@ test("show(Number) - other displays", function() {
});
});
+
+
+// Supports #7397
+test("Persist correct display value", function() {
+ expect(4);
+ QUnit.reset();
+ stop();
+
+ // #show-tests * is set display: none in CSS
+ jQuery("#main").append('<div id="show-tests"><span style="position:absolute;"></span></div>');
+
+ var $span = jQuery("#show-tests span"),
+ orig = $span.css("display"),
+ num = 0;
+
+ equal(orig, "none", "Expecting to start at display: none");
+
+ $span.text('Saving...').fadeIn(100, function() {
+
+ equal($span.css("display"), "block", "Expecting display: block");
+
+ $span.text('Saved!').fadeOut(100, function () {
+
+ equal($span.css("display"), "none", "Expecting display: none");
+
+ $span.text('Saving...').fadeIn(100, function() {
+
+ equal($span.css("display"), "block", "Expecting display: block");
+
+ start();
+ });
+ });
+ });
+});
+
test("animate(Hash, Object, Function)", function() {
expect(1);
stop();