blob: 6166cd3b863478b020e05bdfb590eef13323ecc2 [file] [log] [blame]
// Copyright 2013 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:js_interop';
import 'package:test/bootstrap/browser.dart';
import 'package:test/test.dart';
import 'package:ui/src/engine.dart';
import 'common.dart';
void main() {
internalBootstrapBrowserTest(() => testMain);
}
// This test exists to make sure we don't accidentally run the CanvasKit test suite
// in "auto" mode. The CanvasKit variant should always be deterministic.
void testMain() {
setUpCanvasKitTest();
test('CanvasKit tests always run with a specific variant', () {
expect(
configuration.canvasKitVariant,
anyOf(CanvasKitVariant.chromium, CanvasKitVariant.full),
reason: 'canvasKitVariant must be set to "chromium" or "full" in canvaskit tests!',
);
});
test('debugOverrideJsConfiguration can bypass (and restore) variant', () {
// Set-up in the test_platform.dart file. See `_testBootstrapHandler`.
final CanvasKitVariant originalValue = configuration.canvasKitVariant;
expect(configuration.canvasKitVariant, isNot(CanvasKitVariant.auto));
debugOverrideJsConfiguration(
<String, Object?>{
'canvasKitVariant': 'auto',
}.jsify() as JsFlutterConfiguration?
);
expect(configuration.canvasKitVariant, CanvasKitVariant.auto);
debugOverrideJsConfiguration(null);
expect(configuration.canvasKitVariant, originalValue);
});
}