1 # Copyright 2013 The Chromium Authors. All rights reserved. 2 # Use of this source code is governed by a BSD-style license that can be 3 # found in the LICENSE file. 4 5 from mock_file_system import MockFileSystem 6 from test_file_system import TestFileSystem 7 from third_party.json_schema_compiler.memoize import memoize 8 9 class FakeHostFileSystemProvider(object): 10 11 def __init__(self, file_system_data): 12 self._file_system_data = file_system_data 13 14 def GetMaster(self): 15 return self.GetBranch('master') 16 17 @memoize 18 def GetBranch(self, branch): 19 return MockFileSystem(TestFileSystem(self._file_system_data[str(branch)])) 20