fix(vscode): stop duplicating completions inside view blocks
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
"use strict";
|
||||
|
||||
const test = require("node:test");
|
||||
const assert = require("node:assert");
|
||||
const Module = require("node:module");
|
||||
|
||||
// Mock the vscode module for unit tests
|
||||
const originalLoad = Module._load;
|
||||
Module._load = function load(request, parent, isMain) {
|
||||
if (request === "vscode") return {};
|
||||
return originalLoad.call(this, request, parent, isMain);
|
||||
};
|
||||
const { isInsideViewBlock } = require("../src/completion.js");
|
||||
Module._load = originalLoad;
|
||||
|
||||
const PAGE = `page Home {
|
||||
view {
|
||||
<div>hello</div>
|
||||
}
|
||||
functions {
|
||||
function go() {}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
test("a markup offset is inside a view block", () => {
|
||||
assert.equal(isInsideViewBlock(PAGE, PAGE.indexOf("<div")), true);
|
||||
});
|
||||
|
||||
test("a functions-block offset is not inside a view block", () => {
|
||||
assert.equal(isInsideViewBlock(PAGE, PAGE.indexOf("function go")), false);
|
||||
});
|
||||
Reference in New Issue
Block a user