// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// A test script that invokes compute() to start an isolate.

import 'dart:isolate';

import 'package:flutter/src/foundation/_isolates_io.dart';

int getLength(String s) {
  final ReceivePort r = ReceivePort();
  try {
    throw r;
  } finally {
    r.close();
  }
}

Future<void> main() async {
  const String s = 'hello world';

  bool wasError = false;
  try {
    await compute(getLength, s);
  } on RemoteError {
    wasError = true;
  }
  if (!wasError) {
    throw Exception('compute threw bad result');
  }
}