Opened 7 years ago

Closed 6 years ago

#16115 closed defect (fixed)

IE10 window.test_scroll test failures

Reported by: haysmark Owned by: Douglas Hays
Priority: undecided Milestone: 1.6.2
Component: Core Version: 1.7.4rc1
Keywords: dohfail Cc:
Blocked By: Blocking:

Description

     _AssertFailure: assertEqual() failed:
 	expected
		(-1,-1)
	but got
		(-1,0)

 with hint: 
		fixedNode_strict max failed

     ERROR IN:
 		 function test_fixedNode(){
					if(!(has("ie") <= 6)){
						generateTest('fixedNode_strict', "(-1,-1)", "(+1,+1)");
						generateTest('fixedNode_loose_rtl', "(-1,-1)", "(+1,+1)");
					}
					if(!has("ie")){
						generateTest('fixedNode_quirks', "(-1,-1)", "(+1,+1)");
						generateTest('fixedNode_quirks_rtl', "(-1,-1)", "(+1,+1)");
					}
				}
 FAILED test: ../../dojo/tests/window/test_scroll.html::dojo.window.scroll::test_fixedNode 21 ms
     _AssertFailure: assertEqual() failed:
 	expected
		(0,-39)(0,-1)
	but got
		(0,-31)(0,-1)

 with hint: 
		fixedScrollable_loose_rtl max failed

     ERROR IN:
 		 function test_fixedScrollable(){
					if(!(has("ie") <= 6)){
						generateTest('fixedScrollable_strict', has("ie") == 7? "(0,-54)(0,-1)" : "(0,-39)(0,-1)", has("ie") == 7? "(0,+39)(0,+1)" : "(0,+38)(0,+1)");
						generateTest('fixedScrollable_loose_rtl', has("ie") == 7? "(0,-54)(0,-1)" : "(0,-39)(0,-1)", has("ie") == 7? "(0,+39)(0,+1)" : "(0,+38)(0,+1)");
					}
					if(!has("ie")){
						generateTest('fixedScrollable_quirks', "(0,-39)(0,-1)", "(0,+38)(0,+1)");
						generateTest('fixedScrollable_quirks_rtl', "(0,-39)(0,-1)", "(0,+38)(0,+1)");
					}
				}
 FAILED test: ../../dojo/tests/window/test_scroll.html::dojo.window.scroll::test_fixedScrollable 60 ms
     _AssertFailure: assertEqual() failed:
 	expected
		(0,-39)(0,-1)
	but got
		(0,-31)(0,-1)

 with hint: 
		7036_8665_loose_rtl max failed

     ERROR IN:
 		 function test_7036_8665(){
					var maxScroll = 39;
					var minScroll = 38;
					if(has("ie") <= 7){
						maxScroll = 54;
						minScroll = 39;
					}
					generateTest('7036_8665_strict', "(0,-"+maxScroll+")(0,-1)", "(0,+"+minScroll+")(0,+1)");
					generateTest('7036_8665_loose_rtl', "(0,-"+maxScroll+")(0,-1)", "(0,+"+minScroll+")(0,+1)");
					if(has("ie") == 8){
						maxScroll = 54;
						minScroll = 39;
					}
					generateTest('7036_8665_quirks', "(0,-"+maxScroll+")(0,-1)", "(0,+"+minScroll+")(0,+1)");
					generateTest('7036_8665_quirks_rtl', "(0,-"+maxScroll+")(0,-1)", "(0,+"+minScroll+")(0,+1)");
				}
 FAILED test: ../../dojo/tests/window/test_scroll.html::dojo.window.scroll::test_7036_8665 49 ms
     _AssertFailure: assertEqual() failed:
 	expected
		(+9.79998779296875,+19.79998779296875)
	but got
		(+10,+20)

 with hint: 
		tooBig_strict max failed

     ERROR IN:
 		 function test_tooBig(){
					var fudge = 0;
					if(has("ie") <= 6){
						fudge = dojo.byId('tooBig_quirks').contentWindow.document.body.clientHeight-100+innerScrollBarSize; // needed for running inside DOH runner
					}
					var minScroll, maxScroll;
					generateTestXY('tooBig_strict', outerScrollBarSize+10,outerScrollBarSize+20, 1,1);
					generateTestXY('tooBig_quirks', outerScrollBarSize+10-fudge,outerScrollBarSize+20-fudge, 1,1);
					if(has("ie") <= 7 || has("mozilla") || has("webkit")){
						maxScroll = -1;
					}else if(has("ie")){
						maxScroll = +20;
					}else if(has("opera")){
						maxScroll = -90;
					}else{
						maxScroll = outerScrollBarSize+10;
					}
					if(has("ie") <= 7 || has("mozilla") || has("webkit")){
						minScroll = -20;
					}else if(has("opera")){
						minScroll = 80 + outerScrollBarSize;
					}else{
						minScroll = 1;
					}
					generateTestXY('tooBig_loose_rtl', maxScroll,outerScrollBarSize+20, minScroll,1);
					if(has("ie") >= 8){
						maxScroll = -1;
					}
					if(has("ie") == 8){
						minScroll = -20;
					}
					generateTestXY('tooBig_quirks_rtl', maxScroll,outerScrollBarSize+20-fudge, minScroll,1);
				}
 FAILED test: ../../dojo/tests/window/test_scroll.html::dojo.window.scroll::test_tooBig 37 ms
     _AssertFailure: assertEqual() failed:
 	expected
		(0,+70)
	but got
		(0,+21)

 with hint: 
		htmlPadding_loose_rtl min failed

     ERROR IN:
 		 function test_htmlPadding(){
					var fudge = 0;
					if(has("ie") <= 6){
						fudge = dojo.byId('tooBig_quirks').contentWindow.document.body.clientHeight-100+innerScrollBarSize; // needed for running inside DOH runner
					}
					var minScroll, maxScroll;
					if(has("ie") <= 7){
						maxScroll = minScroll = 84;
					}else{
						maxScroll = minScroll = 70;
					}
					generateTest('htmlPadding_strict', "(0,-"+maxScroll+")", "(0,+"+minScroll+")");
					generateTest('htmlPadding_loose_rtl', "(0,-"+maxScroll+")", "(0,+"+minScroll+")");
					if(has("ie") <= 8){
						maxScroll = minScroll = 34;
					}
					generateTest('htmlPadding_quirks', "(0,-"+(maxScroll-fudge)+")", "(0,+"+(minScroll-fudge)+")");
					generateTest('htmlPadding_quirks_rtl', "(0,-"+(maxScroll-fudge)+")", "(0,+"+(minScroll-fudge)+")");
				}
 FAILED test: ../../dojo/tests/window/test_scroll.html::dojo.window.scroll::test_htmlPadding 28 ms

Attachments (2)

16115.patch (18.1 KB) - added by Douglas Hays 7 years ago.
patch - needs regression testing
16115_reworked.patch (39.3 KB) - added by Douglas Hays 6 years ago.
needs review, testing, and approval (and should be backported thru 1.6)

Download all attachments as: .zip

Change History (20)

comment:1 Changed 7 years ago by haysmark

Keywords: dohfail added

comment:2 Changed 7 years ago by bill

Milestone: tbd1.8.2

Bulk update of IE10 tickets to 1.8.2, as per meeting. Backports to 1.4 will be handled in a separate ticket. If this ticket just requires a test update, it can be rescheduled for milestone 1.9, and checked into trunk only.

comment:3 Changed 7 years ago by haysmark

Version: 1.8.01.7.4rc1

comment:4 Changed 7 years ago by Kenneth G. Franqueiro

I can reproduce these same failures on Win8 IE10 via Browserstack. None of these fail on IE9, so something's amiss.

comment:5 Changed 7 years ago by Kitson Kelly

I cannot reproduce this on IE 10.0.9200.16384 running util/doh/runner.html?test=dojo/tests/module on trunk (29997).

comment:6 Changed 7 years ago by bill

Owner: set to Douglas Hays
Status: newassigned
Summary: IE10 window test failuresIE10 window.test_scroll test failures

Kitson probably couldn't reproduce because he was on an intranet URL and was thus running in compatibility mode. I reproduce the failures.

I don't see how this test is supposed to work though, given that it's trying to do quirks testing (in iframes) and IE>=9 has that problem/behavior that an iframe inherits the mode of the parent window. Colin essentially commented out the quirks tests like html_quirks.html for IE>=9, but didn't touch this file since it's a mixture of quirks and standards in one file.

comment:7 Changed 7 years ago by Douglas Hays

Whatever test_Scroll.html is doing, it's doing it right since the quirks behavior within the inner iframe is working as desired with both IE9 and IE10. The test "Double scrollbars with absolute positioned content" demonstrates that quirks is in effect since the red square is sized via CSS larger than the strict square but visually is the same.

comment:8 Changed 7 years ago by Douglas Hays

This will involve both test and code changes and will take a few more days.

comment:9 Changed 7 years ago by Douglas Hays

Chrome is also failing

expected
	(-15,-15)
but got
	(0,-15)
with hint: 
	innerScrollbars_loose_rtl max failed

Changed 7 years ago by Douglas Hays

Attachment: 16115.patch added

patch - needs regression testing

comment:10 Changed 7 years ago by haysmark

I tested this in 1.8 with FF17, IE10, IE9, and Xoom and there were no regressions.

comment:11 Changed 7 years ago by Colin Snover

Milestone: 1.8.21.8.3

1.8.2 release candidate is released; moving to next minor release.

comment:12 Changed 7 years ago by Kitson Kelly

Milestone: 1.8.31.8.4

Changed 6 years ago by Douglas Hays

Attachment: 16115_reworked.patch added

needs review, testing, and approval (and should be backported thru 1.6)

comment:13 Changed 6 years ago by bill

I didn't try it but the patch looks good to me. Removing the browser specific code paths from the test file is certainly an improvement.

comment:14 Changed 6 years ago by Douglas Hays

In [30447]:

Refs #16115. Commit new scrollIntoView into trunk that supports IE10. Refactored test_scroll.html to remove most of the browser-specific code paths. Tests pass on IE 6,7,8,9,10(Win 7 beta), Chrome 24, FF 18, Opera 12, Safari 5.1, iPad OS4. !strict

comment:15 Changed 6 years ago by Douglas Hays

Milestone: 1.8.41.6.2

comment:16 Changed 6 years ago by Douglas Hays

In [30475]:

Refs #16115. Backport [30447] to 1.8. !strict

comment:17 Changed 6 years ago by Douglas Hays

In [30493]:

Refs #16115. Backport [30475] to 1.7. !strict

comment:18 Changed 6 years ago by Douglas Hays

Resolution: fixed
Status: assignedclosed

In [30499]:

Fixes #16115. Backport [30493] to 1.6. Tweak test_scroll.html to correctly run deferred doh tests within a getTestCallback method. !strict

Note: See TracTickets for help on using tickets.