gecko/browser/metro/base/tests/mochitest/browser_selection_urlbar.js

79 lines
2.0 KiB
JavaScript

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
let gWindow = null;
var gFrame = null;
const kMarkerOffsetY = 12;
const kCommonWaitMs = 5000;
const kCommonPollMs = 100;
///////////////////////////////////////////////////
// text area tests
///////////////////////////////////////////////////
gTests.push({
desc: "normalize browser",
run: function test() {
InputSourceHelper.isPrecise = false;
InputSourceHelper.fireUpdate();
info(chromeRoot + "res/textblock01.html");
yield addTab(chromeRoot + "res/textblock01.html");
yield waitForCondition(function () {
return !StartUI.isStartPageVisible;
});
yield hideContextUI();
},
});
gTests.push({
desc: "nav bar display",
run: function test() {
gWindow = window;
yield showNavBar();
let edit = document.getElementById("urlbar-edit");
sendElementTap(window, edit, 100, 10);
ok(SelectionHelperUI.isSelectionUIVisible, "selection ui active");
sendElementTap(window, edit, 70, 10);
ok(SelectionHelperUI.isCaretUIVisible, "caret ui active");
// to the right
let xpos = SelectionHelperUI.caretMark.xPos;
let ypos = SelectionHelperUI.caretMark.yPos + 10;
var touchdrag = new TouchDragAndHold();
yield touchdrag.start(gWindow, xpos, ypos, 900, ypos);
yield waitForCondition(function () {
return getTrimmedSelection(edit).toString() ==
"mochitests/content/metro/browser/metro/base/tests/mochitest/res/textblock01.html";
}, kCommonWaitMs, kCommonPollMs);
touchdrag.end();
yield waitForMs(100);
ok(SelectionHelperUI.isSelectionUIVisible, "selection ui active");
// taps on the urlbar-edit leak a ClientRect property on the window
delete window.r;
},
});
function test() {
if (!isLandscapeMode()) {
todo(false, "browser_selection_tests need landscape mode to run.");
return;
}
runTests();
}