// Copyright 2017 The Chromium 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 'package:flutter_web/semantics.dart'; import 'package:flutter_web_test/flutter_web_test.dart'; void main() { test('SemanticsEvent.toString', () { expect( TestSemanticsEvent().toString(), 'TestSemanticsEvent()', ); expect( TestSemanticsEvent(number: 10).toString(), 'TestSemanticsEvent(number: 10)', ); expect( TestSemanticsEvent(text: 'hello').toString(), 'TestSemanticsEvent(text: hello)', ); expect( TestSemanticsEvent(text: 'hello', number: 10).toString(), 'TestSemanticsEvent(number: 10, text: hello)', ); }); test('SemanticsEvent.toMap', () { expect( TestSemanticsEvent(text: 'hi', number: 11).toMap(), { 'type': 'TestEvent', 'data': {'text': 'hi', 'number': 11} }); expect( TestSemanticsEvent(text: 'hi', number: 11).toMap(nodeId: 123), { 'type': 'TestEvent', 'nodeId': 123, 'data': {'text': 'hi', 'number': 11} }); }); } class TestSemanticsEvent extends SemanticsEvent { TestSemanticsEvent({this.text, this.number}) : super('TestEvent'); final String text; final int number; @override Map getDataMap() { final Map result = {}; if (text != null) result['text'] = text; if (number != null) result['number'] = number; return result; } }