|
|
@@ -250,6 +250,31 @@ void main() {
|
|
|
expect(await lastExpr(tester), 'Solve[x-1==0, x]');
|
|
|
});
|
|
|
|
|
|
+ testWidgets('拼一个行列式 Det[{{1,2},{3,4}}]', (tester) async {
|
|
|
+ await pumpApp(tester);
|
|
|
+ // 函数面板取 Det
|
|
|
+ await tester.tap(find.byIcon(Icons.functions));
|
|
|
+ await tester.pumpAndSettle();
|
|
|
+ await tester.enterText(find.byType(TextField).last, 'Det');
|
|
|
+ await tester.pumpAndSettle();
|
|
|
+ // 用 ListTile 限定,否则会同时命中搜索框里刚输入的 "Det"
|
|
|
+ await tester.tap(find.widgetWithText(ListTile, 'Det'));
|
|
|
+ await tester.pumpAndSettle();
|
|
|
+
|
|
|
+ // 两层花括号 + 数字
|
|
|
+ await press(tester, '{');
|
|
|
+ await press(tester, '{');
|
|
|
+ await press(tester, '1');
|
|
|
+ await press(tester, ',');
|
|
|
+ await press(tester, '2');
|
|
|
+ await press(tester, '},{');
|
|
|
+ await press(tester, '3');
|
|
|
+ await press(tester, ',');
|
|
|
+ await press(tester, '4');
|
|
|
+
|
|
|
+ expect(await lastExpr(tester), 'Det[{{1,2}, {3,4}}]');
|
|
|
+ });
|
|
|
+
|
|
|
testWidgets('赋值:x = 1', (tester) async {
|
|
|
await pumpApp(tester);
|
|
|
await press(tester, 'x');
|