GROUP "out-of-order dialog hide/destroy" has 8 tests to run
Error: doh._AssertFailure: assertEqual() failed:
expected
dlg1_inputA
but got
with hint:
focus is on the first field
ERROR IN:
function(){
var d = new doh.Deferred(),
dlg1;
// Start focus on a button on the page (although we aren't going
// to click the button)
dojo.byId("button").focus();
// Create and show first dialog
dlg1 = new dijit.Dialog({
id: "dlg1",
title: "dialog 1",
content:
"<input id='dlg1_inputA'><br>" +
"<input id='dlg1_inputB'><br>" +
"<input id='dlg1_inputC'><br>" +
"<input id='dlg1_inputD'><br>" +
"<input id='dlg1_inputE'><br>" +
"<input id='dlg1_inputF'><br>" +
"<input id='dlg1_inputG'><br>" +
"<input id='dlg1_inputH'><br>"
});
dlg1.show().then(d.getTestCallback(function(){
doh.t(isVisible(dlg1), "dialog 1 is visible");
var dialog1Z = dojo.style(dlg1.domNode, "zIndex"),
underlayZ = dojo.style(dijit.DialogUnderlay._singleton.domNode, "zIndex");
doh.t(dialog1Z > underlayZ, "dialog1 (zIndex=" + dialog1Z +
") above underlay (zIndex=" + underlayZ + ")");
doh.is("dlg1_inputA", dojo.global.dijit.focus.curNode.id, "focus is on the first field");
// For back-compat, startup() should be called on children even if Dialog.startup()
// isn't called explicitly.
doh.t(dlg1._started, "dlg1 started");
}));
return d;
}
FAILED test: ../../dijit/tests/Dialog.html::out-of-order dialog hide/destroy::open first dialog 269 ms
Error: doh._AssertFailure: assertEqual() failed:
expected
dlg2_inputA
but got
with hint:
focus is on the first field
ERROR IN:
function(){
var d = new doh.Deferred(),
dlg1 = dijit.byId("dlg1"),
dlg2;
// Create and show second dialog
dlg2 = new dijit.Dialog({
id: "dlg2",
title: "dialog 2",
content:
"<input id='dlg2_inputA'><br>" +
"<input id='dlg2_inputB'><br>" +
"<input id='dlg2_inputC'><br>" +
"<input id='dlg2_inputD'><br>" +
"<input id='dlg2_inputE'><br>" +
"<input id='dlg2_inputF'><br>"
});
dlg2.show().then(d.getTestCallback(function(){
doh.t(isVisible(dlg2), "dialog 2 is visible");
var dialog1Z = dojo.style(dlg1.domNode, "zIndex"),
dialog2Z = dojo.style(dlg2.domNode, "zIndex"),
underlayZ = dojo.style(dijit.DialogUnderlay._singleton.domNode, "zIndex");
doh.t(underlayZ > dialog1Z, "underlay (zIndex=" + underlayZ +
") above dialog1 (zIndex=" + dialog1Z + ")");
doh.t(dialog2Z > underlayZ, "dialog2 (zIndex=" + dialog2Z +
") above underlay (zIndex=" + underlayZ + ")");
doh.is("dlg2_inputA", dojo.global.dijit.focus.curNode.id, "focus is on the first field");
}));
return d;
}
FAILED test: ../../dijit/tests/Dialog.html::out-of-order dialog hide/destroy::open second dialog 236 ms
Error: doh._AssertFailure: assertEqual() failed:
expected
dlg2_inputA
but got
with hint:
dialog 2 still has focus
ERROR IN:
function(){
var d = new doh.Deferred(),
dlg1 = dijit.byId("dlg1"),
dlg2 = dijit.byId("dlg2");
dlg1.destroy();
setTimeout(d.getTestCallback(function(){
doh.t(isVisible(dlg2), "dialog 2 is still visible");
doh.t(isVisible(dijit.DialogUnderlay._singleton), "underlay is still visible");
doh.is("dlg2_inputA", dojo.global.dijit.focus.curNode.id, "dialog 2 still has focus");
var dialog2Z = dojo.style(dlg2.domNode, "zIndex"),
underlayZ = dojo.style(dijit.DialogUnderlay._singleton.domNode, "zIndex");
doh.t(dialog2Z > underlayZ, "dialog2 (zIndex=" + dialog2Z +
") above underlay (zIndex=" + underlayZ + ")");
}), 2000);
return d;
}
FAILED test: ../../dijit/tests/Dialog.html::out-of-order dialog hide/destroy::destroy first dialog 2025 ms
Error: doh._AssertFailure: assertEqual() failed:
expected
dlg3_inputA
but got
with hint:
focus is on the first field
ERROR IN:
function(){
var d = new doh.Deferred(),
dlg2 = dijit.byId("dlg2"),
dlg3;
// Create and show third dialog
dlg3 = new dijit.Dialog({
id: "dlg3",
title: "dialog 3",
content:
"<input id='dlg3_inputA'><br>" +
"<input id='dlg3_inputB'><br>" +
"<input id='dlg3_inputC'><br>" +
"<input id='dlg3_inputD'><br>"
});
dlg3.show().then(d.getTestCallback(function(){
doh.t(isVisible(dlg3), "dialog 3 is visible");
// Even though a dialog was deleted, the zIndex of the dialog 3
// should be above dialog 2. This test is to make sure we don't
// merely use _dialogStack.length to compute zIndex
var dialog2Z = dojo.style(dlg2.domNode, "zIndex"),
dialog3Z = dojo.style(dlg3.domNode, "zIndex"),
underlayZ = dojo.style(dijit.DialogUnderlay._singleton.domNode, "zIndex");
doh.t(underlayZ > dialog2Z, "underlay (zIndex=" + underlayZ +
") above dialog2 (zIndex=" + dialog2Z + ")");
doh.t(dialog3Z > underlayZ, "dialog3 (zIndex=" + dialog3Z +
") above underlay (zIndex=" + underlayZ + ")");
doh.is("dlg3_inputA", dojo.global.dijit.focus.curNode.id, "focus is on the first field");
}));
return d;
}
FAILED test: ../../dijit/tests/Dialog.html::out-of-order dialog hide/destroy::open third dialog 225 ms
Error: doh._AssertFailure: assertEqual() failed:
expected
dlg4_inputA
but got
with hint:
focus is on the first field
ERROR IN:
function(){
var d = new doh.Deferred(),
dlg3 = dijit.byId("dlg3"),
dlg4;
// Create and show fourth dialog
dlg4 = new dijit.Dialog({
id: "dlg4",
title: "dialog 4",
content:
"<input id='dlg4_inputA'><br>" +
"<input id='dlg4_inputB'>"
});
dlg4.show().then(d.getTestCallback(function(){
doh.t(isVisible(dlg4), "dialog 4 is visible");
var dialog3Z = dojo.style(dlg3.domNode, "zIndex"),
dialog4Z = dojo.style(dlg4.domNode, "zIndex"),
underlayZ = dojo.style(dijit.DialogUnderlay._singleton.domNode, "zIndex");
doh.t(underlayZ > dialog3Z, "underlay (zIndex=" + underlayZ +
") above dialog3 (zIndex=" + dialog3Z + ")");
doh.t(dialog4Z > underlayZ, "dialog4 (zIndex=" + dialog4Z +
") above underlay (zIndex=" + underlayZ + ")");
doh.is("dlg4_inputA", dojo.global.dijit.focus.curNode.id, "focus is on the first field");
}));
return d;
}
FAILED test: ../../dijit/tests/Dialog.html::out-of-order dialog hide/destroy::open fourth dialog 223 ms
Error: doh._AssertFailure: assertEqual() failed:
expected
dlg4_inputA
but got
with hint:
dialog 4 still has focus
ERROR IN:
function(){
var d = new doh.Deferred(),
dlg3 = dijit.byId("dlg3"),
dlg4 = dijit.byId("dlg4");
dlg3.hide().then(d.getTestCallback(function(){
doh.t(isVisible(dlg4), "dialog 4 is still visible");
doh.t(isVisible(dijit.DialogUnderlay._singleton), "underlay is still visible");
doh.is("dlg4_inputA", dojo.global.dijit.focus.curNode.id, "dialog 4 still has focus");
var dialog4Z = dojo.style(dlg4.domNode, "zIndex"),
underlayZ = dojo.style(dijit.DialogUnderlay._singleton.domNode, "zIndex");
doh.t(dialog4Z > underlayZ, "dialog4 (zIndex=" + dialog4Z +
") above underlay (zIndex=" + underlayZ + ")");
}));
return d;
}
FAILED test: ../../dijit/tests/Dialog.html::out-of-order dialog hide/destroy::hide third dialog 220 ms
Error: doh._AssertFailure: assertEqual() failed:
expected
dlg2_inputA
but got
with hint:
focus is on the first field
ERROR IN:
function(){
var d = new doh.Deferred(),
dlg2 = dijit.byId("dlg2"),
dlg3 = dijit.byId("dlg3"),
dlg4 = dijit.byId("dlg4");
// Closing fourth dialog should move focus to second dialog,
// since we already destroyed the third dialog
dlg4.hide().then(d.getTestCallback(function(){
doh.t(isHidden(dlg4), "dialog 4 is hidden");
doh.t(isHidden(dlg3), "dialog 3 is hidden");
doh.t(isVisible(dlg2), "dialog 2 is visible");
var dialog2Z = dojo.style(dlg2.domNode, "zIndex"),
underlayZ = dojo.style(dijit.DialogUnderlay._singleton.domNode, "zIndex");
doh.t(dialog2Z > underlayZ, "dialog2 (zIndex=" + dialog2Z +
") above underlay (zIndex=" + underlayZ + ")");
doh.is("dlg2_inputA", dojo.global.dijit.focus.curNode.id, "focus is on the first field");
}));
return d;
}
FAILED test: ../../dijit/tests/Dialog.html::out-of-order dialog hide/destroy::close fourth dialog 221 ms
Error: Unable to get property 'id' of undefined or null reference
ERROR IN:
function(){
var d = new doh.Deferred();
fast.hide();
setTimeout(d.getTestCallback(function(){
doh.is("slowOK", dojo.global.dijit.focus.curNode.id, "focused to dialog C");
doh.t(dojo.global.slowFocused, "onfocus handler working");
}), fast.duration * 2);
return d;
}
FAILED test: ../../dijit/tests/Dialog.html::fast double show::close dialogD 222 ms
GROUP "dijit.Dialog mouse tests (cancel)" has 5 tests to run
Error: doh._AssertFailure: assertEqual() failed:
expected
name
but got
with hint:
focus is on the first field
ERROR IN:
function(){
var d = new doh.Deferred();
var oldOnClick = registry.byId("dialog1button").onClick;
registry.byId("dialog1button").onClick = function(){
registry.byId("dialog1").show().then(d.getTestCallback(function(){
doh.t(helpers.isVisible("dialog1"), "dialog 1 has been made visible");
doh.is("name", dfocus.curNode.id, "focus is on the first field");
}));
registry.byId("dialog1button").onClick = oldOnClick;
};
// Open the dialog
robot.mouseMoveAt("dialog1button", 1000);
robot.mouseClick({left: true}, 1000);
return d;
}
FAILED test: ../../dijit/tests/robot/Dialog_mouse.html::dijit.Dialog mouse tests (cancel)::open dialog 2489 ms
GROUP "dijit.Dialog mouse tests (unfocusable open button)" has 4 tests to run
Error: doh._AssertFailure: assertEqual() failed:
expected
SelfDestructDlgInput
but got
with hint:
focus is on the first field
ERROR IN:
function(){
var d = new doh.Deferred();
// Open the dialog
robot.mouseMoveAt("SelfDestructDlgBtn2", 1000);
robot.mouseClick({left: true}, 1000);
robot.sequence(d.getTestCallback(function(){
doh.t(registry.byId("SelfDestructDlg"), "dialog created");
doh.t(helpers.isVisible("SelfDestructDlgBtn2"), "dialog has been made visible");
doh.is("SelfDestructDlgInput", dfocus.curNode.id, "focus is on the first field");
}), 1000);
return d;
}
FAILED test: ../../dijit/tests/robot/Dialog_mouse.html::dijit.Dialog mouse tests (unfocusable open button)::open #1 3182 ms
PASSED test: ../../dijit/tests/robot/Dialog_mouse.html::dijit.Dialog mouse tests (unfocusable open button)::close #1 3184 ms
Error: doh._AssertFailure: assertEqual() failed:
expected
SelfDestructDlgInput
but got
with hint:
focus is on the first field
ERROR IN:
function(){
var d = new doh.Deferred();
// Open the dialog
robot.mouseMoveAt("SelfDestructDlgBtn2", 1000);
robot.mouseClick({left: true}, 1000);
robot.sequence(d.getTestCallback(function(){
doh.t(registry.byId("SelfDestructDlg"), "dialog created");
doh.t(helpers.isVisible("SelfDestructDlgBtn2"), "dialog has been made visible");
doh.is("SelfDestructDlgInput", dfocus.curNode.id, "focus is on the first field");
}), 1000);
return d;
}
FAILED test: ../../dijit/tests/robot/Dialog_mouse.html::dijit.Dialog mouse tests (unfocusable open button)::open #2 3151 ms
GROUP "keyboard tests (cancel)" has 6 tests to run
Error: doh._AssertFailure: assertEqual() failed:
expected
name
but got
with hint:
focus is on the first field
ERROR IN:
function(){
var d = new doh.Deferred();
// Click the button. We do this manually rather than calling Dialog.show()
// so we can later test that focus is restored (to the previous position)
// when the dialog is closed
dom.byId("dialog1button").focus();
robot.keyPress(keys.SPACE, 1000, {});
robot.typeKeys("Bill", 1000, 800);
robot.sequence(d.getTestCallback(function(){
doh.t(helpers.isVisible("dialog1"), "dialog 1 has been made visible");
doh.is("name", dfocus.curNode.id, "focus is on the first field");
}), 500);
return d;
}
FAILED test: ../../dijit/tests/robot/Dialog_a11y.html::keyboard tests (cancel)::open dialog 3368 ms
Error: doh._AssertFailure: assertEqual() failed:
expected
date
but got
with hint:
focus is on the date field
ERROR IN:
function(){
var d = new doh.Deferred();
robot.keyPress(keys.TAB, 500, {});
robot.typeKeys("Japan", 1000, 1000);
robot.keyPress(keys.TAB, 500, {});
robot.sequence(d.getTestCallback(function(){
doh.is("date", dfocus.curNode.id, "focus is on the date field");
}), 1000);
return d;
}
FAILED test: ../../dijit/tests/robot/Dialog_a11y.html::keyboard tests (cancel)::tab to the date field 4028 ms
Error: doh._AssertFailure: assertEqual() failed:
expected
date
but got
dialog1button
with hint:
focus is still on the date field
ERROR IN:
function(){
var d = new doh.Deferred();
robot.keyPress(keys.DOWN_ARROW, 500, {});
robot.keyPress(keys.ESCAPE, 500, {});
robot.sequence(d.getTestCallback(function(){
doh.is("date", dfocus.curNode.id, "focus is still on the date field");
doh.t(helpers.isVisible("dialog1"), "dialog 1 wasn't closed");
}), 1000);
return d;
}
FAILED test: ../../dijit/tests/robot/Dialog_a11y.html::keyboard tests (cancel)::open and close date drop down 2019 ms
Error: doh._AssertFailure: assertEqual() failed:
expected
name
but got
filebutton
with hint:
focus looped back to name field
ERROR IN:
function(){
var d = new doh.Deferred();
robot.keyPress(keys.TAB, 500, {});
robot.keyPress(keys.TAB, 500, {});
robot.keyPress(keys.TAB, 500, {});
robot.keyPress(keys.TAB, 500, {});
robot.sequence(d.getTestCallback(function(){
doh.is("name", dfocus.curNode.id, "focus looped back to name field");
}), 1000);
return d;
}
FAILED test: ../../dijit/tests/robot/Dialog_a11y.html::keyboard tests (cancel)::tabbing loops around 3019 ms
Error: doh._AssertFailure: assertEqual() failed:
expected
ok
but got
dijit_form_Button_2
with hint:
focus looped back to submit button
ERROR IN:
function(){
var d = new doh.Deferred();
robot.keyPress(keys.TAB, 500, {shift: true});
robot.sequence(d.getTestCallback(function(){
doh.is("ok", dfocus.curNode.id, "focus looped back to submit button");
}), 1000);
return d;
}
FAILED test: ../../dijit/tests/robot/Dialog_a11y.html::keyboard tests (cancel)::reverse-tabbing loops around 1524 ms
Error: doh._AssertFailure: assertEqual() failed:
expected
dialog1button
but got
dijit_form_Button_2
with hint:
focus returned to button
ERROR IN:
function(){
var d = new doh.Deferred();
robot.keyPress(keys.ESCAPE, 500, {});
robot.sequence(d.getTestCallback(function(){
doh.t(helpers.isHidden("dialog1"), "dialog 1 was closed");
doh.is("dialog1button", dfocus.curNode.id, "focus returned to button");
}), 1000);
return d;
}
FAILED test: ../../dijit/tests/robot/Dialog_a11y.html::keyboard tests (cancel)::close via ESC 1523 ms
------------------------------------------------------------
GROUP "keyboard tests (submit)" has 1 test to run
Error: doh._AssertFailure: assertTrue('undefined') failed with hint:
got submit data
ERROR IN:
function(){
var d = new doh.Deferred();
// Setup handler to catch submitted data
var data;
aspect.after(registry.byId("dialog1"), "execute", function(vals){
data = vals;
}, true);
// Open the dialog
dom.byId("dialog1button").focus();
robot.keyPress(keys.SPACE, 1000, {});
// Enter some info
robot.typeKeys("Ted", 2000, 600);
robot.keyPress(keys.TAB, 500, {});
robot.typeKeys("America", 1000, 1400);
robot.keyPress(keys.TAB, 500, {});
robot.keyPress(keys.TAB, 1000, {});
robot.keyPress(keys.TAB, 1000, {});
robot.keyPress(keys.TAB, 1000, {});
// Submit
robot.keyPress(keys.SPACE, 1000, {});
robot.sequence(d.getTestCallback(function(){
doh.t(helpers.isHidden("dialog1"), "dialog 1 was closed on submit");
doh.t(data, "got submit data");
doh.is("Ted", data.name, "Name");
doh.is("America", data.loc, "Location");
}), 1000);
return d;
}
FAILED test: ../../dijit/tests/robot/Dialog_a11y.html::keyboard tests (submit)::submit some data 12104 ms
------------------------------------------------------------
GROUP "keyboard tests (cancel via Cancel button)" has 1 test to run
PASSED test: ../../dijit/tests/robot/Dialog_a11y.html::keyboard tests (cancel via Cancel button)::close Dialog via Cancel button 4025 ms
------------------------------------------------------------
GROUP "aria" has 1 test to run
PASSED test: ../../dijit/tests/robot/Dialog_a11y.html::aria::undefined 0 ms
------------------------------------------------------------
GROUP "special focus" has 3 tests to run
PASSED test: ../../dijit/tests/robot/Dialog_a11y.html::special focus::no focusable elements 5543 ms
Error: doh._AssertFailure: assertEqual() failed:
expected
afile
but got
with hint:
focus is on the input type=file
ERROR IN:
function(){
var d = new doh.Deferred();
// Click the button. We do this manually rather than calling Dialog.show()
// so we can later test that focus is restored (to the previous position)
// when the dialog is closed
dom.byId("filebutton").focus();
robot.keyPress(keys.SPACE, 500, {});
robot.sequence(d.getTestErrback(function(){
doh.t(dfocus.curNode, "focus is somewhere #1");
doh.is("afile", dfocus.curNode.id, "focus is on the input type=file");
}), 1000);
// Esc key should close the dialog
robot.keyPress(keys.ESCAPE, 500);
robot.sequence(d.getTestCallback(function(){
doh.t(dfocus.curNode, "focus is somewhere #2");
doh.is("filebutton", dfocus.curNode.id, "focus is back on the button that opened the dialog");
}), 500);
return d;
}
FAILED test: ../../dijit/tests/robot/Dialog_a11y.html::special focus::input type=file 1515 ms
Error: doh._AssertFailure: assertEqual() failed:
expected
textarea-radio-test
but got
with hint:
focus is on the textarea
ERROR IN:
function(){
var d = new doh.Deferred();
// Click the button. We do this manually rather than calling Dialog.show()
// so we can later test that focus is restored (to the previous position)
// when the dialog is closed
dom.byId("RadioButtonDlgBtn").focus();
robot.keyPress(keys.SPACE, 500, {});
robot.sequence(d.getTestErrback(function(){
doh.t(dfocus.curNode, "focus is somewhere #1");
doh.is("textarea-radio-test", dfocus.curNode.id, "focus is on the textarea");
}), 1000);
robot.keyPress(keys.TAB, 500, {});
robot.keyPress(keys.TAB, 500, {});
robot.sequence(d.getTestErrback(function(){
doh.t(dfocus.curNode, "focus is somewhere #2");
doh.is("textarea-radio-test", dfocus.curNode.id, "focus wraps around back to the textarea");
}), 500);
// Esc key should close the dialog
robot.keyPress(keys.ESCAPE, 500);
robot.sequence(d.getTestCallback(function(){
doh.t(dfocus.curNode, "focus is somewhere #3");
doh.is("RadioButtonDlgBtn", dfocus.curNode.id, "focus is back on the button that opened the dialog");
}), 500);
return d;
}
FAILED test: ../../dijit/tests/robot/Dialog_a11y.html::special focus::radio button as last element 1537 ms
------------------------------------------------------------
GROUP "keyboard tests (multiple dialogs)" has 4 tests to run
Error: doh._AssertFailure: assertEqual() failed:
expected
loc
but got
with hint:
focus is on the second field
ERROR IN:
function(){
var d = new doh.Deferred();
// Click the button. We do this manually rather than calling Dialog.show()
// so we can later test that focus is restored (to the previous position)
// when the dialog is closed
dom.byId("dialog1button").focus();
robot.keyPress(keys.SPACE, 1000, {});
robot.typeKeys("lower", 1000, 1000);
// Move focus to second field
robot.keyPress(keys.TAB, 1000);
robot.sequence(d.getTestCallback(function(){
doh.t(helpers.isVisible("dialog1"), "dialog 1 is visible");
var dialog1Z = domStyle.get(registry.byId("dialog1").domNode, "zIndex"),
underlayZ = domStyle.get(DialogUnderlay._singleton.domNode, "zIndex");
doh.t(dialog1Z > underlayZ, "dialog1 (zIndex=" + dialog1Z +
") above underlay (zIndex=" + underlayZ + ")");
doh.is("loc", dfocus.curNode.id, "focus is on the second field");
}), 1000);
return d;
}
FAILED test: ../../dijit/tests/robot/Dialog_a11y.html::keyboard tests (multiple dialogs)::open first dialog 5063 ms
PASSED test: ../../dijit/tests/robot/Dialog_a11y.html::keyboard tests (multiple dialogs)::open second dialog 2039 ms
Error: Unable to get property 'id' of undefined or null reference
ERROR IN:
function(){
var d = new doh.Deferred();
robot.keyPress(keys.ESCAPE, 500, {});
robot.sequence(d.getTestCallback(function(){
doh.t(helpers.isHidden("tabDialog"), "tab dialog has been hidden");
doh.t(helpers.isVisible("dialog1"), "dialog 1 is still visible");
var dialog1Z = domStyle.get(registry.byId("dialog1").domNode, "zIndex"),
underlayZ = domStyle.get(DialogUnderlay._singleton.domNode, "zIndex");
doh.t(dialog1Z > underlayZ, "dialog1 (zIndex=" + dialog1Z +
") above underlay (zIndex=" + underlayZ + ")");
doh.is("loc", dfocus.curNode.id, "focus is on the second field");
}), 2000);
return d;
}
FAILED test: ../../dijit/tests/robot/Dialog_a11y.html::keyboard tests (multiple dialogs)::cancel second dialog 2528 ms
Error: Unable to get property 'id' of undefined or null reference
ERROR IN:
function(){
var d = new doh.Deferred();
robot.keyPress(keys.ESCAPE, 500, {});
robot.sequence(d.getTestCallback(function(){
doh.t(helpers.isHidden("dialog1"), "dialog 1 was closed");
doh.is("dialog1button", dfocus.curNode.id, "focus returned to button");
}), 2000);
return d;
}
FAILED test: ../../dijit/tests/robot/Dialog_a11y.html::keyboard tests (multiple dialogs)::cancel first dialog 2531 ms
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.