Merge pull request #24048 from amcasey/GH23366
Ignore case when sorting imports
This commit is contained in:
commit
020d6c7ba3
|
@ -23,6 +23,15 @@ namespace ts {
|
|||
`import x from "./lib";`);
|
||||
});
|
||||
|
||||
it("Sort - case-insensitive", () => {
|
||||
assertSortsBefore(
|
||||
`import y from "a";`,
|
||||
`import x from "Z";`);
|
||||
assertSortsBefore(
|
||||
`import y from "A";`,
|
||||
`import x from "z";`);
|
||||
});
|
||||
|
||||
function assertSortsBefore(importString1: string, importString2: string) {
|
||||
const [{moduleSpecifier: moduleSpecifier1}, {moduleSpecifier: moduleSpecifier2}] = parseImports(importString1, importString2);
|
||||
assert.equal(OrganizeImports.compareModuleSpecifiers(moduleSpecifier1, moduleSpecifier2), Comparison.LessThan);
|
||||
|
@ -42,6 +51,13 @@ namespace ts {
|
|||
assertListEqual(actualCoalescedImports, expectedCoalescedImports);
|
||||
});
|
||||
|
||||
it("Sort specifiers - case-insensitive", () => {
|
||||
const sortedImports = parseImports(`import { default as M, a as n, B, y, Z as O } from "lib";`);
|
||||
const actualCoalescedImports = OrganizeImports.coalesceImports(sortedImports);
|
||||
const expectedCoalescedImports = parseImports(`import { a as n, B, default as M, y, Z as O } from "lib";`);
|
||||
assertListEqual(actualCoalescedImports, expectedCoalescedImports);
|
||||
});
|
||||
|
||||
it("Combine side-effect-only imports", () => {
|
||||
const sortedImports = parseImports(
|
||||
`import "lib";`,
|
||||
|
|
|
@ -256,7 +256,7 @@ namespace ts.OrganizeImports {
|
|||
}
|
||||
|
||||
function compareIdentifiers(s1: Identifier, s2: Identifier) {
|
||||
return compareStringsCaseSensitive(s1.text, s2.text);
|
||||
return compareStringsCaseInsensitive(s1.text, s2.text);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -279,6 +279,6 @@ namespace ts.OrganizeImports {
|
|||
const name2 = getExternalModuleName(m2);
|
||||
return compareBooleans(name1 === undefined, name2 === undefined) ||
|
||||
compareBooleans(isExternalModuleNameRelative(name1), isExternalModuleNameRelative(name2)) ||
|
||||
compareStringsCaseSensitive(name1, name2);
|
||||
compareStringsCaseInsensitive(name1, name2);
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue