comparison tests/mockutil.py @ 36:485682a6de50

New site layout support.
author Ludovic Chabant <ludovic@chabant.com>
date Wed, 20 Aug 2014 23:16:51 -0700
parents e4c345dcf33c
children 3471ffa059b2
comparison
equal deleted inserted replaced
35:e4c345dcf33c 36:485682a6de50
35 def __init__(self, default_spec=True): 35 def __init__(self, default_spec=True):
36 self._root = 'root_%d' % random.randrange(1000) 36 self._root = 'root_%d' % random.randrange(1000)
37 self._fs = {self._root: {}} 37 self._fs = {self._root: {}}
38 if default_spec: 38 if default_spec:
39 self.withDir('counter') 39 self.withDir('counter')
40 self.withFile('kitchen/_content/config.yml', 40 self.withFile('kitchen/config.yml',
41 "site:\n title: Mock Website\n") 41 "site:\n title: Mock Website\n")
42 42
43 def path(self, p): 43 def path(self, p):
44 p = p.replace('\\', '/') 44 p = p.replace('\\', '/')
45 if p in ['/', '', None]: 45 if p in ['/', '', None]:
70 def withAssetDir(self, path): 70 def withAssetDir(self, path):
71 return self.withDir('kitchen/' + path) 71 return self.withDir('kitchen/' + path)
72 72
73 def withConfig(self, config): 73 def withConfig(self, config):
74 return self.withFile( 74 return self.withFile(
75 'kitchen/_content/config.yml', 75 'kitchen/config.yml',
76 yaml.dump(config)) 76 yaml.dump(config))
77 77
78 def withThemeConfig(self, config): 78 def withThemeConfig(self, config):
79 return self.withFile( 79 return self.withFile(
80 'kitchen/_content/theme/_content/theme_config.yml', 80 'kitchen/theme/theme_config.yml',
81 yaml.dump(config)) 81 yaml.dump(config))
82 82
83 def withPage(self, url, config=None, contents=None): 83 def withPage(self, url, config=None, contents=None):
84 config = config or {} 84 config = config or {}
85 contents = contents or "A test page." 85 contents = contents or "A test page."
90 90
91 name, ext = os.path.splitext(url) 91 name, ext = os.path.splitext(url)
92 if not ext: 92 if not ext:
93 url += '.md' 93 url += '.md'
94 url = url.lstrip('/') 94 url = url.lstrip('/')
95 return self.withAsset('_content/' + url, text) 95 return self.withAsset(url, text)
96 96
97 def withPageAsset(self, page_url, name, contents=None): 97 def withPageAsset(self, page_url, name, contents=None):
98 contents = contents or "A test asset." 98 contents = contents or "A test asset."
99 url_base, ext = os.path.splitext(page_url) 99 url_base, ext = os.path.splitext(page_url)
100 dirname = url_base + '-assets' 100 dirname = url_base + '-assets'
101 return self.withAsset('_content/%s/%s' % (dirname, name), 101 return self.withAsset('%s/%s' % (dirname, name),
102 contents) 102 contents)
103 103
104 def getStructure(self, path=None): 104 def getStructure(self, path=None):
105 root = self._fs[self._root] 105 root = self._fs[self._root]
106 if path: 106 if path: