Как проверить, скрыт ли текст на InputField - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь проверить, скрыт ли пароль, вот как далеко я go, но похоже, что flutter может читать текст, даже если он скрыт.

 testWidgets('password must be hidden', (WidgetTester tester) async {
  await tester.pumpWidget(wrapWithMaterialApp(child: page));

  await tester.enterText(find.byKey(Key('pass')), '1234');
  final passFinder = find.text('1234');
  expect(passFinder, findsNothing);

});

тест действительно находит '1234 'но я совершенно уверен, что он скрыт.

1 Ответ

0 голосов
/ 05 августа 2020

Независимо от флага obscureText введенный текст всегда сохраняется в памяти (этот параметр влияет только на визуальное представление). В тестах мы можем проверить это свойство только следующим образом:

  testWidgets('TextField', (WidgetTester tester) async {
    await tester.pumpWidget(MyApp());
    final finder = find.byKey(Key('pass'));
    final input = tester.firstWidget<TextField>(finder);
    expect(input.obscureText, true);
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...