Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#15800 closed defect (fixed)

tests/_base/window hasIE failure (IE9)

Reported by: bill Owned by: Kris Zyp
Priority: undecided Milestone: 1.7.5
Component: Core Version: 1.7.0
Keywords: dohfail Cc: Kenneth G. Franqueiro
Blocked By: Blocking:

Description

    _AssertFailure: assertEqual() failed: 	expected
		7
	but got
		9

 with hint: 
		dojo.isIE should be 7 in withDoc w/ standards document w/ EmulateIE7
     ERROR IN: 		 function hasIE(t){
			var origIE = has("ie");
			win.withGlobal(fStandards.contentWindow, function(){
				t.is(7, dojo.isIE,"dojo.isIE should be 7 in withDoc w/ standards document w/ EmulateIE7");	// remove in 2.0
				t.is(7, has("ie"), "has('ie') should be 7 in withDoc w/ standards document w/ EmulateIE7");
			});
			t.is(origIE, dojo.isIE, "dojo.isIE should be reset to initial value");	// remove in 2.0
			t.is(origIE, has("ie"), "has('ie') should be reset to initial value");
		} FAILED test: ../../dojo/tests/_base/window.html::_base/window::hasIE 0 ms

Change History (7)

comment:1 Changed 7 years ago by bill

Keywords: dohfail added

Probably a quirksmode failure due to that IE9 problem where type of outer window leaks into iframe. Happens in 1.7 too.

comment:2 Changed 7 years ago by Kris Zyp

Cc: Kenneth G. Franqueiro added

I am not sure I understand why a value of 7 is expected here. It looks like in dojo/_base/window.js, on lines 109-112 that we are explicitly overriding the version of IE based on the documentMode (which is 9 for the test). Should we not be doing that? That code came from [26334]. Is that when the regression occurred? Should we update the test?

comment:3 Changed 7 years ago by bill

Component: QueryCore

Well the test is loading window_iframe_standards.html, which has:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">

Surely that means that for the iframe containing window_iframe_standards.html, has("ie") should return 7, document.documentMode should equal 7, and that the iframe should behave just like IE7.

The problem though (as I mentioned above) is that none of those things are happening, due to an IE9 bug where the settings from the outer frame leak into the iframe. I don't know any workaround to that bug.

Bottom line, probably that test should be disabled for IE9+.

PS: didn't mean to mark this as component=Query, I just got confused with #15799.

Last edited 7 years ago by bill (previous) (diff)

comment:4 Changed 7 years ago by Kris Zyp

Resolution: fixed
Status: newclosed

In [29441]:

Remove IE7 emulation tests that aren't really possible in IE9, fixes #15800 !strict

comment:5 Changed 7 years ago by Kris Zyp

Milestone: tbd1.8

comment:6 Changed 7 years ago by bill

In [30345]:

Disable IE7 emulation tests on IE9 since they aren't really possible in IE9, fixes #15800 on 1.7

comment:7 Changed 7 years ago by bill

Milestone: 1.81.7.5
Version: 1.7.31.7.0

Note that test doesn't fail in 1.6 since the tests there are very different (ie there's no window.html, just window.js).

Note: See TracTickets for help on using tickets.