Opened 8 years ago

Closed 7 years ago

#12461 closed defect (fixed)

runTests.html on IE9 running in IE8-compatibility-mode

Reported by: bill Owned by: haysmark
Priority: high Milestone: 1.5.2
Component: TestFramework Version: 1.6.0
Keywords: Cc: Kenneth G. Franqueiro
Blocked By: Blocking:

Description

Although running robot/typematic.html (or any other test) directly works fine, when typematic.html (or any other test) is run through runTests.html, dojo.isIE becomes 8 instead of 9.

See attached patch file and check the console logs.

That means that we aren't really testing IE9, but rather IE9 in IE8-compatibility mode.

Attachments (3)

ieVersionTest.patch (4.4 KB) - added by bill 8 years ago.
simplified test
12461.patch (1.7 KB) - added by haysmark 8 years ago.
Possible fix.
scrollbarProblem.jpg (141.0 KB) - added by bill 8 years ago.
screenshot of extra scrollbars, sizing isn't right

Download all attachments as: .zip

Change History (18)

Changed 8 years ago by bill

Attachment: ieVersionTest.patch added

simplified test

comment:1 Changed 8 years ago by haysmark

DOH runs in quirks, so IE9 sets the mode to IE8.

Changed 8 years ago by haysmark

Attachment: 12461.patch added

Possible fix.

comment:2 Changed 8 years ago by haysmark

I attached a fix I have been using in my nightly tests for strict mode. In addition to adding the doctype, I had to go through and set a lot of height:100% everywhere. I was having issues with the iframe height so I had to compute it after the page loaded.

comment:3 Changed 8 years ago by bill

Cool, I wonder if it's overdoing it though, I noticed that from dojo/tests/runTests.html, now uacss.sniffQuirks and tests.window.viewportQuirks are failing, are those tests running in standards mode now too?

comment:4 Changed 8 years ago by bill

PS: of course, it's still better than before, at least it's running in IE9 mode rather than IE8 mode.

I think this is a MIcrosoft bug, as an iframe's parent shouldn't affect it's mode. Could you file a ticket with them? Though we shouldn't hold our breath for a fix.

When I run dijit.tests._base.module in IE6 I get an error that dojo.window isn't defined. Looks like you forgot the dojo.require("dojo.window"). But I also notice how that test file branches depending on whether dojo is defined, or there's require(), or neither, not sure how to deal with all those cases but maybe it's better not to depend on dojo.window at all.

I also noticed weird scrolling that happens while tests are running (I think I was looking at the dijit tests in IE9), more scroll bars are appearing than should be.

comment:5 Changed 8 years ago by bill

PPS: also, syntax error on

<tr valign="top" style="border: 0; padding: 0; margin: 0; style="height:100%;">

(style is repeated)

comment:6 Changed 8 years ago by haysmark

Resolution: fixed
Status: newclosed

Fixed in [24197].

comment:7 Changed 8 years ago by haysmark

Milestone: tbd1.6.1

comment:8 Changed 8 years ago by bill

Resolution: fixed
Status: closedreopened

Can you fix the test layout problem? There are more scrollbars then there should be and stuff goes off the screen. And this happens on all browsers, not just IE9 (the other browsers were working correctly before your checkin). I'll attach a screenshot.

Changed 8 years ago by bill

Attachment: scrollbarProblem.jpg added

screenshot of extra scrollbars, sizing isn't right

comment:9 Changed 8 years ago by bill

Also, as I also wrote in an earlier comment, sniffQuirks and viewportQuirks tests on IE9 are still failing, are you sure they aren't running in standards mode? (They are supposed to run in quirks mode).

comment:10 Changed 8 years ago by haysmark

(In [24275]) Forgot the px. Refs #12461.

comment:11 Changed 8 years ago by haysmark

Between [24274] and [24275] I fixed the sizing so the whole table is the same size as the window on IE9. Those scrollbars are not necessarily "extra" on IE8 in IE7 mode because the Firebug console appears on the bottom of the page just outside the view.

Also, yes sniffQuirks and viewportQuirks should fail because the runner now defaults to run in strict mode. I seem to remember Microsoft stating that this is a new feature of IE9 so we will either have to find a workaround or dynamically force the page to quirks using for instance mod_proxy_html.

comment:12 Changed 8 years ago by bill

I'll check IE9 again with the new checkin, but on FF4 and FF3.6 (with the latest code) I'm now seeing a 1 inch gap at the bottom of the screen, are you seeing that? Better than having the overflow, but still not perfect.

I see what you are saying about quirks mode, mod_proxy_html is a hard to swallow solution since it requires manual apache settings, but not sure what is better. In the worst case we can detect if the test isn't running in quirks mode and then abort it. At least that would avoid the spurious test failures, but that's far from ideal since it means we wouldn't be testing quirks-mode on IE9.

comment:13 Changed 8 years ago by Kenneth G. Franqueiro

Milestone: 1.6.21.5.2

Updating milestone to 1.5.2 to reflect inclusion in changeset [26956] for ticket #14199.

comment:14 Changed 7 years ago by bill

Milestone: 1.5.21.8

I think this ticket is more likely to be noticed if it's marked for milestone 1.8. Note that changesets referenced on this ticket so far aren't addressing the point of this ticket, about runTests.html on IE9 running in IE8-compatibility-mode.

comment:15 Changed 7 years ago by bill

Milestone: 1.81.5.2
Resolution: fixed
Status: reopenedclosed

On second thought I guess we should close this ticket. I'm not seeing issues on FF anymore (of course I'm not testing on FF4 or FF3.6, only the latest firefox), and as for quirks mode that would be clearer as a separate ticket, so I filed #14321. I'll also create other tickets for other things failing on IE9.

Note: See TracTickets for help on using tickets.