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

Side by Side Diff: chrome/common/extensions/docs/server2/test_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: rebase 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 (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 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 from copy import deepcopy 6 from copy import deepcopy
7 from file_system import FileNotFoundError, StatInfo 7 from file_system import FileNotFoundError, StatInfo
8 from test_file_system import TestFileSystem, MoveTo 8 from test_file_system import TestFileSystem, MoveTo
9 import unittest 9 import unittest
10 10
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 sorted(fs.ReadSingle('/apps/').Get())) 94 sorted(fs.ReadSingle('/apps/').Get()))
95 self.assertEqual(['a11y.html', 'about_apps.html', 'fakedir/'], 95 self.assertEqual(['a11y.html', 'about_apps.html', 'fakedir/'],
96 sorted(fs.ReadSingle('apps/').Get())) 96 sorted(fs.ReadSingle('apps/').Get()))
97 self.assertEqual(['file.html'], fs.ReadSingle('/apps/fakedir/').Get()) 97 self.assertEqual(['file.html'], fs.ReadSingle('/apps/fakedir/').Get())
98 self.assertEqual(['file.html'], fs.ReadSingle('apps/fakedir/').Get()) 98 self.assertEqual(['file.html'], fs.ReadSingle('apps/fakedir/').Get())
99 99
100 def testStat(self): 100 def testStat(self):
101 fs = TestFileSystem(deepcopy(_TEST_DATA)) 101 fs = TestFileSystem(deepcopy(_TEST_DATA))
102 self.assertRaises(FileNotFoundError, fs.Stat, 'foo') 102 self.assertRaises(FileNotFoundError, fs.Stat, 'foo')
103 self.assertRaises(FileNotFoundError, fs.Stat, '404.html/') 103 self.assertRaises(FileNotFoundError, fs.Stat, '404.html/')
104 self.assertEquals(StatInfo('0', child_versions={
105 '404.html': '0',
106 'apps/': '0',
107 'extensions/': '0',
108 }), fs.Stat(''))
104 self.assertEquals(StatInfo('0'), fs.Stat('404.html')) 109 self.assertEquals(StatInfo('0'), fs.Stat('404.html'))
105 self.assertEquals(StatInfo('0', child_versions={ 110 self.assertEquals(StatInfo('0', child_versions={
106 'activeTab.html': '0', 111 'activeTab.html': '0',
107 'alarms.html': '0', 112 'alarms.html': '0',
108 }), fs.Stat('extensions/')) 113 }), fs.Stat('extensions/'))
109 114
110 fs.IncrementStat() 115 fs.IncrementStat()
116 self.assertEquals(StatInfo('1', child_versions={
117 '404.html': '1',
118 'apps/': '1',
119 'extensions/': '1',
120 }), fs.Stat(''))
111 self.assertEquals(StatInfo('1'), fs.Stat('404.html')) 121 self.assertEquals(StatInfo('1'), fs.Stat('404.html'))
112 self.assertEquals(StatInfo('1', child_versions={ 122 self.assertEquals(StatInfo('1', child_versions={
113 'activeTab.html': '1', 123 'activeTab.html': '1',
114 'alarms.html': '1', 124 'alarms.html': '1',
115 }), fs.Stat('extensions/')) 125 }), fs.Stat('extensions/'))
116 126
117 fs.IncrementStat(path='404.html') 127 fs.IncrementStat(path='404.html')
128 self.assertEquals(StatInfo('2', child_versions={
129 '404.html': '2',
130 'apps/': '1',
131 'extensions/': '1',
132 }), fs.Stat(''))
118 self.assertEquals(StatInfo('2'), fs.Stat('404.html')) 133 self.assertEquals(StatInfo('2'), fs.Stat('404.html'))
119 self.assertEquals(StatInfo('1', child_versions={ 134 self.assertEquals(StatInfo('1', child_versions={
120 'activeTab.html': '1', 135 'activeTab.html': '1',
121 'alarms.html': '1', 136 'alarms.html': '1',
122 }), fs.Stat('extensions/')) 137 }), fs.Stat('extensions/'))
123 138
124 fs.IncrementStat() 139 fs.IncrementStat()
140 self.assertEquals(StatInfo('3', child_versions={
141 '404.html': '3',
142 'apps/': '2',
143 'extensions/': '2',
144 }), fs.Stat(''))
125 self.assertEquals(StatInfo('3'), fs.Stat('404.html')) 145 self.assertEquals(StatInfo('3'), fs.Stat('404.html'))
126 self.assertEquals(StatInfo('2', child_versions={ 146 self.assertEquals(StatInfo('2', child_versions={
127 'activeTab.html': '2', 147 'activeTab.html': '2',
128 'alarms.html': '2', 148 'alarms.html': '2',
129 }), fs.Stat('extensions/')) 149 }), fs.Stat('extensions/'))
130 150
131 fs.IncrementStat(path='extensions/') 151 # It doesn't make sense to increment the version of directories. Directory
152 # versions are derived from the version of files within them.
153 self.assertRaises(ValueError, fs.IncrementStat, path='')
154 self.assertRaises(ValueError, fs.IncrementStat, path='extensions/')
155 self.assertEquals(StatInfo('3', child_versions={
156 '404.html': '3',
157 'apps/': '2',
158 'extensions/': '2',
159 }), fs.Stat(''))
132 self.assertEquals(StatInfo('3'), fs.Stat('404.html')) 160 self.assertEquals(StatInfo('3'), fs.Stat('404.html'))
133 self.assertEquals(StatInfo('3', child_versions={ 161 self.assertEquals(StatInfo('2', child_versions={
134 'activeTab.html': '2', 162 'activeTab.html': '2',
135 'alarms.html': '2', 163 'alarms.html': '2',
136 }), fs.Stat('extensions/')) 164 }), fs.Stat('extensions/'))
137 165
138 fs.IncrementStat(path='extensions/alarms.html') 166 fs.IncrementStat(path='extensions/alarms.html')
167 self.assertEquals(StatInfo('3', child_versions={
168 '404.html': '3',
169 'apps/': '2',
170 'extensions/': '3',
171 }), fs.Stat(''))
139 self.assertEquals(StatInfo('3'), fs.Stat('404.html')) 172 self.assertEquals(StatInfo('3'), fs.Stat('404.html'))
140 self.assertEquals(StatInfo('3', child_versions={ 173 self.assertEquals(StatInfo('3', child_versions={
141 'activeTab.html': '2', 174 'activeTab.html': '2',
142 'alarms.html': '3', 175 'alarms.html': '3',
143 }), fs.Stat('extensions/')) 176 }), fs.Stat('extensions/'))
144 177
178 fs.IncrementStat(path='extensions/activeTab.html', by=3)
179 self.assertEquals(StatInfo('5', child_versions={
180 '404.html': '3',
181 'apps/': '2',
182 'extensions/': '5',
183 }), fs.Stat(''))
184 self.assertEquals(StatInfo('3'), fs.Stat('404.html'))
185 self.assertEquals(StatInfo('5', child_versions={
186 'activeTab.html': '5',
187 'alarms.html': '3',
188 }), fs.Stat('extensions/'))
189
145 def testMoveTo(self): 190 def testMoveTo(self):
146 self.assertEqual({'foo': {'a': 'b', 'c': 'd'}}, 191 self.assertEqual({'foo': {'a': 'b', 'c': 'd'}},
147 MoveTo('foo', {'a': 'b', 'c': 'd'})) 192 MoveTo('foo', {'a': 'b', 'c': 'd'}))
148 self.assertEqual({'foo': {'bar': {'a': 'b', 'c': 'd'}}}, 193 self.assertEqual({'foo': {'bar': {'a': 'b', 'c': 'd'}}},
149 MoveTo('foo/bar', {'a': 'b', 'c': 'd'})) 194 MoveTo('foo/bar', {'a': 'b', 'c': 'd'}))
150 self.assertEqual({'foo': {'bar': {'baz': {'a': 'b'}}}}, 195 self.assertEqual({'foo': {'bar': {'baz': {'a': 'b'}}}},
151 MoveTo('foo/bar/baz', {'a': 'b'})) 196 MoveTo('foo/bar/baz', {'a': 'b'}))
152 197
153 198
154 if __name__ == '__main__': 199 if __name__ == '__main__':
155 unittest.main() 200 unittest.main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698