MCPcopy
hub / github.com/philc/vimium / createGeneralHintTests

Function createGeneralHintTests

tests/dom_tests/dom_tests.js:57–99  ·  view source on GitHub ↗
(isFilteredMode)

Source from the content-addressed store, hash-verified

55// link hinting modes.
56//
57const createGeneralHintTests = (isFilteredMode) => {
58 globalThis.vimiumOnClickAttributeName = "does-not-matter";
59
60 context("Link hints", () => {
61 setup(() => {
62 initializeModeState();
63 const testContent = "<a>test</a><a>tress</a>";
64 document.getElementById("test-div").innerHTML = testContent;
65 stubSettings("filterLinkHints", isFilteredMode);
66 stubSettings("linkHintCharacters", "ab");
67 stubSettings("linkHintNumbers", "12");
68 stub(globalThis, "windowIsFocused", () => true);
69 });
70
71 teardown(() => document.getElementById("test-div").innerHTML = "");
72
73 should("create hints when activated, discard them when deactivated", () => {
74 const mode = activateLinkHintsMode();
75 assert.isFalse(mode.containerEl == null);
76 mode.deactivateMode();
77 assert.isTrue(mode.containerEl == null);
78 });
79
80 should("position items correctly", () => {
81 const assertStartPosition = (element1, element2) => {
82 assert.equal(element1.getClientRects()[0].left, element2.getClientRects()[0].left);
83 assert.equal(element1.getClientRects()[0].top, element2.getClientRects()[0].top);
84 };
85 stub(document.body.style, "position", "static");
86 let mode = activateLinkHintsMode();
87 let markerEls = getHintMarkerEls();
88 assertStartPosition(document.getElementsByTagName("a")[0], markerEls[0]);
89 assertStartPosition(document.getElementsByTagName("a")[1], markerEls[1]);
90 mode.deactivateMode();
91 stub(document.body.style, "position", "relative");
92 mode = activateLinkHintsMode();
93 markerEls = getHintMarkerEls();
94 assertStartPosition(document.getElementsByTagName("a")[0], markerEls[0]);
95 assertStartPosition(document.getElementsByTagName("a")[1], markerEls[1]);
96 mode.deactivateMode();
97 });
98 });
99};
100
101createGeneralHintTests(false);
102createGeneralHintTests(true);

Callers 1

dom_tests.jsFile · 0.85

Calls 7

setupFunction · 0.85
initializeModeStateFunction · 0.85
stubSettingsFunction · 0.85
activateLinkHintsModeFunction · 0.85
getHintMarkerElsFunction · 0.85
assertStartPositionFunction · 0.85
deactivateModeMethod · 0.80

Tested by

no test coverage detected