Chromium Code Reviews| Index: runtime/observatory/tests/service/next_through_assign_call_test.dart |
| diff --git a/runtime/observatory/tests/service/next_through_assign_call_test.dart b/runtime/observatory/tests/service/next_through_assign_call_test.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..66bbc01beadf768dc0fa6ea8c2cbea8f8a6b9c6c |
| --- /dev/null |
| +++ b/runtime/observatory/tests/service/next_through_assign_call_test.dart |
| @@ -0,0 +1,57 @@ |
| +import 'test_helper.dart'; |
|
Kevin Millikin (Google)
2017/02/08 15:37:51
Even tests should have a license header.
jensj
2017/02/13 14:04:16
Done.
|
| +import 'service_test_common.dart'; |
| + |
| +const int LINE_A = 8; |
| +const String file = "next_through_assign_call_test.dart"; |
| + |
| +code() { |
| + int a; |
| + int b; |
| + a = b = foo(); |
| + print(a); |
| + print(b); |
| + a = foo(); |
| + print(a); |
| + int d = foo(); |
| + print(d); |
| + int e = foo(), f, g = foo(); |
| + print(e); |
| + print(f); |
| + print(g); |
| +} |
| + |
| +foo() { |
| + return 42; |
| +} |
| + |
| +List<String> stops = []; |
| +List<String> expected = [ |
| + "$file:${LINE_A+0}:7", |
| + "$file:${LINE_A+1}:7", |
| + "$file:${LINE_A+2}:11", |
| + "$file:${LINE_A+3}:3", |
| + "$file:${LINE_A+4}:3", |
| + "$file:${LINE_A+5}:7", |
| + "$file:${LINE_A+6}:3", |
| + "$file:${LINE_A+7}:11", |
| + "$file:${LINE_A+8}:3", |
| + "$file:${LINE_A+9}:11", |
| + "$file:${LINE_A+9}:18", |
| + "$file:${LINE_A+9}:25", |
| + "$file:${LINE_A+10}:3", |
| + "$file:${LINE_A+11}:3", |
| + "$file:${LINE_A+12}:3", |
| + "$file:${LINE_A+13}:1" |
| +]; |
| + |
| +var tests = [ |
| + hasPausedAtStart, |
| + setBreakpointAtLine(LINE_A), |
| + runStepThroughProgramRecordingStops(stops), |
| + checkRecordedStops(stops, expected) |
| +]; |
| + |
| +main(args) { |
| + runIsolateTestsSynchronous(args, tests, |
| + testeeConcurrent: code, pause_on_start: true, pause_on_exit: true); |
| +} |