forked from ibigbug/sblog
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tests.py
94 lines (73 loc) · 1.93 KB
/
tests.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import os
import random
root_path = os.path.join('/tmp', 'sblog_test_env')
try:
os.mkdir(root_path)
except OSError as e:
pass
cwd = root_path
from sblog.app import SBlog
app = None
def make_env():
global app
app = SBlog(cwd=cwd)
app.debug = True
app.build_env()
def gene_src():
post_content = (
'# title%d\n'
'* date: 2014-01-01\n'
'* tags: asdf,asdf,adsf\n'
'\n'
'content'
)
profile_content = (
'* twitter: ibigbug\n'
'* weibo: ibigbug\n'
'\n'
'GOGOGOG'
)
about_content = (
'* Powered by SBlog\n'
)
src_files = ['post1.mkd', 'post2.mkd', 'sub1/post3.mkd', 'sub2/depth2/depth3/depth4/post4.mkd']
for f in src_files:
f = os.path.join(app.cwd, app.src_folder, f)
sub_dir = os.path.dirname(f)
if not os.path.isdir(sub_dir):
os.makedirs(sub_dir)
with open(f, 'wb') as src_file:
src_file.write(post_content % random.randint(1,100000000))
with open(os.path.join(app.cwd, app.src_folder, '_about.mkd'), 'wb') as fd:
fd.write(about_content)
with open(os.path.join(app.cwd, app.src_folder, '_profile.mkd'), 'wb') as fd:
fd.write(profile_content)
def reader_test():
from sblog.readers.markdown import MarkDownReader
reader = MarkDownReader(app)
reader.run()
def writer_test():
from sblog.writers import IndexWriter
from sblog.writers import PostWriter
from sblog.writers import TagWriter
from sblog.writers import FeedWriter
from sblog.writers import MetaWriter
mw = MetaWriter(app)
mw.run()
tw = TagWriter(app)
tw.run()
iw = IndexWriter(app)
iw.run()
pw = PostWriter(app)
pw.run()
fw = FeedWriter(app)
fw.run()
def clean():
import shutil
shutil.rmtree(app.cwd)
if __name__ == '__main__':
make_env()
gene_src()
reader_test()
writer_test()
#clean()