comparison tests/mockutil.py @ 322:7544c03b6bab

tests: Add utility function to create multiple mock pages in one go.
author Ludovic Chabant <ludovic@chabant.com>
date Sun, 29 Mar 2015 23:04:12 -0700
parents 1d44d8bd93e2
children 2a5996e0d3ec
comparison
equal deleted inserted replaced
321:59d65654184e 322:7544c03b6bab
137 contents = contents or "A test asset." 137 contents = contents or "A test asset."
138 url_base, ext = os.path.splitext(page_url) 138 url_base, ext = os.path.splitext(page_url)
139 dirname = url_base + '-assets' 139 dirname = url_base + '-assets'
140 return self.withAsset('%s/%s' % (dirname, name), 140 return self.withAsset('%s/%s' % (dirname, name),
141 contents) 141 contents)
142
143 def withPages(self, num, url_factory, config_factory=None,
144 contents_factory=None):
145 for i in range(num):
146 if isinstance(url_factory, str):
147 url = url_factory.format(idx=i, idx1=(i + 1))
148 else:
149 url = url_factory(i)
150
151 config = None
152 if config_factory:
153 config = config_factory(i)
154
155 contents = None
156 if contents_factory:
157 contents = contents_factory(i)
158
159 self.withPage(url, config, contents)
160 return self
142 161
143 def getStructure(self, path=None): 162 def getStructure(self, path=None):
144 root = self._fs[self._root] 163 root = self._fs[self._root]
145 if path: 164 if path:
146 root = self._getEntry(self.path(path)) 165 root = self._getEntry(self.path(path))