1
- import assert from " assert" ;
2
- import * as fs from "fs" ;
3
- import { env , normalizeHtml , svelte } from " ../helpers.js" ;
1
+ import assert from ' assert' ;
2
+ import * as fs from 'fs' ;
3
+ import { env , normalizeHtml , svelte } from ' ../helpers.js' ;
4
4
5
5
function tryRequire ( file ) {
6
6
try {
7
7
const mod = require ( file ) ;
8
8
return mod . default || mod ;
9
9
} catch ( err ) {
10
- if ( err . code !== " MODULE_NOT_FOUND" ) throw err ;
10
+ if ( err . code !== ' MODULE_NOT_FOUND' ) throw err ;
11
11
return null ;
12
12
}
13
13
}
14
14
15
15
function normalizeWarning ( warning ) {
16
- warning . frame = warning . frame . replace ( / ^ \n / , '' ) . replace ( / ^ \t + / gm, '' ) . replace ( / \s + $ / gm, '' ) ;
16
+ warning . frame = warning . frame
17
+ . replace ( / ^ \n / , '' )
18
+ . replace ( / ^ \t + / gm, '' )
19
+ . replace ( / \s + $ / gm, '' ) ;
17
20
delete warning . filename ;
18
21
delete warning . toString ;
19
22
return warning ;
20
23
}
21
24
22
- describe ( " css" , ( ) => {
23
- fs . readdirSync ( " test/css/samples" ) . forEach ( dir => {
24
- if ( dir [ 0 ] === "." ) return ;
25
+ describe ( ' css' , ( ) => {
26
+ fs . readdirSync ( ' test/css/samples' ) . forEach ( dir => {
27
+ if ( dir [ 0 ] === '.' ) return ;
25
28
26
29
// add .solo to a sample directory name to only run that test
27
30
const solo = / \. s o l o / . test ( dir ) ;
28
31
const skip = / \. s k i p / . test ( dir ) ;
29
32
30
33
if ( solo && process . env . CI ) {
31
- throw new Error ( " Forgot to remove `solo: true` from test" ) ;
34
+ throw new Error ( ' Forgot to remove `solo: true` from test' ) ;
32
35
}
33
36
34
37
( solo ? it . only : skip ? it . skip : it ) ( dir , ( ) => {
35
38
const config = tryRequire ( `./samples/${ dir } /_config.js` ) || { } ;
36
39
const input = fs
37
- . readFileSync ( `test/css/samples/${ dir } /input.html` , " utf-8" )
38
- . replace ( / \s + $ / , "" ) ;
40
+ . readFileSync ( `test/css/samples/${ dir } /input.html` , ' utf-8' )
41
+ . replace ( / \s + $ / , '' ) ;
39
42
40
43
const expectedWarnings = ( config . warnings || [ ] ) . map ( normalizeWarning ) ;
41
44
const domWarnings = [ ] ;
42
45
const ssrWarnings = [ ] ;
43
46
44
- const dom = svelte . compile ( input , Object . assign ( config , {
45
- format : 'iife' ,
46
- name : 'SvelteComponent' ,
47
- onwarn : warning => {
48
- domWarnings . push ( warning ) ;
49
- }
50
- } ) ) ;
51
-
52
- const ssr = svelte . compile ( input , Object . assign ( config , {
53
- format : 'iife' ,
54
- generate : 'ssr' ,
55
- name : 'SvelteComponent' ,
56
- onwarn : warning => {
57
- ssrWarnings . push ( warning ) ;
58
- }
59
- } ) ) ;
47
+ const dom = svelte . compile (
48
+ input ,
49
+ Object . assign ( config , {
50
+ format : 'iife' ,
51
+ name : 'SvelteComponent' ,
52
+ onwarn : warning => {
53
+ domWarnings . push ( warning ) ;
54
+ }
55
+ } )
56
+ ) ;
57
+
58
+ const ssr = svelte . compile (
59
+ input ,
60
+ Object . assign ( config , {
61
+ format : 'iife' ,
62
+ generate : 'ssr' ,
63
+ name : 'SvelteComponent' ,
64
+ onwarn : warning => {
65
+ ssrWarnings . push ( warning ) ;
66
+ }
67
+ } )
68
+ ) ;
60
69
61
70
assert . equal ( dom . css , ssr . css ) ;
62
71
63
- assert . deepEqual ( domWarnings . map ( normalizeWarning ) , ssrWarnings . map ( normalizeWarning ) ) ;
72
+ assert . deepEqual (
73
+ domWarnings . map ( normalizeWarning ) ,
74
+ ssrWarnings . map ( normalizeWarning )
75
+ ) ;
64
76
assert . deepEqual ( domWarnings . map ( normalizeWarning ) , expectedWarnings ) ;
65
77
66
78
fs . writeFileSync ( `test/css/samples/${ dir } /_actual.css` , dom . css ) ;
@@ -75,25 +87,32 @@ describe("css", () => {
75
87
if ( expected . html !== null ) {
76
88
const window = env ( ) ;
77
89
78
- const Component = eval ( `(function () { ${ dom . code } ; return SvelteComponent; }())` ) ;
79
- const target = window . document . querySelector ( "main" ) ;
90
+ const Component = eval (
91
+ `(function () { ${ dom . code } ; return SvelteComponent; }())`
92
+ ) ;
93
+ const target = window . document . querySelector ( 'main' ) ;
80
94
81
95
new Component ( { target, data : config . data } ) ;
82
96
const html = target . innerHTML ;
83
97
84
- // dom
85
- assert . equal (
86
- normalizeHtml ( window , html . replace ( / s v e l t e - \d + / g, 'svelte-xyz' ) ) ,
87
- normalizeHtml ( window , expected . html )
88
- ) ;
89
-
90
98
fs . writeFileSync ( `test/css/samples/${ dir } /_actual.html` , html ) ;
91
99
100
+ // dom
101
+ assert . equal (
102
+ normalizeHtml ( window , html . replace ( / s v e l t e - \d + / g, 'svelte-xyz' ) ) ,
103
+ normalizeHtml ( window , expected . html )
104
+ ) ;
105
+
92
106
// ssr
93
- const component = eval ( `(function () { ${ ssr . code } ; return SvelteComponent; }())` ) ;
107
+ const component = eval (
108
+ `(function () { ${ ssr . code } ; return SvelteComponent; }())`
109
+ ) ;
94
110
95
111
assert . equal (
96
- normalizeHtml ( window , component . render ( config . data ) . replace ( / s v e l t e - \d + / g, 'svelte-xyz' ) ) ,
112
+ normalizeHtml (
113
+ window ,
114
+ component . render ( config . data ) . replace ( / s v e l t e - \d + / g, 'svelte-xyz' )
115
+ ) ,
97
116
normalizeHtml ( window , expected . html )
98
117
) ;
99
118
}
@@ -104,7 +123,7 @@ describe("css", () => {
104
123
function read ( file ) {
105
124
try {
106
125
return fs . readFileSync ( file , 'utf-8' ) ;
107
- } catch ( err ) {
126
+ } catch ( err ) {
108
127
return null ;
109
128
}
110
- }
129
+ }
0 commit comments