| // Copyright 2020 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:devtools_app/src/preferences.dart'; |
| import 'package:test/test.dart'; |
| |
| void main() { |
| group('PreferencesController', () { |
| PreferencesController controller; |
| |
| setUp(() { |
| controller = PreferencesController(); |
| }); |
| |
| test('has value', () { |
| expect(controller.darkModeTheme.value, isNotNull); |
| }); |
| |
| test('toggleDarkModeTheme', () { |
| bool valueChanged = false; |
| final originalValue = controller.darkModeTheme.value; |
| |
| controller.darkModeTheme.addListener(() { |
| valueChanged = true; |
| }); |
| |
| controller.toggleDarkModeTheme(!controller.darkModeTheme.value); |
| expect(valueChanged, isTrue); |
| expect(controller.darkModeTheme.value, isNot(originalValue)); |
| }); |
| |
| test('toggleVmDeveloperMode', () { |
| bool valueChanged = false; |
| final originalValue = controller.vmDeveloperModeEnabled.value; |
| |
| controller.vmDeveloperModeEnabled.addListener(() { |
| valueChanged = true; |
| }); |
| |
| controller |
| .toggleVmDeveloperMode(!controller.vmDeveloperModeEnabled.value); |
| expect(valueChanged, isTrue); |
| expect(controller.vmDeveloperModeEnabled.value, isNot(originalValue)); |
| }); |
| }); |
| } |