Opened 12 years ago

Closed 10 years ago

#6565 closed defect (fixed)

DOH doesn't load _browserRunner.js in sub-frames if Dojo isn't loaded

Reported by: alex Owned by: Eugene Lazutkin
Priority: high Milestone: 1.3.2
Component: TestFramework Version: 1.1.0
Keywords: doh, test harness Cc: Dustin Machi
Blocked By: Blocking:

Description

right now, we're dependent on the logic which detects dojo in runner.js to figure out if we can load _browserRunner.js. There's a fallback for Rhino/SM environments but nothing for browsers. This needs to be fixed so that tests loaded via registerUrl() can *not* contain Dojo but will still correctly report their results to the parent frame.

Change History (11)

comment:1 Changed 12 years ago by alex

Resolution: fixed
Status: newclosed

(In [13356]) ensure that DOH correctly loads _browserRunner.js when pages don't include Dojo. Fixes #6565. !strict

comment:2 Changed 11 years ago by alex

(In [14045]) ensure that DOH correctly loads _browserRunner.js when pages don't include Dojo. Fixes #6565 !strict

comment:3 Changed 10 years ago by Eugene Lazutkin

Resolution: fixed
Status: closedreopened

This fix causes _browserRunner.js to be included twice in the main HTML file when dojo is not available, which leads to a host of subtle bugs.

We need to check if it is present, just like we check for runner.js. Will fix shortly.

comment:4 Changed 10 years ago by Eugene Lazutkin

Milestone: 1.21.4
Owner: changed from alex to Eugene Lazutkin
Status: reopenednew

comment:5 Changed 10 years ago by Eugene Lazutkin

Status: newassigned

Another small problem: if several files end with "runner.js" several copies of _browserRunner.js will be included. Probably the best policy is to do it only once for the first runner.js.

comment:6 Changed 10 years ago by Eugene Lazutkin

Hmm. If dojo is not present both runner.js and _browserRunner.js are added by document.write(). The whole auto-inclusion cycle in runner.js is completed before a script node for _browserRunner.js is created => results in one more document.write() => now we have two pending script tags for the same file: _browserRunner.js.

The solution is super-simple --- remove the document.write() from runner.html completely: _browserRunner.js will be added anyway by runner.js.

comment:7 Changed 10 years ago by Eugene Lazutkin

Milestone: 1.41.3.2
Resolution: fixed
Status: assignedclosed

Robot fail: [18819] and [18820] fix this ticket in the trunk and in the 1.3 branch respectively.

comment:8 Changed 10 years ago by bill

Resolution: fixed
Status: closedreopened

[18819] badly breaks the dijit/tests/form/robot/DateTextBox.html test. Although it was getting one failure already from [18837], [18819] causes it to get 5 errors and 3 failures. I'm testing on FF3.5/mac.

comment:9 Changed 10 years ago by bill

PS: run the tests against dijit [18725]... starting with [18748] dijit also has changes which are breaking the test.

comment:10 in reply to:  8 Changed 10 years ago by Eugene Lazutkin

Replying to bill:

[18819] badly breaks the dijit/tests/form/robot/DateTextBox.html test.

How??? All two changes were made in non-dojo branches (when dojo is not present at all).

comment:11 Changed 10 years ago by bill

Resolution: fixed
Status: reopenedclosed

Ah, sorry, false alarm... seems like the problem I am seeing is when the test is run twice w/out shutting down the browser in between. Even though I clear the cache there's some lingering effect w/the applet. I'll take that up w/Mark as a separate ticket.

Note: See TracTickets for help on using tickets.