blob: 2ad922ced25f5feb7e7f219afb5d238362d9eff9 [file] [log] [blame]
// Copyright (c) 2022, 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.
// Most tests for [ResourceHandle] are in unix_socket_test.dart.
import 'dart:async';
import 'dart:convert';
import 'dart:io';
import 'package:expect/expect.dart';
import 'test_utils.dart' show throws, withTempDir;
Future testToCallsAfterFromFile(String tempDirPath) async {
final file = File('$tempDirPath/sock1');
await file.create();
final openFile = await file.open();
final handle = ResourceHandle.fromFile(openFile);
handle.toFile().close();
throws(handle.toFile, (e) => e is StateError);
throws(handle.toRawDatagramSocket, (e) => e is StateError);
throws(handle.toRawSocket, (e) => e is StateError);
throws(handle.toSocket, (e) => e is StateError);
throws(handle.toReadPipe, (e) => e is StateError);
throws(handle.toWritePipe, (e) => e is StateError);
}
void main(List<String> args) async {
if (!Platform.isMacOS && !Platform.isLinux && !Platform.isAndroid) {
return;
}
await withTempDir('resource_handle_test', (Directory dir) async {
await testToCallsAfterFromFile('${dir.path}');
});
}