// 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:file/memory.dart'; import 'package:flutter_tools/src/base/file_system.dart'; import 'package:flutter_tools/src/base/logger.dart'; import 'package:flutter_tools/src/persistent_tool_state.dart'; import 'package:mockito/mockito.dart'; import '../src/common.dart'; class MockLogger extends Mock implements Logger {} void main() { testWithoutContext('state can be set and persists', () { final MemoryFileSystem fs = MemoryFileSystem(); final Directory directory = fs.directory('state_dir'); directory.createSync(); final File stateFile = directory.childFile('.flutter_tool_state'); final PersistentToolState state1 = PersistentToolState.test( directory: directory, logger: MockLogger(), ); expect(state1.redisplayWelcomeMessage, null); state1.redisplayWelcomeMessage = true; expect(stateFile.existsSync(), true); expect(state1.redisplayWelcomeMessage, true); state1.redisplayWelcomeMessage = false; expect(state1.redisplayWelcomeMessage, false); final PersistentToolState state2 = PersistentToolState.test( directory: directory, logger: MockLogger(), ); expect(state2.redisplayWelcomeMessage, false); }); }