// Copyright 2014 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 'package:flutter/semantics.dart'; import 'package:flutter_test/flutter_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(), <String, dynamic>{ 'type': 'TestEvent', 'data': <String, dynamic>{ 'text': 'hi', 'number': 11, }, }, ); expect( TestSemanticsEvent(text: 'hi', number: 11).toMap(nodeId: 123), <String, dynamic>{ 'type': 'TestEvent', 'nodeId': 123, 'data': <String, dynamic>{ 'text': 'hi', 'number': 11, }, }, ); }); } class TestSemanticsEvent extends SemanticsEvent { TestSemanticsEvent({ this.text, this.number }) : super('TestEvent'); final String? text; final int? number; @override Map<String, dynamic> getDataMap() { final Map<String, dynamic> result = <String, dynamic>{}; if (text != null) result['text'] = text; if (number != null) result['number'] = number; return result; } }