Mercurial > genshi > mirror
comparison examples/trac/trac/versioncontrol/web_ui/tests/wikisyntax.py @ 39:93b4dcbafd7b trunk
Copy Trac to main branch.
author | cmlenz |
---|---|
date | Mon, 03 Jul 2006 18:53:27 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
38:ee669cb9cccc | 39:93b4dcbafd7b |
---|---|
1 import unittest | |
2 | |
3 from trac.test import Mock | |
4 from trac.wiki.tests import formatter | |
5 from trac.versioncontrol.web_ui import * | |
6 | |
7 CHANGESET_TEST_CASES=""" | |
8 ============================== changeset: link resolver | |
9 changeset:1 | |
10 changeset:12 | |
11 changeset:abc | |
12 changeset:1, changeset:1/README.txt | |
13 ------------------------------ | |
14 <p> | |
15 <a class="missing changeset" href="/changeset/1" rel="nofollow">changeset:1</a> | |
16 <a class="missing changeset" href="/changeset/12" rel="nofollow">changeset:12</a> | |
17 <a class="missing changeset" href="/changeset/abc" rel="nofollow">changeset:abc</a> | |
18 <a class="missing changeset" href="/changeset/1" rel="nofollow">changeset:1</a>, <a class="missing changeset" href="/changeset/1/README.txt" rel="nofollow">changeset:1/README.txt</a> | |
19 </p> | |
20 ------------------------------ | |
21 ============================== changeset shorthand syntax | |
22 [1], r1 | |
23 [12], r12, rABC | |
24 [1/README.txt] | |
25 ------------------------------ | |
26 <p> | |
27 <a class="missing changeset" href="/changeset/1" rel="nofollow">[1]</a>, <a class="missing changeset" href="/changeset/1" rel="nofollow">r1</a> | |
28 <a class="missing changeset" href="/changeset/12" rel="nofollow">[12]</a>, <a class="missing changeset" href="/changeset/12" rel="nofollow">r12</a>, rABC | |
29 <a class="missing changeset" href="/changeset/1/README.txt" rel="nofollow">[1/README.txt]</a> | |
30 </p> | |
31 ------------------------------ | |
32 ============================== escaping the above | |
33 ![1], !r1 | |
34 ------------------------------ | |
35 <p> | |
36 [1], r1 | |
37 </p> | |
38 ------------------------------ | |
39 [1], r1 | |
40 ============================== Link resolver counter examples | |
41 Change:[10] There should be a link to changeset [10] | |
42 | |
43 rfc and rfc:4180 should not be changeset links | |
44 ------------------------------ | |
45 <p> | |
46 Change:<a class="missing changeset" href="/changeset/10" rel="nofollow">[10]</a> There should be a link to changeset <a class="missing changeset" href="/changeset/10" rel="nofollow">[10]</a> | |
47 </p> | |
48 <p> | |
49 rfc and rfc:4180 should not be changeset links | |
50 </p> | |
51 ------------------------------ | |
52 Change:<a class="missing changeset" href="/changeset/10" rel="nofollow">[10]</a> There should be a link to changeset <a class="missing changeset" href="/changeset/10" rel="nofollow">[10]</a> | |
53 | |
54 rfc and rfc:4180 should not be changeset links | |
55 ============================== InterTrac for changesets | |
56 trac:changeset:2081 | |
57 [trac:changeset:2081 Trac r2081] | |
58 ------------------------------ | |
59 <p> | |
60 <a class="ext-link" href="http://projects.edgewall.com/trac/changeset/2081" title="changeset:2081 in Trac's Trac"><span class="icon">trac:changeset:2081</span></a> | |
61 <a class="ext-link" href="http://projects.edgewall.com/trac/changeset/2081" title="changeset:2081 in Trac's Trac"><span class="icon">Trac r2081</span></a> | |
62 </p> | |
63 ------------------------------ | |
64 ============================== Changeset InterTrac shorthands | |
65 [T2081] | |
66 [trac 2081] | |
67 [trac 2081/trunk] | |
68 T:r2081 | |
69 ------------------------------ | |
70 <p> | |
71 <a class="ext-link" href="http://projects.edgewall.com/trac/changeset/2081" title="changeset:2081 in Trac's Trac"><span class="icon">[T2081]</span></a> | |
72 <a class="ext-link" href="http://projects.edgewall.com/trac/changeset/2081" title="changeset:2081 in Trac's Trac"><span class="icon">[trac 2081]</span></a> | |
73 <a class="ext-link" href="http://projects.edgewall.com/trac/changeset/2081/trunk" title="changeset:2081/trunk in Trac\'s Trac"><span class="icon">[trac 2081/trunk]</span></a> | |
74 <a class="ext-link" href="http://projects.edgewall.com/trac/search?q=r2081" title="r2081 in Trac's Trac"><span class="icon">T:r2081</span></a> | |
75 </p> | |
76 ------------------------------ | |
77 """ #' | |
78 | |
79 def _get_changeset(self, x): | |
80 raise TracError("No changeset") | |
81 | |
82 def _get_repository(self): | |
83 return Mock(get_changeset=_get_changeset) | |
84 | |
85 def changeset_setup(tc): | |
86 setattr(tc.env, 'get_repository', _get_repository) | |
87 | |
88 | |
89 LOG_TEST_CASES=""" | |
90 ============================== Log range TracLinks | |
91 [1:2], r1:2, [12:23], r12:23 | |
92 [1:2/trunk] | |
93 ------------------------------ | |
94 <p> | |
95 <a class="source" href="/log/?rev=2&stop_rev=1">[1:2]</a>, <a class="source" href="/log/?rev=2&stop_rev=1">r1:2</a>, <a class="source" href="/log/?rev=23&stop_rev=12">[12:23]</a>, <a class="source" href="/log/?rev=23&stop_rev=12">r12:23</a> | |
96 <a class="source" href="/log/trunk?rev=2&stop_rev=1">[1:2/trunk]</a> | |
97 </p> | |
98 ------------------------------ | |
99 ============================== Escaping Log range TracLinks | |
100 ![1:2], !r1:2, ![12:23], !r12:23 | |
101 ------------------------------ | |
102 <p> | |
103 [1:2], r1:2, [12:23], r12:23 | |
104 </p> | |
105 ------------------------------ | |
106 [1:2], r1:2, [12:23], r12:23 | |
107 ============================== log: link resolver | |
108 log:@12 | |
109 log:trunk | |
110 log:trunk@12 | |
111 log:trunk@12:23 | |
112 log:trunk@12-23 | |
113 log:trunk:12:23 | |
114 log:trunk:12-23 | |
115 ------------------------------ | |
116 <p> | |
117 <a class="source" href="/log/?rev=12">log:@12</a> | |
118 <a class="source" href="/log/trunk">log:trunk</a> | |
119 <a class="source" href="/log/trunk?rev=12">log:trunk@12</a> | |
120 <a class="source" href="/log/trunk?rev=23&stop_rev=12">log:trunk@12:23</a> | |
121 <a class="source" href="/log/trunk?rev=23&stop_rev=12">log:trunk@12-23</a> | |
122 <a class="source" href="/log/trunk?rev=23&stop_rev=12">log:trunk:12:23</a> | |
123 <a class="source" href="/log/trunk?rev=23&stop_rev=12">log:trunk:12-23</a> | |
124 </p> | |
125 ------------------------------ | |
126 ============================== Link resolver counter examples | |
127 rfc:4180 should not be a log link | |
128 ------------------------------ | |
129 <p> | |
130 rfc:4180 should not be a log link | |
131 </p> | |
132 ------------------------------ | |
133 ============================== Log range InterTrac shorthands | |
134 [T3317:3318] | |
135 [trac 3317:3318] | |
136 [trac 3317:3318/trunk] | |
137 ------------------------------ | |
138 <p> | |
139 <a class="ext-link" href="http://projects.edgewall.com/trac/log/?rev=3318&stop_rev=3317" title="log:?rev=3318&stop_rev=3317 in Trac\'s Trac"><span class="icon">[T3317:3318]</span></a> | |
140 <a class="ext-link" href="http://projects.edgewall.com/trac/log/?rev=3318&stop_rev=3317" title="log:?rev=3318&stop_rev=3317 in Trac\'s Trac"><span class="icon">[trac 3317:3318]</span></a> | |
141 <a class="ext-link" href="http://projects.edgewall.com/trac/log/trunk?rev=3318&stop_rev=3317" title="log:trunk?rev=3318&stop_rev=3317 in Trac\'s Trac"><span class="icon">[trac 3317:3318/trunk]</span></a> | |
142 </p> | |
143 ------------------------------ | |
144 """ | |
145 | |
146 | |
147 DIFF_TEST_CASES=""" | |
148 ============================== diff: link resolver | |
149 diff:trunk//branch | |
150 diff:trunk@12//branch@23 | |
151 diff:trunk@12:23 | |
152 diff:@12:23 | |
153 ------------------------------ | |
154 <p> | |
155 <a class="changeset" href="/changeset?new_path=branch&old_path=trunk" title="Diff from trunk@latest to branch@latest">diff:trunk//branch</a> | |
156 <a class="changeset" href="/changeset?new=23&new_path=branch&old=12&old_path=trunk" title="Diff from trunk@12 to branch@23">diff:trunk@12//branch@23</a> | |
157 <a class="changeset" href="/changeset?new=23&new_path=trunk&old=12&old_path=trunk" title="Diff r12:23 for trunk">diff:trunk@12:23</a> | |
158 <a class="changeset" href="/changeset?new=23&old=12" title="Diff r12:23 for /">diff:@12:23</a> | |
159 </p> | |
160 ------------------------------ | |
161 """ | |
162 | |
163 | |
164 SOURCE_TEST_CASES=""" | |
165 ============================== source: link resolver | |
166 source:/foo/bar | |
167 source:/foo/bar#42 | |
168 source:/foo/bar#head | |
169 source:/foo/bar@42 | |
170 source:/foo/bar@head | |
171 source:/foo%20bar/baz%2Bquux | |
172 source:/foo%2520bar/baz%252Bquux#42 | |
173 source:#42 | |
174 source:@42 | |
175 source:/foo/bar@42#L20 | |
176 source:/foo/bar@head#L20 | |
177 ------------------------------ | |
178 <p> | |
179 <a class="source" href="/browser/foo/bar">source:/foo/bar</a> | |
180 <a class="source" href="/browser/foo/bar?rev=42">source:/foo/bar#42</a> | |
181 <a class="source" href="/browser/foo/bar?rev=head">source:/foo/bar#head</a> | |
182 <a class="source" href="/browser/foo/bar?rev=42">source:/foo/bar@42</a> | |
183 <a class="source" href="/browser/foo/bar?rev=head">source:/foo/bar@head</a> | |
184 <a class="source" href="/browser/foo%20bar/baz%2Bquux">source:/foo%20bar/baz%2Bquux</a> | |
185 <a class="source" href="/browser/foo%2520bar/baz%252Bquux?rev=42">source:/foo%2520bar/baz%252Bquux#42</a> | |
186 <a class="source" href="/browser/?rev=42">source:#42</a> | |
187 <a class="source" href="/browser/?rev=42">source:@42</a> | |
188 <a class="source" href="/browser/foo/bar?rev=42#L20">source:/foo/bar@42#L20</a> | |
189 <a class="source" href="/browser/foo/bar?rev=head#L20">source:/foo/bar@head#L20</a> | |
190 </p> | |
191 ------------------------------ | |
192 ============================== source: provider, with quoting | |
193 source:'even with whitespaces' | |
194 source:"even with whitespaces" | |
195 [source:'even with whitespaces' Path with spaces] | |
196 [source:"even with whitespaces" Path with spaces] | |
197 ------------------------------ | |
198 <p> | |
199 <a class="source" href="/browser/even%20with%20whitespaces">source:'even with whitespaces'</a> | |
200 <a class="source" href="/browser/even%20with%20whitespaces">source:"even with whitespaces"</a> | |
201 <a class="source" href="/browser/even%20with%20whitespaces">Path with spaces</a> | |
202 <a class="source" href="/browser/even%20with%20whitespaces">Path with spaces</a> | |
203 </p> | |
204 ------------------------------ | |
205 """ # " (be Emacs friendly...) | |
206 | |
207 | |
208 | |
209 def suite(): | |
210 suite = unittest.TestSuite() | |
211 suite.addTest(formatter.suite(CHANGESET_TEST_CASES, changeset_setup, | |
212 __file__)) | |
213 suite.addTest(formatter.suite(LOG_TEST_CASES, file=__file__)) | |
214 suite.addTest(formatter.suite(DIFF_TEST_CASES, file=__file__)) | |
215 suite.addTest(formatter.suite(SOURCE_TEST_CASES, file=__file__)) | |
216 return suite | |
217 | |
218 if __name__ == '__main__': | |
219 unittest.main(defaultTest='suite') |