This commit is contained in:
ekibun
2021-01-24 21:12:13 +08:00
parent 6b0bab2faf
commit ee110f55e1
12 changed files with 202 additions and 170 deletions

View File

@@ -73,7 +73,7 @@ class _TestPageState extends State<TestPage> {
CodeInputController _controller = CodeInputController(
text: 'import("hello").then(({default: greet}) => greet("world"));');
_ensureEngine() {
_ensureEngine() async {
if (engine != null) return;
engine = IsolateQjs(
moduleHandler: (String module) async {
@@ -82,7 +82,9 @@ class _TestPageState extends State<TestPage> {
"js/" + module.replaceFirst(new RegExp(r".js$"), "") + ".js");
},
);
engine.setToGlobalObject("channel", methodHandler);
final setToGlobalObject =
await engine.evaluate("(key, val) => this[key] = val;");
setToGlobalObject("channel", methodHandler);
}
@override
@@ -103,7 +105,7 @@ class _TestPageState extends State<TestPage> {
FlatButton(
child: Text("evaluate"),
onPressed: () async {
_ensureEngine();
await _ensureEngine();
try {
resp = (await engine.evaluate(_controller.text ?? '',
name: "<eval>"))

View File

@@ -82,7 +82,7 @@ packages:
path: ".."
relative: true
source: path
version: "0.2.7"
version: "0.3.0"
flutter_test:
dependency: "direct dev"
description: flutter

View File

@@ -1,27 +0,0 @@
// This is a basic Flutter widget test.
//
// To perform an interaction with a widget in your test, use the WidgetTester
// utility that Flutter provides. For example, you can send tap and scroll
// gestures. You can also use WidgetTester to find child widgets in the widget
// tree, read text, and verify that the values of widget properties are correct.
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_qjs_example/main.dart';
void main() {
testWidgets('Verify Platform version', (WidgetTester tester) async {
// Build our app and trigger a frame.
await tester.pumpWidget(MyApp());
// Verify that platform version is retrieved.
expect(
find.byWidgetPredicate(
(Widget widget) =>
widget is Text && widget.data.startsWith('Running on:'),
),
findsOneWidget,
);
});
}