Mailspring/app/spec/components/participants-text-field-spec.tsx

211 lines
6.8 KiB
TypeScript
Raw Normal View History

import React from 'react';
import { mount } from 'enzyme';
import { ContactStore, Contact } from 'mailspring-exports';
2017-09-27 02:46:00 +08:00
import { ParticipantsTextField } from 'mailspring-component-kit';
const participant1 = new Contact({
id: 'local-1',
Replace Babel with TypeScript compiler, switch entire app to TypeScript šŸŽ‰ (#1404) * Switch to using Typescript instead of Babel * Switch all es6 / jsx file extensions to ts / tsx * Convert Utils to a TS module from module.exports style module * Move everything from module.exports to typescript exports * Define .d.ts files for mailspring-exports and component kitā€¦ Yes it seems this is the best option :( * Load up on those @types * Synthesize TS types from PropTypes for standard components * Add types to Model classes and move constructor constants to instance vars * 9800 => 7700 TS errors * 7700 => 5600 TS errors * 5600 => 5330 TS errors * 5330 => 4866 TS errors * 4866 => 4426 TS errors * 4426 => 2411 TS errors * 2411 > 1598 TS errors * 1598 > 769 TS errors * 769 > 129 TS errors * 129 > 22 TS errors * Fix runtime errors * More runtime error fixes * Remove support for custom .es6 file extension * Remove a few odd remaining references to Nylas * Donā€™t ship Typescript support in the compiled app for now * Fix issues in compiled app - module resolution in TS is case sensitive? * README updates * Fix a few more TS errors * Make ā€œNo Signatureā€ option clickable + selectable * Remove flicker when saving file and reloading keymaps * Fix mail rule item height in preferences * Fix missing spacing in thread sharing popover * Fix scrollbar ticks being nested incorrectly * Add Japanese as a manually reviewed language * Prevent the thread list from ā€œstickingā€ * Re-use Sheet when switching root tabs, prevent sidebar from resetting * Ensure specs run * Update package configuration to avoid shpping types * Turn eslint back on - we will opt-in to the TS rules one by one
2019-03-05 03:03:12 +08:00
email: 'ben@mailspring.com',
});
const participant2 = new Contact({
id: 'local-2',
email: 'ben@example.com',
name: 'Ben Gotow',
});
const participant3 = new Contact({
id: 'local-3',
Replace Babel with TypeScript compiler, switch entire app to TypeScript šŸŽ‰ (#1404) * Switch to using Typescript instead of Babel * Switch all es6 / jsx file extensions to ts / tsx * Convert Utils to a TS module from module.exports style module * Move everything from module.exports to typescript exports * Define .d.ts files for mailspring-exports and component kitā€¦ Yes it seems this is the best option :( * Load up on those @types * Synthesize TS types from PropTypes for standard components * Add types to Model classes and move constructor constants to instance vars * 9800 => 7700 TS errors * 7700 => 5600 TS errors * 5600 => 5330 TS errors * 5330 => 4866 TS errors * 4866 => 4426 TS errors * 4426 => 2411 TS errors * 2411 > 1598 TS errors * 1598 > 769 TS errors * 769 > 129 TS errors * 129 > 22 TS errors * Fix runtime errors * More runtime error fixes * Remove support for custom .es6 file extension * Remove a few odd remaining references to Nylas * Donā€™t ship Typescript support in the compiled app for now * Fix issues in compiled app - module resolution in TS is case sensitive? * README updates * Fix a few more TS errors * Make ā€œNo Signatureā€ option clickable + selectable * Remove flicker when saving file and reloading keymaps * Fix mail rule item height in preferences * Fix missing spacing in thread sharing popover * Fix scrollbar ticks being nested incorrectly * Add Japanese as a manually reviewed language * Prevent the thread list from ā€œstickingā€ * Re-use Sheet when switching root tabs, prevent sidebar from resetting * Ensure specs run * Update package configuration to avoid shpping types * Turn eslint back on - we will opt-in to the TS rules one by one
2019-03-05 03:03:12 +08:00
email: 'evan@mailspring.com',
name: 'Evan Morikawa',
});
fix(spec): add support for async specs and disable misbehaving ones More spec fixes replace process.nextTick with setTimeout(fn, 0) for specs Also added an unspy in the afterEach Temporarily disable specs fix(spec): start fixing specs Summary: This is the WIP fix to our spec runner. Several tests have been completely commented out that will require substantially more work to fix. These have been added to our sprint backlog. Other tests have been fixed to update to new APIs or to deal with genuine bugs that were introduced without our knowing! The most common non-trivial change relates to observing the `NylasAPI` and `NylasAPIRequest`. We used to observe the arguments to `makeRequest`. Unfortunately `NylasAPIRequest.run` is argumentless. Instead you can do: `NylasAPIRequest.prototype.run.mostRecentCall.object.options` to get the `options` passed into the object. the `.object` property grabs the context of the spy when it was last called. Fixing these tests uncovered several concerning issues with our test runner. I spent a while tracking down why our participant-text-field-spec was failling every so often. I chose that spec because it was the first spec to likely fail, thereby requiring looking at the least number of preceding files. I tried binary searching, turning on and off, several files beforehand only to realize that the failure rate was not determined by a particular preceding test, but rather the existing and quantity of preceding tests, AND the number of console.log statements I had. There is some processor-dependent race condition going on that needs further investigation. I also discovered an issue with the file-download-spec. We were getting errors about it accessing a file, which was very suspicious given the code stubs out all fs access. This was caused due to a spec that called an async function outside ot a `waitsForPromise` block or a `waitsFor` block. The test completed, the spies were cleaned up, but the downstream async chain was still running. By the time the async chain finished the runner was already working on the next spec and the spies had been restored (causing the real fs access to run). Juan had an idea to kill the specs once one fails to prevent cascading failures. I'll implement this in the next diff update Test Plan: npm test Reviewers: juan, halla, jackie Differential Revision: https://phab.nylas.com/D3501 Disable other specs Disable more broken specs All specs turned off till passing state Use async-safe versions of spec functions Add async test spec Remove unused package code Remove canary spec
2016-12-13 04:12:20 +08:00
xdescribe('ParticipantsTextField', function ParticipantsTextFieldSpecs() {
beforeEach(() => {
spyOn(AppEnv, 'isMainWindow').andReturn(true);
this.propChange = jasmine.createSpy('change');
this.fieldName = 'to';
this.participants = {
to: [participant1, participant2],
cc: [participant3],
bcc: [],
};
this.renderedField = mount(
<ParticipantsTextField
field={this.fieldName}
Add a proper address book with CardDAV + Google People support commit 423cf4f4072961cad2035f0aa9c84f9ca1e22d27 Author: Ben Gotow <ben@foundry376.com> Date: Fri Oct 11 22:33:53 2019 -0500 Replace belcard with homegrown VCard parser because our needs are minimal and the linux binary has relocation issues commit 4ae19c0ed51f1d9f0c87886cccc3616b91ad571d Author: Ben Gotow <ben@foundry376.com> Date: Fri Oct 11 10:38:26 2019 -0500 Skip building a few more belr components, still looking for relocation error cause commit a7ec02a449e27ea7b1375e941c33444c5061047f Author: Ben Gotow <ben@foundry376.com> Date: Thu Oct 10 22:16:15 2019 -0500 Fix windows SRV record lookups for contact directory autodiscovery commit 318a31d2791b34b2c7b27c473e1d9ef844a74dd0 Author: Ben Gotow <ben@foundry376.com> Date: Thu Oct 10 20:50:06 2019 -0500 Leave vcard_grammar unpacked so mailsync can find it at runtime commit bf7e43e37d995bdd8a5061842600224436a8d465 Author: Ben Gotow <ben@foundry376.com> Date: Thu Oct 10 20:43:01 2019 -0500 Fix bug in icon case sensitivity commit c283513653fa75658dfe1ce698bd6fca2ca0aeba Author: Ben Gotow <ben@foundry376.com> Date: Thu Oct 10 17:29:24 2019 -0500 Renew Windows Authenticode code signing cert (there goes $500ā€¦) commit d13235f65b26b9de2aaf91f47aab46defe094319 Author: Ben Gotow <ben@foundry376.com> Date: Wed Oct 9 23:25:34 2019 -0500 Bump mailsync to move belr dlls commit 00ca6431df1dd22e38e2c4b94f12bae24df7497f Author: Ben Gotow <ben@foundry376.com> Date: Wed Oct 9 23:22:53 2019 -0500 Bump to xcode9 to fix odd C++11 error commit 47903c99c4f111a7d16d30c60e166501b9b0aa90 Author: Ben Gotow <ben@foundry376.com> Date: Wed Oct 9 23:01:32 2019 -0500 Bump mailsync to build belr as a dll instead of a static lib commit 21d645d4e7dd8acb8248b6cf2bdc8c5496dbe0bb Author: Ben Gotow <ben@foundry376.com> Date: Wed Oct 9 22:38:24 2019 -0500 Bump mailsync commit 3f943031cb3fff74f3602aa4fada102ae5a16b96 Author: Ben Gotow <ben@foundry376.com> Date: Wed Oct 9 21:57:39 2019 -0500 Bump mailsync to fix windows libetpan failure commit 8fb55ca0fcd575580cb7e3724865ab2f94f4edd3 Author: Ben Gotow <ben@foundry376.com> Date: Wed Oct 9 21:36:57 2019 -0500 Bump mailsync, add grammar commit b959c54e503e40c69cb8386c81f114c8e34ba8f7 Author: Ben Gotow <ben@foundry376.com> Date: Wed Oct 9 21:20:13 2019 -0500 Bump mailsync for linux / win32 commit ddb5229d670918d34392e867b85512ab1e1ebfdf Author: Ben Gotow <ben@foundry376.com> Date: Tue Oct 8 22:44:12 2019 -0500 Bump mailsync commit f80e1bc422b844bc8ecc3c7501fe346f90779258 Author: Ben Gotow <ben@foundry376.com> Date: Tue Oct 8 11:11:39 2019 -0500 Fix LESS linter failures commit 66dc60a731cedcebf8b7b7a1360bf3ed43153546 Author: Ben Gotow <ben@foundry376.com> Date: Tue Oct 8 11:00:37 2019 -0500 Extend participant search to return / expand groups commit 3bded91307774db2f5fd05e54c6ed940d6bd2388 Author: Ben Gotow <ben@foundry376.com> Date: Tue Oct 8 03:18:11 2019 -0500 Add comments, etc commit 4ede5446deaa7483f34343c81fa87a9e26af7919 Author: Ben Gotow <ben@foundry376.com> Date: Tue Oct 8 02:38:50 2019 -0500 Google People API contacts CRUD alongside CardDav commit 96c6a64e46133e152853f849ca14dace548e8474 Author: Ben Gotow <ben@foundry376.com> Date: Mon Oct 7 14:00:34 2019 -0500 Build ContactBook concept to track which accounts have sync running commit 1f6aab108377db2b83730be91e0ea9211826b7ce Author: Ben Gotow <ben@foundry376.com> Date: Mon Oct 7 11:38:03 2019 -0500 Contact and contact group CRUD, address book menus commit b877c58d484c86afca44aaaa2238bae042b85aa3 Author: Ben Gotow <ben@foundry376.com> Date: Sun Oct 6 16:32:33 2019 -0500 Editing contact names working commit 761079304cff925c8ef09dc96ff0864da169fc69 Author: Ben Gotow <ben@foundry376.com> Date: Mon Sep 30 15:42:59 2019 -0500 Improved styling of YYYYMMDD field commit 71a567276b2f1d89e7837773191cc3956dc6459f Author: Ben Gotow <ben@foundry376.com> Date: Mon Sep 30 15:06:28 2019 -0500 UI for edit + move + delete contacts commit f1967dd60367d0126fea1f19ef5d576592cdab57 Author: Ben Gotow <ben@foundry376.com> Date: Thu Sep 26 13:50:44 2019 -0500 Allow you to turn on / off the ā€œFound in Mailā€ autocompletions commit 0c2b0eb03b462ca160f2ac7ce8556d6e7473539a Author: Ben Gotow <ben@foundry376.com> Date: Thu Sep 26 13:50:14 2019 -0500 Improve contacts window launch perf by lazy loading composer support, scanning less of fs for themes commit 07abd6cb71430b2ac894baa449125645b028253a Author: Ben Gotow <ben@foundry376.com> Date: Thu Sep 26 04:36:10 2019 -0500 Support for CardDav contact display, better groups presentation commit 0a9e166d7955d27ff8362036231ac53b55063aac Author: Ben Gotow <ben@foundry376.com> Date: Tue Sep 24 12:42:37 2019 -0500 Add hidden attribute to the model in prep for deletion of auto-created contacts commit e6ce3b2af9f5951fdb384191e4a700c1d8fd6e80 Author: Ben Gotow <ben@foundry376.com> Date: Tue Sep 24 12:12:52 2019 -0500 Initial pass at address book commit 740d7e8655bdcc9564fd165cc30bcd215c01694e Author: Ben Gotow <ben@foundry376.com> Date: Tue Sep 24 08:27:06 2019 -0500 Make headers of Preferences > Accounts consistent with General
2019-10-13 01:40:57 +08:00
label={this.fieldName}
visible
participants={this.participants}
draft={{ id: 'draft-1' }}
session={{}}
change={this.propChange}
/>
);
this.renderedInput = this.renderedField.find('input');
this.expectInputToYield = (input, expected) => {
const reviver = function reviver(k, v) {
if (k === 'id' || k === 'client_id' || k === 'server_id' || k === 'object') {
return undefined;
}
return v;
};
runs(() => {
this.renderedInput.simulate('change', { target: { value: input } });
advanceClock(100);
return this.renderedInput.simulate('keyDown', { key: 'Enter', keyCode: 9 });
});
waitsFor(() => {
return this.propChange.calls.length > 0;
});
runs(() => {
let found = this.propChange.mostRecentCall.args[0];
found = JSON.parse(JSON.stringify(found), reviver);
expect(found).toEqual(JSON.parse(JSON.stringify(expected), reviver));
// This advance clock needs to be here because our waitsFor latch
// catches the first time that propChange gets called. More stuff
// may happen after this and we need to advance the clock to
// "clear" all of that. If we don't do this it throws errors about
// `setState` being called on unmounted components :(
return advanceClock(100);
});
};
});
it('renders into the document', () => {
expect(this.renderedField.find(ParticipantsTextField).length).toBe(1);
});
describe('inserting participant text', () => {
it('should fire onChange with an updated participants hash', () => {
this.expectInputToYield('abc@abc.com', {
to: [
participant1,
participant2,
new Contact({ name: 'abc@abc.com', email: 'abc@abc.com' }),
],
cc: [participant3],
bcc: [],
});
});
it('should remove added participants from other fields', () => {
this.expectInputToYield(participant3.email, {
to: [
participant1,
participant2,
new Contact({ name: participant3.email, email: participant3.email }),
],
cc: [],
bcc: [],
});
});
it('should use the name of an existing contact in the ContactStore if possible', () => {
spyOn(ContactStore, 'searchContacts').andCallFake(val => {
if (val === participant3.name) {
return Promise.resolve([participant3]);
}
return Promise.resolve([]);
});
this.expectInputToYield(participant3.name, {
to: [participant1, participant2, participant3],
cc: [],
bcc: [],
});
});
it("should use the plain email if that's what's entered", () => {
spyOn(ContactStore, 'searchContacts').andCallFake(val => {
if (val === participant3.name) {
return Promise.resolve([participant3]);
}
return Promise.resolve([]);
});
this.expectInputToYield(participant3.email, {
Replace Babel with TypeScript compiler, switch entire app to TypeScript šŸŽ‰ (#1404) * Switch to using Typescript instead of Babel * Switch all es6 / jsx file extensions to ts / tsx * Convert Utils to a TS module from module.exports style module * Move everything from module.exports to typescript exports * Define .d.ts files for mailspring-exports and component kitā€¦ Yes it seems this is the best option :( * Load up on those @types * Synthesize TS types from PropTypes for standard components * Add types to Model classes and move constructor constants to instance vars * 9800 => 7700 TS errors * 7700 => 5600 TS errors * 5600 => 5330 TS errors * 5330 => 4866 TS errors * 4866 => 4426 TS errors * 4426 => 2411 TS errors * 2411 > 1598 TS errors * 1598 > 769 TS errors * 769 > 129 TS errors * 129 > 22 TS errors * Fix runtime errors * More runtime error fixes * Remove support for custom .es6 file extension * Remove a few odd remaining references to Nylas * Donā€™t ship Typescript support in the compiled app for now * Fix issues in compiled app - module resolution in TS is case sensitive? * README updates * Fix a few more TS errors * Make ā€œNo Signatureā€ option clickable + selectable * Remove flicker when saving file and reloading keymaps * Fix mail rule item height in preferences * Fix missing spacing in thread sharing popover * Fix scrollbar ticks being nested incorrectly * Add Japanese as a manually reviewed language * Prevent the thread list from ā€œstickingā€ * Re-use Sheet when switching root tabs, prevent sidebar from resetting * Ensure specs run * Update package configuration to avoid shpping types * Turn eslint back on - we will opt-in to the TS rules one by one
2019-03-05 03:03:12 +08:00
to: [participant1, participant2, new Contact({ email: 'evan@mailspring.com' })],
cc: [],
bcc: [],
});
});
it('should not have the same contact auto-picked multiple times', () => {
spyOn(ContactStore, 'searchContacts').andCallFake(val => {
if (val === participant2.name) {
return Promise.resolve([participant2]);
}
return Promise.resolve([]);
});
this.expectInputToYield(participant2.name, {
to: [
participant1,
participant2,
new Contact({ email: participant2.name, name: participant2.name }),
],
cc: [participant3],
bcc: [],
});
});
describe('when text contains Name (Email) formatted data', () => {
it('should correctly parse it into named Contact objects', () => {
const newContact1 = new Contact({
id: 'b1',
name: 'Ben Imposter',
Replace Babel with TypeScript compiler, switch entire app to TypeScript šŸŽ‰ (#1404) * Switch to using Typescript instead of Babel * Switch all es6 / jsx file extensions to ts / tsx * Convert Utils to a TS module from module.exports style module * Move everything from module.exports to typescript exports * Define .d.ts files for mailspring-exports and component kitā€¦ Yes it seems this is the best option :( * Load up on those @types * Synthesize TS types from PropTypes for standard components * Add types to Model classes and move constructor constants to instance vars * 9800 => 7700 TS errors * 7700 => 5600 TS errors * 5600 => 5330 TS errors * 5330 => 4866 TS errors * 4866 => 4426 TS errors * 4426 => 2411 TS errors * 2411 > 1598 TS errors * 1598 > 769 TS errors * 769 > 129 TS errors * 129 > 22 TS errors * Fix runtime errors * More runtime error fixes * Remove support for custom .es6 file extension * Remove a few odd remaining references to Nylas * Donā€™t ship Typescript support in the compiled app for now * Fix issues in compiled app - module resolution in TS is case sensitive? * README updates * Fix a few more TS errors * Make ā€œNo Signatureā€ option clickable + selectable * Remove flicker when saving file and reloading keymaps * Fix mail rule item height in preferences * Fix missing spacing in thread sharing popover * Fix scrollbar ticks being nested incorrectly * Add Japanese as a manually reviewed language * Prevent the thread list from ā€œstickingā€ * Re-use Sheet when switching root tabs, prevent sidebar from resetting * Ensure specs run * Update package configuration to avoid shpping types * Turn eslint back on - we will opt-in to the TS rules one by one
2019-03-05 03:03:12 +08:00
email: 'imposter@mailspring.com',
});
Replace Babel with TypeScript compiler, switch entire app to TypeScript šŸŽ‰ (#1404) * Switch to using Typescript instead of Babel * Switch all es6 / jsx file extensions to ts / tsx * Convert Utils to a TS module from module.exports style module * Move everything from module.exports to typescript exports * Define .d.ts files for mailspring-exports and component kitā€¦ Yes it seems this is the best option :( * Load up on those @types * Synthesize TS types from PropTypes for standard components * Add types to Model classes and move constructor constants to instance vars * 9800 => 7700 TS errors * 7700 => 5600 TS errors * 5600 => 5330 TS errors * 5330 => 4866 TS errors * 4866 => 4426 TS errors * 4426 => 2411 TS errors * 2411 > 1598 TS errors * 1598 > 769 TS errors * 769 > 129 TS errors * 129 > 22 TS errors * Fix runtime errors * More runtime error fixes * Remove support for custom .es6 file extension * Remove a few odd remaining references to Nylas * Donā€™t ship Typescript support in the compiled app for now * Fix issues in compiled app - module resolution in TS is case sensitive? * README updates * Fix a few more TS errors * Make ā€œNo Signatureā€ option clickable + selectable * Remove flicker when saving file and reloading keymaps * Fix mail rule item height in preferences * Fix missing spacing in thread sharing popover * Fix scrollbar ticks being nested incorrectly * Add Japanese as a manually reviewed language * Prevent the thread list from ā€œstickingā€ * Re-use Sheet when switching root tabs, prevent sidebar from resetting * Ensure specs run * Update package configuration to avoid shpping types * Turn eslint back on - we will opt-in to the TS rules one by one
2019-03-05 03:03:12 +08:00
const newContact2 = new Contact({ name: 'Mailspring Team', email: 'feedback@mailspring.com' });
const inputs = [
Replace Babel with TypeScript compiler, switch entire app to TypeScript šŸŽ‰ (#1404) * Switch to using Typescript instead of Babel * Switch all es6 / jsx file extensions to ts / tsx * Convert Utils to a TS module from module.exports style module * Move everything from module.exports to typescript exports * Define .d.ts files for mailspring-exports and component kitā€¦ Yes it seems this is the best option :( * Load up on those @types * Synthesize TS types from PropTypes for standard components * Add types to Model classes and move constructor constants to instance vars * 9800 => 7700 TS errors * 7700 => 5600 TS errors * 5600 => 5330 TS errors * 5330 => 4866 TS errors * 4866 => 4426 TS errors * 4426 => 2411 TS errors * 2411 > 1598 TS errors * 1598 > 769 TS errors * 769 > 129 TS errors * 129 > 22 TS errors * Fix runtime errors * More runtime error fixes * Remove support for custom .es6 file extension * Remove a few odd remaining references to Nylas * Donā€™t ship Typescript support in the compiled app for now * Fix issues in compiled app - module resolution in TS is case sensitive? * README updates * Fix a few more TS errors * Make ā€œNo Signatureā€ option clickable + selectable * Remove flicker when saving file and reloading keymaps * Fix mail rule item height in preferences * Fix missing spacing in thread sharing popover * Fix scrollbar ticks being nested incorrectly * Add Japanese as a manually reviewed language * Prevent the thread list from ā€œstickingā€ * Re-use Sheet when switching root tabs, prevent sidebar from resetting * Ensure specs run * Update package configuration to avoid shpping types * Turn eslint back on - we will opt-in to the TS rules one by one
2019-03-05 03:03:12 +08:00
'Ben Imposter <imposter@mailspring.com>, Mailspring Team <feedback@mailspring.com>',
'\n\nbla\nBen Imposter (imposter@mailspring.com), Mailspring Team (feedback@mailspring.com)',
'Hello world! I like cheese. \rBen Imposter (imposter@mailspring.com)\nMailspring Team (feedback@mailspring.com)',
'Ben Imposter<imposter@mailspring.com>Mailspring Team (feedback@mailspring.com)',
];
for (const input of inputs) {
this.expectInputToYield(input, {
to: [participant1, participant2, newContact1, newContact2],
cc: [participant3],
bcc: [],
});
}
});
});
describe('when text contains emails mixed with garbage text', () => {
it('should still parse out emails into Contact objects', () => {
const newContact1 = new Contact({
id: 'gm',
Replace Babel with TypeScript compiler, switch entire app to TypeScript šŸŽ‰ (#1404) * Switch to using Typescript instead of Babel * Switch all es6 / jsx file extensions to ts / tsx * Convert Utils to a TS module from module.exports style module * Move everything from module.exports to typescript exports * Define .d.ts files for mailspring-exports and component kitā€¦ Yes it seems this is the best option :( * Load up on those @types * Synthesize TS types from PropTypes for standard components * Add types to Model classes and move constructor constants to instance vars * 9800 => 7700 TS errors * 7700 => 5600 TS errors * 5600 => 5330 TS errors * 5330 => 4866 TS errors * 4866 => 4426 TS errors * 4426 => 2411 TS errors * 2411 > 1598 TS errors * 1598 > 769 TS errors * 769 > 129 TS errors * 129 > 22 TS errors * Fix runtime errors * More runtime error fixes * Remove support for custom .es6 file extension * Remove a few odd remaining references to Nylas * Donā€™t ship Typescript support in the compiled app for now * Fix issues in compiled app - module resolution in TS is case sensitive? * README updates * Fix a few more TS errors * Make ā€œNo Signatureā€ option clickable + selectable * Remove flicker when saving file and reloading keymaps * Fix mail rule item height in preferences * Fix missing spacing in thread sharing popover * Fix scrollbar ticks being nested incorrectly * Add Japanese as a manually reviewed language * Prevent the thread list from ā€œstickingā€ * Re-use Sheet when switching root tabs, prevent sidebar from resetting * Ensure specs run * Update package configuration to avoid shpping types * Turn eslint back on - we will opt-in to the TS rules one by one
2019-03-05 03:03:12 +08:00
name: 'garbage-man@mailspring.com',
email: 'garbage-man@mailspring.com',
});
const newContact2 = new Contact({
id: 'rm',
Replace Babel with TypeScript compiler, switch entire app to TypeScript šŸŽ‰ (#1404) * Switch to using Typescript instead of Babel * Switch all es6 / jsx file extensions to ts / tsx * Convert Utils to a TS module from module.exports style module * Move everything from module.exports to typescript exports * Define .d.ts files for mailspring-exports and component kitā€¦ Yes it seems this is the best option :( * Load up on those @types * Synthesize TS types from PropTypes for standard components * Add types to Model classes and move constructor constants to instance vars * 9800 => 7700 TS errors * 7700 => 5600 TS errors * 5600 => 5330 TS errors * 5330 => 4866 TS errors * 4866 => 4426 TS errors * 4426 => 2411 TS errors * 2411 > 1598 TS errors * 1598 > 769 TS errors * 769 > 129 TS errors * 129 > 22 TS errors * Fix runtime errors * More runtime error fixes * Remove support for custom .es6 file extension * Remove a few odd remaining references to Nylas * Donā€™t ship Typescript support in the compiled app for now * Fix issues in compiled app - module resolution in TS is case sensitive? * README updates * Fix a few more TS errors * Make ā€œNo Signatureā€ option clickable + selectable * Remove flicker when saving file and reloading keymaps * Fix mail rule item height in preferences * Fix missing spacing in thread sharing popover * Fix scrollbar ticks being nested incorrectly * Add Japanese as a manually reviewed language * Prevent the thread list from ā€œstickingā€ * Re-use Sheet when switching root tabs, prevent sidebar from resetting * Ensure specs run * Update package configuration to avoid shpping types * Turn eslint back on - we will opt-in to the TS rules one by one
2019-03-05 03:03:12 +08:00
name: 'recycling-guy@mailspring.com',
email: 'recycling-guy@mailspring.com',
});
const inputs = [
Replace Babel with TypeScript compiler, switch entire app to TypeScript šŸŽ‰ (#1404) * Switch to using Typescript instead of Babel * Switch all es6 / jsx file extensions to ts / tsx * Convert Utils to a TS module from module.exports style module * Move everything from module.exports to typescript exports * Define .d.ts files for mailspring-exports and component kitā€¦ Yes it seems this is the best option :( * Load up on those @types * Synthesize TS types from PropTypes for standard components * Add types to Model classes and move constructor constants to instance vars * 9800 => 7700 TS errors * 7700 => 5600 TS errors * 5600 => 5330 TS errors * 5330 => 4866 TS errors * 4866 => 4426 TS errors * 4426 => 2411 TS errors * 2411 > 1598 TS errors * 1598 > 769 TS errors * 769 > 129 TS errors * 129 > 22 TS errors * Fix runtime errors * More runtime error fixes * Remove support for custom .es6 file extension * Remove a few odd remaining references to Nylas * Donā€™t ship Typescript support in the compiled app for now * Fix issues in compiled app - module resolution in TS is case sensitive? * README updates * Fix a few more TS errors * Make ā€œNo Signatureā€ option clickable + selectable * Remove flicker when saving file and reloading keymaps * Fix mail rule item height in preferences * Fix missing spacing in thread sharing popover * Fix scrollbar ticks being nested incorrectly * Add Japanese as a manually reviewed language * Prevent the thread list from ā€œstickingā€ * Re-use Sheet when switching root tabs, prevent sidebar from resetting * Ensure specs run * Update package configuration to avoid shpping types * Turn eslint back on - we will opt-in to the TS rules one by one
2019-03-05 03:03:12 +08:00
"Hello world I real. \n asd. garbage-man@mailspring.comā€”he's cool Also 'recycling-guy@mailspring.com'!",
'garbage-man@mailspring.com1WHOA I REALLY HATE DATA,recycling-guy@mailspring.com',
'nils.com garbage-man@mailspring.com @mailspring.com nope@.com nope! recycling-guy@mailspring.com HOLLA AT recycling-guy@mailspring.',
];
for (const input of inputs) {
this.expectInputToYield(input, {
to: [participant1, participant2, newContact1, newContact2],
cc: [participant3],
bcc: [],
});
}
});
});
});
});