// 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); }); }); }