Opened 7 years ago

Closed 7 years ago

#16125 closed task (invalid)

IE10 Tooltip test failures

Reported by: haysmark Owned by: haysmark
Priority: undecided Milestone: 1.6.2
Component: Dijit Version: 1.7.4rc1
Keywords: dohfail Cc:
Blocked By: Blocking:

Description

 ------------------------------------------------------------
 GROUP "Focus on nested element" has 1 test to run
     Error: doh._AssertFailure: assertTrue('false') failed with hint: 
 		tooltip pos 421.7200012207031 > anchor right edge at 121.72999572753906 + 299.99998474121093

     ERROR IN:
 		 function(){
							var d = new doh.Deferred();

							// Focus an input where the containing div has a tooltip.
							// Should show a tooltip on the div.
							dom.byId("nestedInput").focus();

							robot.sequence(d.getTestCallback(function(){
								doh.t(masterTT && helpers.isVisible(masterTT.domNode), "tooltip shown");

								var tooltipPos = domGeom.position(masterTT.domNode),
									anchorPos = domGeom.position("nested");
								doh.t(tooltipPos.x >= anchorPos.x + anchorPos.w,
										"tooltip pos " + tooltipPos.x + " > anchor right edge at " +
												anchorPos.x + " + " + anchorPos.w);
							}), 500);

							return d;
						}
 FAILED test: ../../dijit/tests/robot/Tooltip_a11y.html::Focus on nested element::Focus on nested element 532 ms
 PASSED test: ../../dijit/tests/robot/Tooltip_a11y.html 26796 ms
 GROUP "Mouse over nested div" has 1 test to run
     Error: doh._AssertFailure: assertTrue('false') failed with hint: 
 		tooltip pos 421.7200012207031 > anchor right edge at 121.72999572753906 + 299.99998474121093

     ERROR IN:
 		 function(){
							var d = new doh.Deferred();

							// Start with mouse to the left of the nested divs
							robot.mouseMoveAt("nested", 500, 0, -50, 0);

							// Then move to inner div.   The onmouseenter event will occur with evt.target == inner div
							robot.mouseMoveAt("nested", 500, 0);

							robot.sequence(d.getTestCallback(function(){
								doh.t(masterTT && helpers.isVisible(masterTT.domNode), "tooltip shown");

								var tooltipPos = domGeom.position(masterTT.domNode),
									anchorPos = domGeom.position("nested");
								doh.t(tooltipPos.x >= anchorPos.x + anchorPos.w,
										"tooltip pos " + tooltipPos.x + " > anchor right edge at " +
												anchorPos.x + " + " + anchorPos.w);
							}), 500);

							return d;
						}
 FAILED test: ../../dijit/tests/robot/Tooltip_mouse.html::Mouse over nested div::mouse over nested div 1752 ms
 GROUP "Select" has 5 tests to run
     Error: doh._AssertFailure: assertEqual() failed:
 	expected
		inline
	but got
		tooltipDlg

 with hint: 
		focus on InlineEditBox (first field in TooltipDialog)

     ERROR IN:
 		 function(){
							var d = new doh.Deferred();
							
							robot.mouseMoveAt("tooltipDlgButton", 1000);
							robot.mouseClick({left: true}, 1000);
							robot.sequence(d.getTestCallback(function(){
								doh.t(helpers.isVisible("tooltipDlg"), "TooltipDialog visible");
								doh.is("inline", dfocus.curNode.id, "focus on InlineEditBox (first field in TooltipDialog)")
							}), 1000);

							return d;
						}
 FAILED test: ../../dijit/tests/robot/TooltipDialog_mouse.html::Select::open TooltipDialog 3242 ms
 GROUP "DateTextBox" has 4 tests to run
     Error: doh._AssertFailure: assertEqual() failed:
 	expected
		inline
	but got
		tooltipDlg

 with hint: 
		focus on InlineEditBox (first field in TooltipDialog)

     ERROR IN:
 		 function(){
							var d = new doh.Deferred();

							robot.mouseMoveAt("tooltipDlgButton", 1000);
							robot.mouseClick({left: true}, 1000);
							robot.sequence(d.getTestCallback(function(){
								doh.t(helpers.isVisible("tooltipDlg"), "TooltipDialog visible");
								doh.is("inline", dfocus.curNode.id, "focus on InlineEditBox (first field in TooltipDialog)")
							}), 1000);

							return d;
						}
 FAILED test: ../../dijit/tests/robot/TooltipDialog_mouse.html::DateTextBox::open TooltipDialog 3180 ms
 GROUP "TooltipDialog normal operation" has 2 tests to run
     Error: doh._AssertFailure: assertEqual() failed:
 	expected
		submit
	but got
		tooltipDlgButton

 with hint: 
		focused on button

     ERROR IN:
 		 function(){
							var d = new doh.Deferred();
							var button = registry.byId("tooltipDlgButton");
							
							// open TooltipDialog
							robot.sequence(function(){
								button.focus();
							}, 1000, 1000);
							robot.keyPress(keys.SPACE, 500, {});
							robot.sequence(d.getTestErrback(function(){
								doh.t(button._opened, "TooltipDialog should be showing");
							}), 1000);

							// shift-tab should loop around to last field
							robot.keyPress(keys.TAB, 500, {shift: true});
							robot.sequence(d.getTestErrback(function(){
								doh.is("submit", dfocus.curNode.id, "focused on button");
							}), 1000);

							// tab should loop around to first field
							robot.keyPress(keys.TAB, 500, {});
							robot.sequence(d.getTestErrback(function(){
								doh.is("inline", dfocus.curNode.id, "focused on InlineEditBox");
							}), 1000);

							// close TooltipDialog
							robot.keyPress(keys.ESCAPE, 500, {});
							robot.sequence(d.getTestCallback(function(){
								doh.f(button._opened, "TooltipDialog should not be showing after Esc");
							}), 1000);
							return d;
						}
 FAILED test: ../../dijit/tests/robot/TooltipDialog_a11y.html::TooltipDialog normal operation::basic navigation 5065 ms
     Error: doh._AssertFailure: assertTrue('false') failed with hint: 
 		TooltipDialog should be showing

     ERROR IN:
 		 function(){
							var d = new doh.Deferred();

							var button = registry.byId("tooltipDlgButton"),
								select = registry.byId("combo");
							
							// open TooltipDialog, advance to FilteringSelect
							robot.sequence(function(){
								button.focus();
							}, 500);
							robot.keyPress(keys.SPACE, 500, {});
							robot.keyPress(keys.TAB, 500, {});
							robot.keyPress(keys.TAB, 500, {});
							robot.keyPress(keys.TAB, 500, {});
							robot.keyPress(keys.TAB, 500, {});

							robot.sequence(d.getTestErrback(function(){
								doh.t(button._opened, "TooltipDialog should be showing");
								doh.is("combo", dfocus.curNode.id, "focused on combo");
							}), 1000);

							// pick second option
							robot.keyPress(keys.DOWN_ARROW, 0, {});
							robot.keyPress(keys.DOWN_ARROW, 1000, {});
							robot.keyPress(keys.DOWN_ARROW, 500, {});
							robot.keyPress(keys.ENTER, 500, {});

							robot.sequence(d.getTestErrback(function(){
								doh.t(button._opened, "TooltipDialog should still be showing");
								doh.is("pepperoni", select.get("value"), "selected pepperoni");
							}), 1000);

							// close TooltipDialog
							robot.keyPress(keys.ESCAPE, 0, {});

							robot.sequence(d.getTestCallback(function(){
								doh.f(button._opened, "TooltipDialog closed");
							}), 500);

							return d;
						}
 FAILED test: ../../dijit/tests/robot/TooltipDialog_a11y.html::TooltipDialog normal operation::nested popup 4022 ms
 ------------------------------------------------------------
 GROUP "interacton with autosave InlineEditBox" has 7 tests to run
     Error: doh._AssertFailure: assertTrue('false') failed with hint: 
 		TooltipDialog should be showing

     ERROR IN:
 		 function(){
							var d = new doh.Deferred();

							var button = registry.byId("tooltipDlgButton"),
								inlineEditBox = registry.byId("inline"),
								initialValue = inlineEditBox.get("value");
							
							// open TooltipDialog
							robot.sequence(function(){
								button.focus();
							}, 500);
							robot.keyPress(keys.SPACE, 500, {});

							robot.sequence(d.getTestErrback(function(){
								doh.t(button._opened, "TooltipDialog should be showing");
								doh.f(inlineEditBox.editing, "InlineEditBox not in edit mode yet");
							}), 1000);

							// edit InlineEditBox
							robot.keyPress(keys.SPACE, 0, {});

							robot.sequence(d.getTestErrback(function(){
								doh.t(button._opened, "TooltipDialog should still be showing");
								doh.t(inlineEditBox.editing, "InlineEditBox in edit mode");
							}), 1000);

							// type something
							robot.typeKeys("esc", 0, 600);

							// abort edit
							robot.keyPress(keys.ESCAPE, 500, {});

							robot.sequence(d.getTestErrback(function(){
								doh.t(button._opened, "TooltipDialog should still still be showing");
								doh.f(inlineEditBox.editing, "Esc should have exited InlineEditBox edit mode");
								doh.is(initialValue, inlineEditBox.get("value"), "initial value was inline");
							}), 1000);

							// close TooltipDialog
							robot.keyPress(keys.ESCAPE, 0, {});

							robot.sequence(d.getTestCallback(function(){
								doh.f(button._opened, "TooltipDialog closed");
							}), 500);

							return d;
						}
 FAILED test: ../../dijit/tests/robot/TooltipDialog_a11y.html::interacton with autosave InlineEditBox::InlineEditBox edit mode, change value, then Esc 2038 ms
     Error: doh._AssertFailure: assertTrue('false') failed with hint: 
 		TooltipDialog should be showing

     ERROR IN:
 		 function(){
							var d = new doh.Deferred();

							var button = registry.byId("tooltipDlgButton"),
								inlineEditBox = registry.byId("inline");
							
							// open TooltipDialog
							robot.sequence(function(){
								button.focus();
							}, 500);
							robot.keyPress(keys.SPACE, 500, {});

							robot.sequence(d.getTestErrback(function(){
								doh.t(button._opened, "TooltipDialog should be showing");
								doh.f(inlineEditBox.editing, "InlineEditBox not in edit mode yet");
							}), 1000);

							// edit InlineEditBox
							robot.keyPress(keys.SPACE, 0, {});

							robot.sequence(d.getTestErrback(function(){
								doh.t(button._opened, "TooltipDialog should still be showing");
								doh.t(inlineEditBox.editing, "InlineEditBox in edit mode");
							}), 1000);

							// type something
							robot.typeKeys("tab", 0, 600);

							// save edit
							robot.keyPress(keys.TAB, 500, {});

							robot.sequence(d.getTestErrback(function(){
								doh.t(button._opened, "TooltipDialog should still still be showing");
								doh.f(inlineEditBox.editing, "Tab should have exited InlineEditBox edit mode");
								doh.is("tab", inlineEditBox.get("value"), "value changed to tab");
							}), 1000);

							// close TooltipDialog
							robot.keyPress(keys.ESCAPE, 0, {});

							robot.sequence(d.getTestCallback(function(){
								doh.f(button._opened, "TooltipDialog closed");
							}), 500);

							return d;
						}
 FAILED test: ../../dijit/tests/robot/TooltipDialog_a11y.html::interacton with autosave InlineEditBox::InlineEditBox edit mode, change value, then Tab 2030 ms
     Error: doh._AssertFailure: assertTrue('false') failed with hint: 
 		TooltipDialog should be showing

     ERROR IN:
 		 function(){
							var d = new doh.Deferred();

							var button = registry.byId("tooltipDlgButton"),
								inlineEditBox = registry.byId("inline");
							
							// open TooltipDialog
							robot.sequence(function(){
								button.focus();
							}, 500);
							robot.keyPress(keys.SPACE, 500, {});

							robot.sequence(d.getTestErrback(function(){
								doh.t(button._opened, "TooltipDialog should be showing");
								doh.f(inlineEditBox.editing, "InlineEditBox not in edit mode yet");
							}), 1000);

							// edit InlineEditBox
							robot.keyPress(keys.SPACE, 0, {});

							robot.sequence(d.getTestErrback(function(){
								doh.t(button._opened, "TooltipDialog should still be showing");
								doh.t(inlineEditBox.editing, "InlineEditBox in edit mode");
							}), 1000);

							// type something
							robot.typeKeys("enter", 0, 600);

							// save edit
							robot.keyPress(keys.ENTER, 500, {});

							robot.sequence(d.getTestErrback(function(){
								doh.t(button._opened, "TooltipDialog should still still be showing");
								doh.f(inlineEditBox.editing, "Tab should have exited InlineEditBox edit mode");
								doh.is("enter", inlineEditBox.get("value"), "value changed to enter");
							}), 1000);

							// close TooltipDialog
							robot.keyPress(keys.ESCAPE, 0, {});

							robot.sequence(d.getTestCallback(function(){
								doh.f(button._opened, "TooltipDialog closed");
							}), 500);

							return d;
						}
 FAILED test: ../../dijit/tests/robot/TooltipDialog_a11y.html::interacton with autosave InlineEditBox::InlineEditBox edit mode, change value, then Enter 2043 ms
     Error: doh._AssertFailure: assertTrue('false') failed with hint: 
 		TooltipDialog should be showing

     ERROR IN:
 		 function(){
							var d = new doh.Deferred();
							var button = registry.byId("tooltipDlgButton");
								inlineEditBox = registry.byId("inline");

							// open TooltipDialog
							robot.sequence(function(){
								button.focus();
							}, 500);
							robot.keyPress(keys.SPACE, 500, {});
							robot.sequence(d.getTestErrback(function(){
								doh.t(button._opened, "TooltipDialog should be showing");
							}), 1000);

							// start editing
							robot.keyPress(keys.SPACE, 500, {});
	
							// abort editing, then re-enter edit mode
							robot.keyPress(keys.ESCAPE, 1000, {});
							robot.keyPress(keys.ENTER, 1000, {});
							robot.sequence(d.getTestCallback(function(){
								doh.t(button._opened, "TooltipDialog should still be showing");
								doh.t(inlineEditBox.editing, "Enter should have reentered edit mode");
								inlineEditBox.cancel(true);
								button.closeDropDown(true);
							}), 2000);
							return d;
						}
 FAILED test: ../../dijit/tests/robot/TooltipDialog_a11y.html::interacton with autosave InlineEditBox::InlineEditBox double edit (esc, enter) 2049 ms
     Error: doh._AssertFailure: assertTrue('false') failed with hint: 
 		TooltipDialog should be showing

     ERROR IN:
 		 function(){
							var d = new doh.Deferred();
							var button = registry.byId("tooltipDlgButton"),
								inlineEditBox = registry.byId("inline");

							// open TooltipDialog
							robot.sequence(function(){
								button.focus();
							}, 1000, 1000);
							robot.keyPress(keys.SPACE, 500, {});
							robot.sequence(d.getTestErrback(function(){
								doh.t(button._opened, "TooltipDialog should be showing");
							}), 1000);

							// start editing
							robot.keyPress(keys.SPACE, 500, {});
							robot.typeKeys("enter #2", 1000, 1000);
							
							// save via ENTER key, the press ENTER again to re-edit
							robot.keyPress(keys.ENTER, 200, {});
							robot.keyPress(keys.ENTER, 1000, {});

							robot.sequence(d.getTestCallback(function(){
								doh.t(button._opened, "TooltipDialog should still be showing");
								doh.t(inlineEditBox.editing, "2nd Enter should have reentered edit mode");
								inlineEditBox.cancel(true);
								button.closeDropDown(true);
							}), 2000);
							return d;
						}
 FAILED test: ../../dijit/tests/robot/TooltipDialog_a11y.html::interacton with autosave InlineEditBox::InlineEditBox double edit (enter, enter) 3525 ms
     Error: doh._AssertFailure: assertTrue('false') failed with hint: 
 		TooltipDialog should be showing

     ERROR IN:
 		 function(){
							var d = new doh.Deferred();

							var button = registry.byId("tooltipDlgButton"),
								inlineEditBox = registry.byId("inline");

							// open TooltipDialog
							robot.sequence(function(){
								button.focus();
							}, 1000, 1000);
							robot.keyPress(keys.SPACE, 500, {});
							robot.sequence(d.getTestErrback(function(){
								doh.t(button._opened, "TooltipDialog should be showing");
							}), 1000);

							// start editing
							robot.keyPress(keys.SPACE, 500, {});
							robot.typeKeys("tab", 1000, 600);

							// tab forward, then back (first tab will cancel edit)
							robot.keyPress(keys.TAB, 100, {});
							robot.keyPress(keys.TAB, 1000, {shift:true});

							// re-enter edit mode
							robot.keyPress(keys.ENTER, 500, {});

							robot.sequence(d.getTestCallback(function(){
								doh.t(button._opened, "TooltipDialog should still be showing");
								doh.t(inlineEditBox.editing, "Enter after shift+Tab should have reentered edit mode");
								inlineEditBox.cancel(true);
								button.closeDropDown(true);
							}), 2000);
							return d;
						}
 FAILED test: ../../dijit/tests/robot/TooltipDialog_a11y.html::interacton with autosave InlineEditBox::InlineEditBox focused after Tab/Shift+Tab 3554 ms
     Error: test timeout in ../../dijit/tests/robot/TooltipDialog_a11y.html::interacton with autosave InlineEditBox::href
     ERROR IN:
 		 function(){
							var d = new doh.Deferred();
							var button = registry.byId("slowLoadButton"),
								dialog = registry.byId("slowLoad");

							// Setup handler to continue test after dialog is opened and content loaded
							dialog.onLoad = function(){
								setTimeout(d.getTestErrback(function(){
									doh.t(button._opened, "TooltipDialog should be showing");
									doh.t(/Delayed by 0.5 sec/.test(dialog.domNode.innerHTML), "data was loaded");

									// Close TooltipDialog
									robot.keyPress(keys.ESCAPE, 500, {});
									robot.sequence(d.getTestCallback(function(){
										doh.f(button._opened, "TooltipDialog should not be showing after Esc");
									}), 1000);
								}), 0);
							}

							// Open TooltipDialog
							robot.sequence(function(){
								button.focus();
							}, 0);
							robot.keyPress(keys.SPACE, 500, {});

							return d;
						}
 FAILED test: ../../dijit/tests/robot/TooltipDialog_a11y.html::interacton with autosave InlineEditBox::href 10024 ms

Change History (12)

comment:1 Changed 7 years ago by haysmark

Keywords: dohfail added

comment:2 Changed 7 years ago by bill

Milestone: tbd1.9
Status: newassigned

Thanks, I'll check in a fix. Since it's only changes to the test I guess it doesn't need to be backported.

comment:3 Changed 7 years ago by bill

Resolution: fixed
Status: assignedclosed

In [29791]:

Ignore IE10 rounding errors, fixes #16125.

comment:4 Changed 7 years ago by haysmark

Version: 1.8.01.7.4rc1

comment:5 Changed 7 years ago by bill

Type: defecttask

Marking as task since it was only a test issue.

comment:6 Changed 7 years ago by bill

In [30244]:

backport IE10 test fix [29791] to 1.8 branch, refs #16125

comment:7 Changed 7 years ago by bill

In [30245]:

Ignore IE10 rounding errors in test, fixes #16125 on 1.6 branch. Strangely there isn't an issue on the 1.7 branch.

comment:8 Changed 7 years ago by bill

Milestone: 1.91.6.2

comment:9 Changed 7 years ago by haysmark

Resolution: fixed
Status: closedreopened

I'm still seeing these issues with the TooltipDialog_a11y InlineEditBox? tests in 1.8.

comment:10 Changed 7 years ago by bill

Owner: changed from bill to haysmark
Status: reopenedassigned

I'm not. Maybe you can check in a fix since you are the only one seeing the problems. If rounding isn't good enough then you can make sure the values are within a certain distance from other, like Math.abs(a - b) < 1.

comment:11 Changed 7 years ago by bill

Status: assignedpending

Are you sure you saw failures in TooltipDialog_a11y.html? That file doesn't do any tests about positioning; it doesn't even require dom-geometry. Tooltip_a11y.html does some positioning tests, but it doesn't have an InlineEditBox.

comment:12 Changed 7 years ago by trac-o-bot

Resolution: invalid
Status: pendingclosed

Because we get so many tickets, we often need to return them to the initial reporter for more information. If that person does not reply within 14 days, the ticket will automatically be closed, and that has happened in this case. If you still are interested in pursuing this issue, feel free to add a comment with the requested information and we will be happy to reopen the ticket if it is still valid. Thanks!

Note: See TracTickets for help on using tickets.