837
837
function test_menuPositioning_data() {
839
{tag: "good", windowPosition: Qt.point(units.gu(10), units.gu(10)), expectedMenuCoordinates: Qt.point(units.gu(21.5), units.gu(3)) },
840
{tag: "collides right", windowPosition: Qt.point(units.gu(100), units.gu(10)), expectedMenuCoordinates: Qt.point(units.gu(12), units.gu(3)) },
841
{tag: "collides bottom", windowPosition: Qt.point(units.gu(10), units.gu(80)), expectedMenuCoordinates: Qt.point(units.gu(21.5), units.gu(-5.25)) },
840
windowPosition: Qt.point(units.gu(10), units.gu(10))
842
{tag: "collides right",
843
windowPosition: Qt.point(units.gu(100), units.gu(10)),
844
minimumXDifference: units.gu(8)
846
{tag: "collides bottom",
847
windowPosition: Qt.point(units.gu(10), units.gu(80)),
848
minimumYDifference: units.gu(7)
853
861
var menu = findChild(appDelegate, "menuBar-item3-menu");
855
tryCompare(menu, "x", data.expectedMenuCoordinates.x);
856
tryCompare(menu, "y", data.expectedMenuCoordinates.y);
862
tryCompare(menu, "visible", true);
864
var normalPositioningX = menuItem.x - units.gu(1);
865
var normalPositioningY = menuItem.height;
867
// We do this fuzzy checking because otherwise we would be duplicating the code
868
// that calculates the coordinates and any bug it may have, what we want is really
869
// to check that on collision with the border the menu is shifted substantially
870
if (data.minimumXDifference) {
871
verify(menu.x < normalPositioningX - data.minimumXDifference);
873
compare(menu.x, normalPositioningX);
876
if (data.minimumYDifference) {
877
verify(menu.y < normalPositioningY - data.minimumYDifference);
879
compare(menu.y, normalPositioningY);
859
883
function test_submenuPositioning_data() {
861
{tag: "good", windowPosition: Qt.point(units.gu(10), units.gu(10)), expectedMenuCoordinates: Qt.point(units.gu(20), units.gu(10.25)) },
862
{tag: "collides right", windowPosition: Qt.point(units.gu(100), units.gu(10)), expectedMenuCoordinates: Qt.point(units.gu(-20), units.gu(10.25)) },
863
{tag: "collides bottom", windowPosition: Qt.point(units.gu(10), units.gu(80)), expectedMenuCoordinates: Qt.point(units.gu(20), units.gu(0)) },
886
windowPosition: Qt.point(units.gu(10), units.gu(10))
888
{tag: "collides right",
889
windowPosition: Qt.point(units.gu(100), units.gu(10)),
890
minimumXDifference: units.gu(35)
892
{tag: "collides bottom",
893
windowPosition: Qt.point(units.gu(10), units.gu(80)),
894
minimumYDifference: units.gu(8)
881
913
menu = findChild(appDelegate, "menuBar-item3-menu-item3-menu");
883
console.log(menu, menu.x);
884
tryCompare(menu, "x", data.expectedMenuCoordinates.x);
885
tryCompare(menu, "y", data.expectedMenuCoordinates.y);
915
var normalPositioningX = menuItem.width;
916
var normalPositioningY = menuItem.parent.y;
918
// We do this fuzzy checking because otherwise we would be duplicating the code
919
// that calculates the coordinates and any bug it may have, what we want is really
920
// to check that on collision with the border the menu is shifted substantially
921
if (data.minimumXDifference) {
922
verify(menu.x < normalPositioningX - data.minimumXDifference);
924
compare(menu.x, normalPositioningX);
927
if (data.minimumYDifference) {
928
verify(menu.y < normalPositioningY - data.minimumYDifference);
930
compare(menu.y, normalPositioningY);