blob: 0e7a09c94f3b4b96dc071f75d4cf25cb1600bb48 [file] [log] [blame]
// Copyright 2018 The Fuchsia 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:convert';
import 'package:fidl_fuchsia_setui/fidl.dart';
import 'package:lib_setui_settings_common/setting_adapter.dart';
import 'package:test/test.dart';
void main() {
// Exercises json encoding of setting log.
test('test_setting_log_json', () async {
final TimeZone tz1 = TimeZone(id: '1', name: 'foo', region: ['foo1']);
final TimeZone tz2 = TimeZone(id: '2', name: 'bar', region: ['bar2']);
final AdapterLog log1 = AdapterLog.withSetting(
DateTime.now(),
SettingLog(SettingsObject(
settingType: SettingType.timeZone,
data: SettingData.withTimeZoneValue(
TimeZoneInfo(available: [tz1, tz2], current: tz2)))));
final AdapterLog log2 = AdapterLog.fromJson(jsonDecode(jsonEncode(log1)));
expect(log1.time, log2.time);
expect(log1.settingLog.settings.settingType,
log2.settingLog.settings.settingType);
// FIDL parsing is covered by the fidl-gen tests.
});
// Exercises json encoding of fetch log.
test('test_fetch_log_json', () async {
final AdapterLog adapterLog1 = AdapterLog.withFetch(
DateTime.now(), FetchLog(SettingType.connectivity));
final AdapterLog adapterLog2 =
AdapterLog.fromJson(jsonDecode(jsonEncode(adapterLog1)));
expect(adapterLog1.fetchLog.type, adapterLog2.fetchLog.type);
});
}