| // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| import 'dart:async'; |
| import 'dart:io'; |
| import 'dart:isolate'; |
| |
| const int answer = 42; |
| |
| String fooSync(int x) { |
| if (x == answer) { |
| return '*' * x; |
| } |
| return List.generate(x, (_) => 'xyzzy').join(' '); |
| } |
| |
| class BarClass { |
| int x; |
| |
| BarClass(this.x); |
| |
| void baz() { |
| print(x); |
| } |
| } |
| |
| Future<String> fooAsync(int x) async { |
| if (x == answer) { |
| return '*' * x; |
| } |
| return List.generate(x, (_) => 'xyzzy').join(' '); |
| } |
| |
| /// The number of covered lines is tested and expected to be 4. |
| /// |
| /// If you modify this method, you may have to update the tests! |
| void isolateTask(dynamic threeThings) { |
| sleep(const Duration(milliseconds: 500)); |
| |
| fooSync(answer); |
| fooAsync(answer).then((_) { |
| final port = threeThings.first as SendPort; |
| final sum = (threeThings[1] + threeThings[2]) as int; |
| port.send(sum); |
| }); |
| |
| final bar = BarClass(123); |
| bar.baz(); |
| |
| print('678'); // coverage:ignore-line |
| |
| // coverage:ignore-start |
| print('1'); |
| print('2'); |
| print('3'); |
| // coverage:ignore-end |
| |
| print('4'); |
| print('5'); |
| |
| print('6'); // coverage:ignore-start |
| print('7'); |
| print('8'); |
| // coverage:ignore-end |
| print('9'); // coverage:ignore-start |
| print('10'); |
| print('11'); // coverage:ignore-line |
| // coverage:ignore-end |
| } |