| // 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_devicelab/framework/task_result.dart'; | |
| import 'common.dart'; | |
| void main() { | |
| group('TaskResult fromJson', () { | |
| test('succeeded', () { | |
| final Map<String, dynamic> expectedJson = <String, dynamic>{ | |
| 'success': true, | |
| 'data': <String, dynamic>{ | |
| 'i': 5, | |
| 'j': 10, | |
| 'not_a_metric': 'something', | |
| }, | |
| 'benchmarkScoreKeys': <String>['i', 'j'], | |
| 'detailFiles': <String>[], | |
| }; | |
| final TaskResult result = TaskResult.fromJson(expectedJson); | |
| expect(result.toJson(), expectedJson); | |
| }); | |
| test('succeeded with empty data', () { | |
| final TaskResult result = TaskResult.fromJson(<String, dynamic>{ | |
| 'success': true, | |
| }); | |
| final Map<String, dynamic> expectedJson = <String, dynamic>{ | |
| 'success': true, | |
| 'data': null, | |
| 'benchmarkScoreKeys': <String>[], | |
| 'detailFiles': <String>[], | |
| }; | |
| expect(result.toJson(), expectedJson); | |
| }); | |
| test('failed', () { | |
| final Map<String, dynamic> expectedJson = <String, dynamic>{ | |
| 'success': false, | |
| 'reason': 'failure message', | |
| }; | |
| final TaskResult result = TaskResult.fromJson(expectedJson); | |
| expect(result.toJson(), expectedJson); | |
| }); | |
| }); | |
| } |