@@ -51,7 +51,7 @@ describe("runtime", () => {
51
51
throw new Error ( "Forgot to remove `solo: true` from test" ) ;
52
52
}
53
53
54
- ( config . skip ? it . skip : config . solo ? it . only : it ) ( `${ dir } (${ shared ? 'shared' : 'inline' } helpers)` , async ( ) => {
54
+ ( config . skip ? it . skip : config . solo ? it . only : it ) ( `${ dir } (${ shared ? 'shared' : 'inline' } helpers)` , ( ) => {
55
55
if ( failed . has ( dir ) ) {
56
56
// this makes debugging easier, by only printing compiled output once
57
57
throw new Error ( 'skipping test, already failed' ) ;
@@ -105,95 +105,98 @@ describe("runtime", () => {
105
105
106
106
const window = env ( ) ;
107
107
108
- try {
109
- // set of hacks to support transition tests
110
- transitionManager . running = false ;
111
- transitionManager . transitions = [ ] ;
112
-
113
- const raf = {
114
- time : 0 ,
115
- callback : null ,
116
- tick : now => {
117
- raf . time = now ;
118
- if ( raf . callback ) raf . callback ( ) ;
119
- }
120
- } ;
121
- window . performance = { now : ( ) => raf . time } ;
122
- global . requestAnimationFrame = cb => {
123
- let called = false ;
124
- raf . callback = ( ) => {
125
- if ( ! called ) {
126
- called = true ;
127
- cb ( ) ;
108
+ return Promise . resolve ( )
109
+ . then ( ( ) => {
110
+ // set of hacks to support transition tests
111
+ transitionManager . running = false ;
112
+ transitionManager . transitions = [ ] ;
113
+
114
+ const raf = {
115
+ time : 0 ,
116
+ callback : null ,
117
+ tick : now => {
118
+ raf . time = now ;
119
+ if ( raf . callback ) raf . callback ( ) ;
128
120
}
129
121
} ;
130
- } ;
131
-
132
- global . window = window ;
122
+ window . performance = { now : ( ) => raf . time } ;
123
+ global . requestAnimationFrame = cb => {
124
+ let called = false ;
125
+ raf . callback = ( ) => {
126
+ if ( ! called ) {
127
+ called = true ;
128
+ cb ( ) ;
129
+ }
130
+ } ;
131
+ } ;
133
132
134
- try {
135
- SvelteComponent = require ( `./samples/${ dir } /main.html` ) ;
136
- } catch ( err ) {
137
- showOutput ( cwd , { shared, format : 'cjs' , hydratable : hydrate } , svelte ) ; // eslint-disable-line no-console
138
- throw err ;
139
- }
133
+ global . window = window ;
140
134
141
- global . window = window ;
135
+ try {
136
+ SvelteComponent = require ( `./samples/${ dir } /main.html` ) ;
137
+ } catch ( err ) {
138
+ showOutput ( cwd , { shared, format : 'cjs' , hydratable : hydrate } , svelte ) ; // eslint-disable-line no-console
139
+ throw err ;
140
+ }
142
141
143
- // Put the constructor on window for testing
144
- window . SvelteComponent = SvelteComponent ;
142
+ global . window = window ;
145
143
146
- const target = window . document . querySelector ( "main" ) ;
144
+ // Put the constructor on window for testing
145
+ window . SvelteComponent = SvelteComponent ;
147
146
148
- const warnings = [ ] ;
149
- const warn = console . warn ;
150
- console . warn = warning => {
151
- warnings . push ( warning ) ;
152
- } ;
147
+ const target = window . document . querySelector ( "main" ) ;
153
148
154
- const options = Object . assign ( { } , {
155
- target ,
156
- hydrate ,
157
- data : config . data
158
- } , config . options || { } ) ;
149
+ const warnings = [ ] ;
150
+ const warn = console . warn ;
151
+ console . warn = warning => {
152
+ warnings . push ( warning ) ;
153
+ } ;
159
154
160
- const component = new SvelteComponent ( options ) ;
155
+ const options = Object . assign ( { } , {
156
+ target,
157
+ hydrate,
158
+ data : config . data
159
+ } , config . options || { } ) ;
161
160
162
- console . warn = warn ;
161
+ const component = new SvelteComponent ( options ) ;
163
162
164
- if ( config . error ) {
165
- unintendedError = true ;
166
- throw new Error ( "Expected a runtime error" ) ;
167
- }
163
+ console . warn = warn ;
168
164
169
- if ( config . warnings ) {
170
- assert . deepEqual ( warnings , config . warnings ) ;
171
- } else if ( warnings . length ) {
172
- unintendedError = true ;
173
- throw new Error ( "Received unexpected warnings" ) ;
174
- }
165
+ if ( config . error ) {
166
+ unintendedError = true ;
167
+ throw new Error ( "Expected a runtime error" ) ;
168
+ }
175
169
176
- if ( config . html ) {
177
- assert . htmlEqual ( target . innerHTML , config . html ) ;
178
- }
170
+ if ( config . warnings ) {
171
+ assert . deepEqual ( warnings , config . warnings ) ;
172
+ } else if ( warnings . length ) {
173
+ unintendedError = true ;
174
+ throw new Error ( "Received unexpected warnings" ) ;
175
+ }
179
176
180
- if ( config . test ) {
181
- await config . test ( assert , component , target , window , raf ) ;
182
- } else {
183
- component . destroy ( ) ;
184
- assert . equal ( target . innerHTML , "" ) ;
185
- }
186
- } catch ( err ) {
187
- if ( config . error && ! unintendedError ) {
188
- config . error ( assert , err ) ;
189
- } else {
190
- failed . add ( dir ) ;
191
- showOutput ( cwd , { shared, format : 'cjs' , hydratable : hydrate } , svelte ) ; // eslint-disable-line no-console
192
- throw err ;
193
- }
194
- }
177
+ if ( config . html ) {
178
+ assert . htmlEqual ( target . innerHTML , config . html ) ;
179
+ }
195
180
196
- if ( config . show ) showOutput ( cwd , { shared, format : 'cjs' , hydratable : hydrate } , svelte ) ;
181
+ if ( config . test ) {
182
+ return config . test ( assert , component , target , window , raf ) ;
183
+ } else {
184
+ component . destroy ( ) ;
185
+ assert . equal ( target . innerHTML , "" ) ;
186
+ }
187
+ } )
188
+ . catch ( err => {
189
+ if ( config . error && ! unintendedError ) {
190
+ config . error ( assert , err ) ;
191
+ } else {
192
+ failed . add ( dir ) ;
193
+ showOutput ( cwd , { shared, format : 'cjs' , hydratable : hydrate } , svelte ) ; // eslint-disable-line no-console
194
+ throw err ;
195
+ }
196
+ } )
197
+ . then ( ( ) => {
198
+ if ( config . show ) showOutput ( cwd , { shared, format : 'cjs' , hydratable : hydrate } , svelte ) ;
199
+ } ) ;
197
200
} ) ;
198
201
}
199
202
0 commit comments