Index: chrome/test/data/webui/cr_elements/cr_action_menu_test.js |
diff --git a/chrome/test/data/webui/cr_elements/cr_action_menu_test.js b/chrome/test/data/webui/cr_elements/cr_action_menu_test.js |
index 62e51011ed259d10ee569e8da711fe095a892fe4..3a8ec6664caba4a4daf5a2d750b9f896a34a8887 100644 |
--- a/chrome/test/data/webui/cr_elements/cr_action_menu_test.js |
+++ b/chrome/test/data/webui/cr_elements/cr_action_menu_test.js |
@@ -32,6 +32,8 @@ suite('CrActionMenu', function() { |
}); |
teardown(function() { |
+ document.body.style.direction = 'ltr'; |
+ |
if (menu.open) |
menu.close(); |
}); |
@@ -270,7 +272,6 @@ suite('CrActionMenu', function() { |
assertEquals(140 - menuWidth, menu.offsetLeft); |
assertEquals('250px', menu.style.top); |
menu.close(); |
- document.body.style.direction = 'ltr'; |
}); |
test('offscreen scroll positioning', function() { |
@@ -292,6 +293,7 @@ suite('CrActionMenu', function() { |
position: absolute; |
top: ${containerTop}px; |
left: ${containerLeft}px; |
+ right: ${containerLeft}px; |
height: ${containerHeight}px; |
width: ${containerWidth}px; |
} |
@@ -328,9 +330,10 @@ suite('CrActionMenu', function() { |
// button. |
document.body.scrollLeft = bodyWidth; |
document.body.scrollTop = bodyHeight; |
+ var container = document.querySelector('#container'); |
- document.querySelector('#container').scrollLeft = containerLeft; |
- document.querySelector('#container').scrollTop = containerTop; |
+ container.scrollLeft = containerLeft; |
+ container.scrollTop = containerTop; |
menu.showAt(dots, {anchorAlignmentX: AnchorAlignment.AFTER_START}); |
assertEquals(`${containerLeft}px`, menu.style.left); |
@@ -353,5 +356,25 @@ suite('CrActionMenu', function() { |
var buttonHeight = dots.offsetHeight; |
assertEquals(containerLeft - menuWidth + buttonWidth, menu.offsetLeft); |
assertEquals(containerTop - menuHeight + buttonHeight, menu.offsetTop); |
+ menu.close(); |
+ |
+ // showAtPosition takes into account scroll position. |
+ document.body.scrollLeft = 500; |
dpapad
2017/07/06 22:05:37
The "offscreen scroll positioning" test is becomin
calamity
2017/07/07 03:18:01
Done.
|
+ document.body.scrollTop = 1000; |
+ menu.showAtPosition({top: 50, left: 50}); |
+ assertEquals( |
+ 550, menu.offsetLeft); |
+ assertEquals(1050, menu.offsetTop); |
+ menu.close(); |
+ |
+ // Anchor to an item in RTL. |
+ document.body.style.direction = 'rtl'; |
+ document.body.scrollLeft = 0; |
+ document.body.scrollTop = 0; |
+ menu.showAt(dots, {anchorAlignmentX: AnchorAlignment.AFTER_START}); |
+ assertEquals( |
+ container.offsetLeft + containerWidth - menuWidth, menu.offsetLeft); |
+ assertEquals(containerTop, menu.offsetTop); |
+ menu.close(); |
}); |
}); |