blob: 6ff8ebfd3db9335c6821bf81cccdb266918399da [file] [log] [blame]
// 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.
import 'dart:typed_data';
import 'package:flutter/services.dart';
const MethodChannel _kMethodChannel = MethodChannel('tests.flutter.dev/windows_startup_test');
/// Returns true if the application's window is visible.
Future<bool> isWindowVisible() async {
final bool? visible = await _kMethodChannel.invokeMethod<bool?>('isWindowVisible');
if (visible == null) {
throw 'Method channel unavailable';
}
return visible;
}
/// Returns true if the app's dark mode is enabled.
Future<bool> isAppDarkModeEnabled() async {
final bool? enabled = await _kMethodChannel.invokeMethod<bool?>('isAppDarkModeEnabled');
if (enabled == null) {
throw 'Method channel unavailable';
}
return enabled;
}
/// Returns true if the operating system dark mode setting is enabled.
Future<bool> isSystemDarkModeEnabled() async {
final bool? enabled = await _kMethodChannel.invokeMethod<bool?>('isSystemDarkModeEnabled');
if (enabled == null) {
throw 'Method channel unavailable';
}
return enabled;
}
/// Test conversion of a UTF16 string to UTF8 using the app template utils.
Future<String> testStringConversion(Int32List twoByteCodes) async {
final String? converted = await _kMethodChannel.invokeMethod<String?>(
'convertString',
twoByteCodes,
);
if (converted == null) {
throw 'Method channel unavailable.';
}
return converted;
}
/// Test that Utf8FromUtf16 handles nullptr gracefully.
Future<String> testNullStringConversion() async {
final String? converted = await _kMethodChannel.invokeMethod<String?>('convertNullString');
if (converted == null) {
throw 'Method channel unavailable.';
}
return converted;
}
/// Test that Utf8FromUtf16 handles empty string gracefully.
Future<String> testEmptyStringConversion() async {
final String? converted = await _kMethodChannel.invokeMethod<String?>('convertEmptyString');
if (converted == null) {
throw 'Method channel unavailable.';
}
return converted;
}
/// Test that Utf8FromUtf16 handles invalid UTF-16 (unpaired surrogate) gracefully.
Future<String> testInvalidUtf16Conversion() async {
final String? converted = await _kMethodChannel.invokeMethod<String?>('convertInvalidUtf16');
if (converted == null) {
throw 'Method channel unavailable.';
}
return converted;
}