/* const {parseFromImap, parseSnippet, parseContacts} = require('../src/message-utils'); const {forEachJSONFixture, forEachHTMLAndTXTFixture, ACCOUNT_ID, getTestDatabase} = require('./helpers'); xdescribe('MessageUtils', function MessageUtilsSpecs() { beforeEach(() => { waitsForPromise(async () => { const db = await getTestDatabase() const folder = await db.Folder.create({ id: 'test-folder-id', accountId: ACCOUNT_ID, version: 1, name: 'Test Folder', role: null, }); this.options = { accountId: ACCOUNT_ID, db, folder }; }) }) describe("parseFromImap", () => { forEachJSONFixture('MessageUtils/parseFromImap', (filename, json) => { it(`should correctly build message properties for ${filename}`, () => { const {imapMessage, desiredParts, result} = json; // requiring these to match makes it overly arduous to generate test // cases from real accounts const excludeKeys = new Set(['id', 'accountId', 'folderId', 'folder', 'labels']); waitsForPromise(async () => { const actual = await parseFromImap(imapMessage, desiredParts, this.options); for (const key of Object.keys(result)) { if (!excludeKeys.has(key)) { expect(actual[key]).toEqual(result[key]); } } }); }); }) }); }); const snippetTestCases = [{ purpose: 'trim whitespace in basic plaintext', body: '
The quick brown fox\n\n\tjumps over the lazy', snippet: 'The quick brown fox jumps over the lazy', }, { purpose: 'truncate long plaintext without breaking words', body: '
The quick brown fox jumps over the lazy dog and then the lazy dog rolls over and sighs. The fox turns around in a circle and then jumps onto a bush! It grins wickedly and wags its fat tail. As the lazy dog puts its head on its paws and cracks a sleepy eye open, a slow grin forms on its face. The fox has fallen into the bush and is yelping and squeaking.', snippet: 'The quick brown fox jumps over the lazy dog and then the lazy dog rolls over and sighs. The fox turns', }, { purpose: 'process basic HTML correctly', body: '
Unicorns are native to the hillsides of Flatagonia.
', snippet: 'PONIES AND RAINBOWS AND UNICORNS Unicorns are native to the hillsides of Flatagonia.', }, { purpose: 'properly strip rogue styling inside of and trim whitespace in HTML', body: '\n \n \n \nLook ma, no CSS!
', snippet: 'Look ma, no CSS!', }, { purpose: 'properly processUnicorns are
Unicorns arenative to the
', snippet: 'Unicorns are native to the', }, { purpose: "don't add extraneous spaces after text format markup", body: `