Files
mailspring-mirror/app/internal_packages/account-sidebar/specs/sidebar-item-spec.es6.ts
Ben Gotow cff437e900 Upgrade to Electron 8, improve TS usage and TS errors outside calendar [requires re- npm install] (#2284)
* Shfit away from default exports and PropTypes for better TS support

* localize strings and expand use of types in WeekView, create new EventOccurence distinct from Event

* Remove calendar wrap, use TS enum for view type + consistent prop interface

* Bump Typescript to 3.8.3 and improve query / attribute / search typings

* Re-use the Autolinker for calendar event descriptions with aggressive phone detection

* Clean up WeekView and the editing popover, lots of cruft here

* Update ScrollRegion to initialize scrollbar provided by external ref

* Expose ScrollRegion’s resizeObserver to clean up tick interval tracking

* Simply tickGenerator and move it to a helper

* Bump to Electron 8.x for Chrome 75+ CSS features

* Bump Handlebars dep to fix annoying npm audit noise

* Remove electron-remote from electron-spellchecker

* Explicitly add node-gyp, why is this necessary?

* Fix lesslint issues

* Bump eslint and let it fix 133 issues

* Satisfy remaining eslint@2020 errors by hand

* Add tsc-watch npm script and fix all TS errors outside calendar

* Configure appveyor to publish all the pdb files it gets

* Log sync exit codes and signals for easier triage on Windows

* Upgrade npm, mark that the build process supports Node 11+ not just Node 11

* Resolve more errors

* Upgrade sqlite to be a context-aware native module

* Fix: Tab key no longer navigating into contenteditable because tabIndex not inferred

* Fix: Bad print styles because Chrome now adds more CSS of it’s own when doctype is missing

* Fix: before-navigate is now called after beforeunload
2021-02-14 15:58:22 -06:00

30 lines
1.1 KiB
TypeScript

import { Folder, Actions } from 'mailspring-exports';
import SidebarItem from '../lib/sidebar-item';
describe('sidebar-item', function sidebarItemSpec() {
it('preserves nested labels on rename', () => {
const queueTask = spyOn(Actions, 'queueTask');
const categories = [new Folder({ path: 'a.b/c', accountId: TEST_ACCOUNT_ID })];
AppEnv.savedState.sidebarKeysCollapsed = {};
const item = SidebarItem.forCategories(categories) as any;
item.onEdited(item, 'd');
const task = queueTask.calls[0].args[0];
const { existingPath, path } = task;
expect(existingPath).toBe('a.b/c');
expect(path).toBe('a.b/d');
});
it('preserves labels on rename', () => {
const queueTask = spyOn(Actions, 'queueTask');
const categories = [new Folder({ path: 'a', accountId: TEST_ACCOUNT_ID })];
AppEnv.savedState.sidebarKeysCollapsed = {};
const item = SidebarItem.forCategories(categories);
item.onEdited(item, 'b') as any;
const task = queueTask.calls[0].args[0];
const { existingPath, path } = task;
expect(existingPath).toBe('a');
expect(path).toBe('b');
});
});