@@ -233,6 +233,43 @@ void sharedTests(Future<TestProcess> runSass(Iterable<String> arguments)) {
233
233
.file ("out.css" , equalsIgnoringWhitespace ("x { y: z; }" ))
234
234
.validate ();
235
235
});
236
+
237
+ // Regression test for #550
238
+ test ("with an error that's later fixed" , () async {
239
+ await d.file ("_other.scss" , "a {b: c}" ).create ();
240
+ await d.file ("test.scss" , "@import 'other'" ).create ();
241
+
242
+ var sass = await watch (["test.scss:out.css" ]);
243
+ await expectLater (
244
+ sass.stdout, emits ('Compiled test.scss to out.css.' ));
245
+ await expectLater (sass.stdout, _watchingForChanges);
246
+ await tickIfPoll ();
247
+
248
+ await d.file ("_other.scss" , "a {b: }" ).create ();
249
+ await expectLater (
250
+ sass.stderr, emits ('Error: Expected expression.' ));
251
+ await expectLater (
252
+ sass.stderr, emitsThrough (contains ('test.scss 1:9' )));
253
+ await tickIfPoll ();
254
+
255
+ await d.file ("_other.scss" , "q {r: s}" ).create ();
256
+ await expectLater (
257
+ sass.stdout, emits ('Compiled test.scss to out.css.' ));
258
+ await tick;
259
+ await d
260
+ .file ("out.css" , equalsIgnoringWhitespace ("q { r: s; }" ))
261
+ .validate ();
262
+
263
+ await d.file ("_other.scss" , "x {y: z}" ).create ();
264
+ await expectLater (
265
+ sass.stdout, emits ('Compiled test.scss to out.css.' ));
266
+ await tick;
267
+ await d
268
+ .file ("out.css" , equalsIgnoringWhitespace ("x { y: z; }" ))
269
+ .validate ();
270
+
271
+ await sass.kill ();
272
+ });
236
273
});
237
274
238
275
test ("when it's deleted and re-added" , () async {
0 commit comments