-
-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathbasic-options.test.ts
79 lines (66 loc) · 3.14 KB
/
basic-options.test.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
import postcss from 'postcss';
import postcssRTLCSS from '../src';
import { PluginOptions, Source } from '../src/@types';
import {
readCSSFile,
runTests,
createSnapshotFileName
} from './utils';
import 'jest-specific-snapshot';
const BASE_NAME = 'basic-options';
runTests({}, (pluginOptions: PluginOptions): void => {
describe(`[[Mode: ${pluginOptions.mode}]] Basic Options Tests: `, (): void => {
let input = '';
beforeEach(async (): Promise<void> => {
input = input || await readCSSFile('input.css');
});
it('Basic', (): void => {
const options: PluginOptions = { ...pluginOptions };
const output = postcss([postcssRTLCSS(options)]).process(input);
expect(output.css).toMatchSpecificSnapshot(
createSnapshotFileName(BASE_NAME,'basic', pluginOptions.mode)
);
expect(output.warnings()).toHaveLength(0);
});
it('{source: rtl}', (): void => {
const options: PluginOptions = { ...pluginOptions, source: Source.rtl };
const output = postcss([postcssRTLCSS(options)]).process(input);
expect(output.css).toMatchSpecificSnapshot(
createSnapshotFileName(BASE_NAME,'source-rtl', pluginOptions.mode)
);
expect(output.warnings()).toHaveLength(0);
});
it('{processUrls: true}', (): void => {
const options: PluginOptions = { ...pluginOptions, processUrls: true };
const output = postcss([postcssRTLCSS(options)]).process(input);
expect(output.css).toMatchSpecificSnapshot(
createSnapshotFileName(BASE_NAME,'process-url-true', pluginOptions.mode)
);
expect(output.warnings()).toHaveLength(0);
});
it('{processKeyFrames: true}', (): void => {
const options: PluginOptions = { ...pluginOptions, processKeyFrames: true };
const output = postcss([postcssRTLCSS(options)]).process(input);
expect(output.css).toMatchSpecificSnapshot(
createSnapshotFileName(BASE_NAME,'process-keyframes-true', pluginOptions.mode)
);
expect(output.warnings()).toHaveLength(0);
});
it('{source: rtl, processKeyFrames: true}', (): void => {
const options: PluginOptions = { ...pluginOptions, source: Source.rtl, processKeyFrames: true };
const output = postcss([postcssRTLCSS(options)]).process(input);
expect(output.css).toMatchSpecificSnapshot(
createSnapshotFileName(BASE_NAME,'source-rtl-and-process-keyframes-true', pluginOptions.mode)
);
expect(output.warnings()).toHaveLength(0);
});
it('{useCalc: true}', (): void => {
const options: PluginOptions = { ...pluginOptions, useCalc: true };
const output = postcss([postcssRTLCSS(options)]).process(input);
expect(output.css).toMatchSpecificSnapshot(
createSnapshotFileName(BASE_NAME,'use-calc-true', pluginOptions.mode)
);
expect(output.warnings()).toHaveLength(0);
});
});
});