| // 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:ui'; | |
| import 'package:test/test.dart'; | |
| // The body of this file is the same as ../../lib/web_ui/test/engine/semantics/semantics_api_test.dart | |
| // Please keep them in sync. | |
| void main() { | |
| // This must match the number of flags in lib/ui/semantics.dart | |
| const numSemanticsFlags = 31; | |
| test('SemanticsFlag.values refers to all flags.', () async { | |
| expect(SemanticsFlag.values.length, equals(numSemanticsFlags)); | |
| for (var index = 0; index < numSemanticsFlags; ++index) { | |
| final int flag = 1 << index; | |
| expect(SemanticsFlag.fromIndex(flag), isNotNull); | |
| expect(SemanticsFlag.fromIndex(flag).toString(), startsWith('SemanticsFlag.')); | |
| } | |
| }); | |
| // This must match the number of actions in lib/ui/semantics.dart | |
| const numSemanticsActions = 26; | |
| test('SemanticsAction.values refers to all actions.', () async { | |
| expect(SemanticsAction.values.length, equals(numSemanticsActions)); | |
| for (var index = 0; index < numSemanticsActions; ++index) { | |
| final int flag = 1 << index; | |
| expect(SemanticsAction.fromIndex(flag), isNotNull); | |
| expect(SemanticsAction.fromIndex(flag).toString(), startsWith('SemanticsAction.')); | |
| } | |
| }); | |
| test('SpellOutStringAttribute.toString', () async { | |
| expect( | |
| SpellOutStringAttribute(range: const TextRange(start: 2, end: 5)).toString(), | |
| 'SpellOutStringAttribute(TextRange(start: 2, end: 5))', | |
| ); | |
| }); | |
| test('LocaleStringAttribute.toString', () async { | |
| expect( | |
| LocaleStringAttribute( | |
| range: const TextRange(start: 2, end: 5), | |
| locale: const Locale('test'), | |
| ).toString(), | |
| 'LocaleStringAttribute(TextRange(start: 2, end: 5), test)', | |
| ); | |
| }); | |
| } |