blob: 2573adae4a49a9f305fba05d603cbf08fedc818c [file] [log] [blame]
// Copyright (c) 2013, 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.
// VMOptions=--enable-isolate-groups
// VMOptions=--no-enable-isolate-groups
//
// Dart test program for testing typed data.
// Library tag to be able to run in html test framework.
library TypedDataIsolateTest;
import 'dart:io';
import 'dart:isolate';
import 'package:async_helper/async_helper.dart';
import "package:expect/expect.dart";
second(message) {
var data = message[0];
var replyTo = message[1];
try {
print('got data');
var rdata = new File(Platform.script.toFilePath()).readAsBytesSync();
Expect.equals(data.length, rdata.length);
for (int i = 0; i < data.length; i++) {
Expect.equals(data[i], rdata[i]);
}
print('validated received data');
replyTo.send('OK');
} catch (e) {
replyTo.send('Not OK');
}
}
main() {
var result = true;
asyncStart();
new File(Platform.script.toFilePath()).readAsBytes().then((List<int> data) {
var response = new ReceivePort();
var remote = Isolate.spawn(second, [data, response.sendPort]);
response.first.then((reply) {
print('got reply');
result = (reply == 'OK');
asyncEnd();
Expect.isTrue(result);
});
});
}