Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(85)

Side by Side Diff: chrome/common/extensions/docs/server2/compiled_file_system_test.py

Issue 151883009: Docserver: Make MockFileSystem not iterate over the entire file system as part (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: yoz and then some Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2013 The Chromium Authors. All rights reserved. 2 # Copyright 2013 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 import functools 6 import functools
7 import os 7 import os
8 8
9 from appengine_wrappers import GetAppVersion 9 from appengine_wrappers import GetAppVersion
10 from compiled_file_system import CompiledFileSystem 10 from compiled_file_system import CompiledFileSystem
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 compiled_fs_creator(f, CompiledFileSystemTest, category='foo')) 76 compiled_fs_creator(f, CompiledFileSystemTest, category='foo'))
77 77
78 def testPopulateFromFile(self): 78 def testPopulateFromFile(self):
79 def Sleepy(key, val): 79 def Sleepy(key, val):
80 return '%s%s' % ('Z' * len(key), 'z' * len(val)) 80 return '%s%s' % ('Z' * len(key), 'z' * len(val))
81 compiled_fs = _GetTestCompiledFsCreator()(Sleepy, CompiledFileSystemTest) 81 compiled_fs = _GetTestCompiledFsCreator()(Sleepy, CompiledFileSystemTest)
82 self.assertEqual('ZZZZZZZZzzzzzzzzzzzzzzzzz', 82 self.assertEqual('ZZZZZZZZzzzzzzzzzzzzzzzzz',
83 compiled_fs.GetFromFile('404.html').Get()) 83 compiled_fs.GetFromFile('404.html').Get())
84 self.assertEqual('ZZZZZZZZZZZZZZzzzzzzzzzzzzzzzzzz', 84 self.assertEqual('ZZZZZZZZZZZZZZzzzzzzzzzzzzzzzzzz',
85 compiled_fs.GetFromFile('apps/a11y.html').Get()) 85 compiled_fs.GetFromFile('apps/a11y.html').Get())
86 self.assertEqual('ZZZZZZZZZZZZZZZZZZZZZZZzzzzzzzzzzzzzzzzzz', 86 self.assertEqual('ZZZZZZZZZZZZZZZZZZZZZZzzzzzzzzzzzzzzzzzz',
87 compiled_fs.GetFromFile('/apps/fakedir/file.html').Get()) 87 compiled_fs.GetFromFile('apps/fakedir/file.html').Get())
88 88
89 def testPopulateFromFileListing(self): 89 def testPopulateFromFileListing(self):
90 def strip_ext(path, files): 90 def strip_ext(path, files):
91 return [os.path.splitext(f)[0] for f in files] 91 return [os.path.splitext(f)[0] for f in files]
92 compiled_fs = _GetTestCompiledFsCreator()(strip_ext, CompiledFileSystemTest) 92 compiled_fs = _GetTestCompiledFsCreator()(strip_ext, CompiledFileSystemTest)
93 expected_top_listing = [ 93 expected_top_listing = [
94 '404', 94 '404',
95 'apps/a11y', 95 'apps/a11y',
96 'apps/about_apps', 96 'apps/about_apps',
97 'apps/deepdir/deeper/deepest', 97 'apps/deepdir/deeper/deepest',
98 'apps/deepdir/deepfile', 98 'apps/deepdir/deepfile',
99 'apps/fakedir/file', 99 'apps/fakedir/file',
100 'extensions/activeTab', 100 'extensions/activeTab',
101 'extensions/alarms' 101 'extensions/alarms'
102 ] 102 ]
103 self.assertEqual(expected_top_listing, 103 self.assertEqual(expected_top_listing,
104 sorted(compiled_fs.GetFromFileListing('/').Get()))
105 self.assertEqual(expected_top_listing,
106 sorted(compiled_fs.GetFromFileListing('').Get())) 104 sorted(compiled_fs.GetFromFileListing('').Get()))
107 expected_apps_listing = [ 105 expected_apps_listing = [
108 'a11y', 106 'a11y',
109 'about_apps', 107 'about_apps',
110 'deepdir/deeper/deepest', 108 'deepdir/deeper/deepest',
111 'deepdir/deepfile', 109 'deepdir/deepfile',
112 'fakedir/file', 110 'fakedir/file',
113 ] 111 ]
114 self.assertEqual(expected_apps_listing, 112 self.assertEqual(expected_apps_listing,
115 sorted(compiled_fs.GetFromFileListing('/apps/').Get()))
116 self.assertEqual(expected_apps_listing,
117 sorted(compiled_fs.GetFromFileListing('apps/').Get())) 113 sorted(compiled_fs.GetFromFileListing('apps/').Get()))
118 self.assertEqual(['file',], 114 self.assertEqual(['file',],
119 compiled_fs.GetFromFileListing('/apps/fakedir/').Get())
120 self.assertEqual(['file',],
121 compiled_fs.GetFromFileListing('apps/fakedir/').Get()) 115 compiled_fs.GetFromFileListing('apps/fakedir/').Get())
122 self.assertEqual(['deeper/deepest', 'deepfile'], 116 self.assertEqual(['deeper/deepest', 'deepfile'],
123 sorted(compiled_fs.GetFromFileListing( 117 sorted(compiled_fs.GetFromFileListing(
124 '/apps/deepdir/').Get()))
125 self.assertEqual(['deeper/deepest', 'deepfile'],
126 sorted(compiled_fs.GetFromFileListing(
127 'apps/deepdir/').Get())) 118 'apps/deepdir/').Get()))
128 self.assertEqual(['deepest'], 119 self.assertEqual(['deepest'],
129 compiled_fs.GetFromFileListing( 120 compiled_fs.GetFromFileListing(
130 '/apps/deepdir/deeper/').Get())
131 self.assertEqual(['deepest'],
132 compiled_fs.GetFromFileListing(
133 'apps/deepdir/deeper/').Get()) 121 'apps/deepdir/deeper/').Get())
134 122
135 def testCaching(self): 123 def testCaching(self):
136 compiled_fs = _GetTestCompiledFsCreator()(identity, CompiledFileSystemTest) 124 compiled_fs = _GetTestCompiledFsCreator()(identity, CompiledFileSystemTest)
137 self.assertEqual('404.html contents', 125 self.assertEqual('404.html contents',
138 compiled_fs.GetFromFile('404.html').Get()) 126 compiled_fs.GetFromFile('404.html').Get())
139 self.assertEqual(set(('file.html',)), 127 self.assertEqual(set(('file.html',)),
140 set(compiled_fs.GetFromFileListing('apps/fakedir').Get())) 128 set(compiled_fs.GetFromFileListing('apps/fakedir').Get()))
141 129
142 compiled_fs._file_system._obj['404.html'] = 'boom' 130 compiled_fs._file_system._path_values['404.html'] = 'boom'
143 compiled_fs._file_system._obj['apps']['fakedir']['boom.html'] = 'blam' 131 compiled_fs._file_system._path_values['apps/fakedir/'] = [
132 'file.html', 'boom.html']
144 self.assertEqual('404.html contents', 133 self.assertEqual('404.html contents',
145 compiled_fs.GetFromFile('404.html').Get()) 134 compiled_fs.GetFromFile('404.html').Get())
146 self.assertEqual(set(('file.html',)), 135 self.assertEqual(set(('file.html',)),
147 set(compiled_fs.GetFromFileListing('apps/fakedir').Get())) 136 set(compiled_fs.GetFromFileListing('apps/fakedir').Get()))
148 137
149 compiled_fs._file_system.IncrementStat() 138 compiled_fs._file_system.IncrementStat()
150 self.assertEqual('boom', compiled_fs.GetFromFile('404.html').Get()) 139 self.assertEqual('boom', compiled_fs.GetFromFile('404.html').Get())
151 self.assertEqual(set(('file.html', 'boom.html')), 140 self.assertEqual(set(('file.html', 'boom.html')),
152 set(compiled_fs.GetFromFileListing('apps/fakedir').Get())) 141 set(compiled_fs.GetFromFileListing('apps/fakedir').Get()))
153 142
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 # determining that ahead of time (though perhaps the API could give some 186 # determining that ahead of time (though perhaps the API could give some
198 # kind of clue, if we really cared). 187 # kind of clue, if we really cared).
199 future = compiled_fs.GetFromFileListing('extensions/') 188 future = compiled_fs.GetFromFileListing('extensions/')
200 self.assertTrue(*mock_fs.CheckAndReset(stat_count=1, 189 self.assertTrue(*mock_fs.CheckAndReset(stat_count=1,
201 read_count=1, 190 read_count=1,
202 read_resolve_count=1)) 191 read_resolve_count=1))
203 future.Get() 192 future.Get()
204 self.assertTrue(*mock_fs.CheckAndReset()) 193 self.assertTrue(*mock_fs.CheckAndReset())
205 194
206 # Similar configuration to the 'apps/' case but deeper. 195 # Similar configuration to the 'apps/' case but deeper.
207 future = compiled_fs.GetFromFileListing('/') 196 future = compiled_fs.GetFromFileListing('')
208 self.assertTrue(*mock_fs.CheckAndReset(stat_count=1, 197 self.assertTrue(*mock_fs.CheckAndReset(stat_count=1,
209 read_count=2, 198 read_count=2,
210 read_resolve_count=1)) 199 read_resolve_count=1))
211 future.Get() 200 future.Get()
212 self.assertTrue(*mock_fs.CheckAndReset(read_count=2, read_resolve_count=3)) 201 self.assertTrue(*mock_fs.CheckAndReset(read_count=2, read_resolve_count=3))
213 202
214 203
215 204
216 if __name__ == '__main__': 205 if __name__ == '__main__':
217 unittest.main() 206 unittest.main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698