Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library allocations_test; | 5 library allocations_test; |
| 6 | 6 |
| 7 import 'test_helper.dart'; | |
| 8 import 'package:observatory/service_io.dart'; | 7 import 'package:observatory/service_io.dart'; |
| 9 import 'package:unittest/unittest.dart'; | 8 import 'package:unittest/unittest.dart'; |
| 9 import 'test_helper.dart'; | |
| 10 | 10 |
| 11 import 'dart:io'; | 11 class Foo { |
| 12 } | |
| 13 List<Foo> foos; | |
| 12 | 14 |
| 13 main() { | 15 void script() { |
| 14 String script = 'allocations_script.dart'; | 16 foos = [new Foo(), new Foo(), new Foo()]; |
| 15 var process = new TestLauncher(script); | |
| 16 process.launch().then((port) { | |
| 17 String addr = 'ws://localhost:$port/ws'; | |
| 18 new WebSocketVM(new WebSocketVMTarget(addr)).get('vm') | |
| 19 .then((VM vm) => vm.isolates.first.load()) | |
| 20 .then((Isolate isolate) => isolate.rootLib.load()) | |
| 21 .then((Library lib) { | |
| 22 expect(lib.url.endsWith(script), isTrue); | |
| 23 return lib.classes.first.load(); | |
| 24 }) | |
| 25 .then((Class fooClass) { | |
| 26 expect(fooClass.name, equals('Foo')); | |
| 27 expect(fooClass.newSpace.accumulated.instances + | |
| 28 fooClass.oldSpace.accumulated.instances, equals(3)); | |
| 29 exit(0); | |
| 30 }); | |
| 31 }); | |
| 32 } | 17 } |
| 18 | |
| 19 var tests = [ | |
| 20 | |
| 21 (Isolate isolate) => | |
| 22 isolate.rootLib.load().then((Library lib) { | |
| 23 expect(lib.url.endsWith('allocations_test.dart'), isTrue); | |
| 24 return lib.classes.first.load().then((Class fooClass) { | |
|
Cutch
2014/08/12 14:33:07
Will 'Foo' always be the first class?
koda
2014/08/12 16:53:08
It's actually the only class; I added an 'expect'.
| |
| 25 expect(fooClass.name, equals('Foo')); | |
| 26 expect(fooClass.newSpace.accumulated.instances + | |
| 27 fooClass.oldSpace.accumulated.instances, equals(3)); | |
| 28 }); | |
| 29 }), | |
| 30 | |
| 31 ]; | |
| 32 | |
| 33 main(args) => runIsolateTests(args, tests, testeeBefore: script); | |
| OLD | NEW |