forked from webpack-contrib/css-loader
-
Notifications
You must be signed in to change notification settings - Fork 0
/
one-letter-css.test.js
98 lines (93 loc) · 1.54 KB
/
one-letter-css.test.js
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
import { OneLetterCss } from '../src/plugins';
/* webpack set */
const workSets = [
{
in: [
{
resourcePath: './file1.css',
},
'[hash:base64:8]',
'theme-white',
],
out: ['a2zADNwsK'],
},
{
in: [
{
resourcePath: './file1.css',
},
'[hash:base64:8]',
'theme-blue',
],
out: ['b2zADNwsK'],
},
{
in: [
{
resourcePath: './file2.css',
},
'[hash:base64:8]',
'text-white',
],
out: ['a2jlx459O'],
},
{
in: [
{
resourcePath: './file2.css',
},
'[hash:base64:8]',
'text-blue',
],
out: ['b2jlx459O'],
},
// for develop case
{
in: [
{
resourcePath: './file2.css',
},
'[local]__[hash:base64:8]',
'text-blue',
],
out: ['text-blue__b2jlx459O'],
},
];
/* encoding test set */
const encodingSets = [
{
in: [0],
out: ['a'],
},
{
in: [1],
out: ['b'],
},
{
in: [51],
out: ['Z'],
},
{
in: [52],
out: ['ba'],
},
{
in: [53],
out: ['bb'],
},
];
const MyOneLetterCss = new OneLetterCss();
describe('testing work case', () => {
workSets.forEach((set) => {
it(`should check name generate`, () => {
expect(MyOneLetterCss.getLocalIdent(...set.in)).toEqual(...set.out);
});
});
});
describe('testing encoding method', () => {
encodingSets.forEach((set) => {
it(`should check name generate`, () => {
expect(MyOneLetterCss.getName(...set.in)).toEqual(...set.out);
});
});
});