Mailspring/app/spec/services/autolinker-spec.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

24 lines
850 B
TypeScript

import fs from 'fs';
import path from 'path';
import { Autolink } from '../../src/services/autolinker';
describe('autolink', function autolinkSpec() {
const fixturesDir = path.join(__dirname, 'autolinker-fixtures');
fs.readdirSync(fixturesDir)
.filter(filename => filename.indexOf('-in.html') !== -1)
.forEach(filename => {
it(`should properly autolink a variety of email bodies ${filename}`, () => {
const div = document.createElement('div');
const inputPath = path.join(fixturesDir, filename);
const expectedPath = inputPath.replace('-in', '-out');
const input = fs.readFileSync(inputPath).toString();
const expected = fs.readFileSync(expectedPath).toString();
div.innerHTML = input;
Autolink(div);
expect(div.innerHTML).toEqual(expected);
});
});
});