assert(compareFileExtensions('a','A')!==compareLocale('a','A'),'the same letter of different case does not sort by locale');
assert(compareFileExtensions('â','Â')!==compareLocale('â','Â'),'the same accented letter of different case does not sort by locale');
assert.notDeepEqual(['artichoke','Artichoke','art','Art'].sort(compareFileExtensions),['artichoke','Artichoke','art','Art'].sort(compareLocale),'words with the same root and different cases do not sort in locale order');
assert.notDeepEqual(['email','Email','émail','Émail'].sort(compareFileExtensions),['email','Email','émail','Émail'].sort((a,b)=>a.localeCompare(b)),'the same base characters with different case or accents do not sort in locale order');
assert.notDeepStrictEqual(['artichoke','Artichoke','art','Art'].sort(compareFileExtensions),['artichoke','Artichoke','art','Art'].sort(compareLocale),'words with the same root and different cases do not sort in locale order');
assert.notDeepStrictEqual(['email','Email','émail','Émail'].sort(compareFileExtensions),['email','Email','émail','Émail'].sort((a,b)=>a.localeCompare(b)),'the same base characters with different case or accents do not sort in locale order');
// name plus extension comparisons
assert(compareFileExtensions('a.MD','a.md')!==compareLocale('MD','md'),'case differences in extensions do not sort by locale');
...
...
@@ -197,7 +197,7 @@ suite('Comparers', () => {
// name-only comparisons
assert(compareFileNamesDefault('a','A')===compareLocale('a','A'),'the same letter sorts by locale');
assert(compareFileNamesDefault('â','Â')===compareLocale('â','Â'),'the same accented letter sorts by locale');
assert.deepEqual(['email','Email','émail','Émail'].sort(compareFileNamesDefault),['email','Email','émail','Émail'].sort(compareLocale),'the same base characters with different case or accents sort in locale order');
assert.deepStrictEqual(['email','Email','émail','Émail'].sort(compareFileNamesDefault),['email','Email','émail','Émail'].sort(compareLocale),'the same base characters with different case or accents sort in locale order');
// numeric comparisons
assert(compareFileNamesDefault('abc02.txt','abc002.txt')<0,'filenames with equivalent numbers and leading zeros sort shortest number first');
...
...
@@ -258,7 +258,7 @@ suite('Comparers', () => {
// name-only comparisons
assert(compareFileExtensionsDefault('a','A')===compareLocale('a','A'),'the same letter of different case sorts by locale');
assert(compareFileExtensionsDefault('â','Â')===compareLocale('â','Â'),'the same accented letter of different case sorts by locale');
assert.deepEqual(['email','Email','émail','Émail'].sort(compareFileExtensionsDefault),['email','Email','émail','Émail'].sort((a,b)=>a.localeCompare(b)),'the same base characters with different case or accents sort in locale order');
assert.deepStrictEqual(['email','Email','émail','Émail'].sort(compareFileExtensionsDefault),['email','Email','émail','Émail'].sort((a,b)=>a.localeCompare(b)),'the same base characters with different case or accents sort in locale order');
// name plus extension comparisons
assert(compareFileExtensionsDefault('a.MD','a.md')===compareLocale('MD','md'),'case differences in extensions sort by locale');
assert.fail(`Unexpected workspaces count of 1 (expected 2), all workspaces:\n ${fs.readdirSync(untitledHome.fsPath).map(name=>fs.readFileSync(joinPath(untitledHome,name,'workspace.json').fsPath,'utf8'))}, before getUntitledWorkspacesSync: ${beforeGettingUntitledWorkspaces}`);
assert.equal(accessor.backupFileService.discardedBackups.length,0);// When hot exit is set, backups should never be cleaned since the confirm result is cancel
assert.equal(veto,shouldVeto);
assert.strictEqual(accessor.backupFileService.discardedBackups.length,0);// When hot exit is set, backups should never be cleaned since the confirm result is cancel