Skip to content

Commit f8c74d1

Browse files
committed
Add a regression test for #550
1 parent 01ed720 commit f8c74d1

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

test/cli/shared/watch.dart

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,43 @@ void sharedTests(Future<TestProcess> runSass(Iterable<String> arguments)) {
233233
.file("out.css", equalsIgnoringWhitespace("x { y: z; }"))
234234
.validate();
235235
});
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+
});
236273
});
237274

238275
test("when it's deleted and re-added", () async {

0 commit comments

Comments
 (0)