mirror of
https://github.com/cursorless-dev/cursorless.git
synced 2024-10-05 05:17:38 +03:00
Updated regular expression for sub word matcher and added additional tests (#88)
This commit is contained in:
parent
dddb5cd970
commit
c0ad928810
@ -1,4 +1,4 @@
|
||||
export const SUBWORD_MATCHER = /([A-Z]?[a-z]+|[A-Za-z]+)/g;
|
||||
export const SUBWORD_MATCHER = /[A-Z]?[a-z]+|[A-Z]+(?![a-z])|[0-9]+/g;
|
||||
|
||||
export const DEBOUNCE_DELAY = 175;
|
||||
|
||||
|
@ -3,10 +3,10 @@ import * as assert from "assert";
|
||||
import { SUBWORD_MATCHER } from "../../constants";
|
||||
import { subwordFixture } from "./fixtures/constants.fixture";
|
||||
|
||||
suite.only("subword regex matcher", () => {
|
||||
suite("subword regex matcher", () => {
|
||||
subwordFixture.forEach(({ input, expectedOutput }, index) => {
|
||||
test(input, () => {
|
||||
assert.deepStrictEqual(expectedOutput, input.match(SUBWORD_MATCHER));
|
||||
assert.deepStrictEqual(input.match(SUBWORD_MATCHER), expectedOutput);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@ -52,14 +52,20 @@ export const subwordFixture: Fixture[] = [
|
||||
input: "QUICK::BROWN::FOX",
|
||||
expectedOutput: ["QUICK", "BROWN", "FOX"],
|
||||
},
|
||||
// Not currently handled properly: https://github.com/pokey/cursorless-vscode/issues/79
|
||||
{
|
||||
input: "APIClientFactory",
|
||||
expectedOutput: ["APIClientFactory"],
|
||||
expectedOutput: ["API", "Client", "Factory"],
|
||||
},
|
||||
// Not currently handled properly: https://github.com/pokey/cursorless-vscode/issues/79
|
||||
{
|
||||
input: "MockAPIClientFactory",
|
||||
expectedOutput: ["Mock", "APIClientFactory"],
|
||||
expectedOutput: ["Mock", "API", "Client", "Factory"],
|
||||
},
|
||||
{
|
||||
input: "mockAPIClientFactory",
|
||||
expectedOutput: ["mock", "API", "Client", "Factory"],
|
||||
},
|
||||
{
|
||||
input: "mockAPIClient123Factory",
|
||||
expectedOutput: ["mock", "API", "Client", "123", "Factory"],
|
||||
}
|
||||
];
|
||||
|
@ -42,7 +42,7 @@ const tests: TestCase[] = [
|
||||
|
||||
suite("tokenizer", () => {
|
||||
tests.forEach(([input, expectedOutput]) => {
|
||||
test(`tokenizer ${input}`, () => {
|
||||
test(input, () => {
|
||||
const output = tokenize(input, (match) => match[0]);
|
||||
assert.deepStrictEqual(output, expectedOutput);
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user