1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
/**
* Tests selecting a result, and editing the value of that autocompleted result.
*/
add_task(async function () {
await PlacesUtils.history.clear();
await PlacesTestUtils.addVisits([
{ uri: makeURI("http://example.com/foo") },
{ uri: makeURI("http://example.com/foo/bar") },
]);
let tab = await BrowserTestUtils.openNewForegroundTab(
gBrowser,
"about:blank"
);
registerCleanupFunction(async function () {
BrowserTestUtils.removeTab(tab);
await PlacesUtils.history.clear();
});
await UrlbarTestUtils.promiseAutocompleteResultPopup({
window,
value: "http://example.com",
});
const initialIndex = UrlbarTestUtils.getSelectedRowIndex(window);
info("Key Down to select the next item.");
EventUtils.synthesizeKey("KEY_ArrowDown");
let nextIndex = initialIndex + 1;
let nextResult = await UrlbarTestUtils.getDetailsOfResultAt(
window,
nextIndex
);
Assert.equal(
UrlbarTestUtils.getSelectedRowIndex(window),
nextIndex,
"Should have selected the next item"
);
Assert.equal(
gURLBar.untrimmedValue,
nextResult.url,
"Should have completed the URL"
);
info("Press backspace");
EventUtils.synthesizeKey("KEY_Backspace");
await UrlbarTestUtils.promiseSearchComplete(window);
let editedValue = gURLBar.value;
Assert.equal(
UrlbarTestUtils.getSelectedRowIndex(window),
initialIndex,
"Should have selected the initialIndex again"
);
Assert.notEqual(editedValue, nextResult.url, "The URL has changed.");
let docLoad = BrowserTestUtils.waitForDocLoadAndStopIt(
"http://" + editedValue,
gBrowser.selectedBrowser
);
info("Press return to load edited URL.");
await UrlbarTestUtils.promisePopupClose(window, () => {
EventUtils.synthesizeKey("KEY_Enter");
});
await docLoad;
});
|