Opened 8 years ago

Closed 7 years ago

Last modified 7 years ago

#15383 closed defect (fixed)

request/iframe and io/iframe unit test failure on ioIframeGetXml

Reported by: bill Owned by: Bryan Forbes
Priority: high Milestone: 1.8.4
Component: IO Version: 1.7.2
Keywords: dohfail Cc: cjolif
Blocked By: Blocking:

Description (last modified by bill)

I'm getting:

Error: test timeout in ioIframeGetXml
ERROR IN: function ioIframeGetXml(t){ var d = new doh.Deferred(); var td = iframe.get("iframeDummyMethod.php?type=xml", { preventCache: true, handleAs: "xml" }); td.then(d.getTestCallback(function(response){ t.is(4, response.data.documentElement.getElementsByTagName("child").length); })); return d; }
FAILED test: ioIframeGetXml 2453 ms

when running dojo/tests/request/iframe.html standalone or from the test suite, on IE7.

Change History (12)

comment:1 Changed 8 years ago by bill

Description: modified (diff)
Keywords: dohfail added
Summary: request/iframe unit test failure on ioIframeGetXml (IE7)request/iframe and io/iframe unit test failure on ioIframeGetXml (IE7)

Likewise with io/iframe.html test. Fails in 1.7 too.

comment:2 Changed 8 years ago by bill

In the headers for the HHTP request for the XML URL, FF sends:

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

However, IE7 sends:

Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*

Note that text/xml is missing, although since the URL is iframeDummyMethod.php, I wouldn't expect IE to realize that it's going to return XML.

Anyway, after that, the failure apparenty depends on apache settings. On my version of apache (which is just OOTB apache on the mac), the response headers say:

Content-Type: application/xml

rather than text/xml. And apparently that leads to the hang.

comment:3 Changed 7 years ago by bill

Resolution: wontfix
Status: newclosed

Given the decline of IE7, probably this won't be fixed.

comment:4 Changed 7 years ago by bill

Priority: undecidedblocker
Resolution: wontfix
Status: closedreopened
Summary: request/iframe and io/iframe unit test failure on ioIframeGetXml (IE7)request/iframe and io/iframe unit test failure on ioIframeGetXml (IE8)

Happens on IE8 too.

comment:5 Changed 7 years ago by bill

Milestone: tbd1.9
Priority: blockerhigh

comment:6 Changed 7 years ago by cjolif

Cc: cjolif added

comment:7 Changed 7 years ago by Bryan Forbes

In [31293]:

Fix error with .orphan() in request/iframe. refs #15383 !strict

comment:8 Changed 7 years ago by Bryan Forbes

In [31294]:

Fix error with .orphan() in request/iframe (1.8 backport). refs #15383 !strict

comment:9 Changed 7 years ago by Bryan Forbes

Resolution: fixed
Status: reopenedclosed

The test was timing out because the deferred never had its errback property called. I fixed that and found out that .orphan() was being called on a NodeList? and NodeList-dom was not being brought in, so I fixed that as well.

comment:10 Changed 7 years ago by bill

Milestone: 1.91.8.4
Summary: request/iframe and io/iframe unit test failure on ioIframeGetXml (IE8)request/iframe and io/iframe unit test failure on ioIframeGetXml

Thanks for the fix to the test. I guess it uncovered a real problem with our code too (#17046), so good thing you looked at it.

comment:11 Changed 7 years ago by bill

PS: after Kris' fix is the change to request/iframe.js still needed?

comment:12 Changed 7 years ago by Bryan Forbes

Yes. Kris' fix was simply to make query stop wrapping NodeLists it didn't need to wrap anymore. This fix brings in a module that will put a method on NodeList that the code in dojo/request/iframe needs.

Note: See TracTickets for help on using tickets.