|
1 /* Any copyright is dedicated to the Public Domain. |
|
2 http://creativecommons.org/publicdomain/zero/1.0/ */ |
|
3 |
|
4 // Tests that the developer toolbar works properly |
|
5 |
|
6 const TEST_URI = "data:text/html;charset=utf-8,<p>Tooltip Tests</p>"; |
|
7 |
|
8 function test() { |
|
9 addTab(TEST_URI, function(browser, tab) { |
|
10 info("Starting browser_toolbar_tooltip.js"); |
|
11 openTest(); |
|
12 }); |
|
13 } |
|
14 |
|
15 function openTest() { |
|
16 ok(!DeveloperToolbar.visible, "DeveloperToolbar is not visible in runTest"); |
|
17 |
|
18 oneTimeObserve(DeveloperToolbar.NOTIFICATIONS.SHOW, catchFail(runTest)); |
|
19 document.getElementById("Tools:DevToolbar").doCommand(); |
|
20 } |
|
21 |
|
22 function runTest() { |
|
23 let tooltipPanel = DeveloperToolbar.tooltipPanel; |
|
24 |
|
25 DeveloperToolbar.display.focusManager.helpRequest(); |
|
26 DeveloperToolbar.display.inputter.setInput('help help'); |
|
27 |
|
28 DeveloperToolbar.display.inputter.setCursor({ start: 'help help'.length }); |
|
29 is(tooltipPanel._dimensions.start, 'help '.length, |
|
30 'search param start, when cursor at end'); |
|
31 ok(getLeftMargin() > 30, 'tooltip offset, when cursor at end') |
|
32 |
|
33 DeveloperToolbar.display.inputter.setCursor({ start: 'help'.length }); |
|
34 is(tooltipPanel._dimensions.start, 0, |
|
35 'search param start, when cursor at end of command'); |
|
36 ok(getLeftMargin() > 9, 'tooltip offset, when cursor at end of command') |
|
37 |
|
38 DeveloperToolbar.display.inputter.setCursor({ start: 'help help'.length - 1 }); |
|
39 is(tooltipPanel._dimensions.start, 'help '.length, |
|
40 'search param start, when cursor at penultimate position'); |
|
41 ok(getLeftMargin() > 30, 'tooltip offset, when cursor at penultimate position') |
|
42 |
|
43 DeveloperToolbar.display.inputter.setCursor({ start: 0 }); |
|
44 is(tooltipPanel._dimensions.start, 0, |
|
45 'search param start, when cursor at start'); |
|
46 ok(getLeftMargin() > 9, 'tooltip offset, when cursor at start') |
|
47 |
|
48 finish(); |
|
49 } |
|
50 |
|
51 function getLeftMargin() { |
|
52 let style = DeveloperToolbar.tooltipPanel._panel.style.marginLeft; |
|
53 return parseInt(style.slice(0, -2), 10); |
|
54 } |