Merge lp:~emily-bache/texttest/texttest into lp:texttest
- texttest
- Merge into trunk
Proposed by
Emily Bache
Status: | Needs review |
---|---|
Proposed branch: | lp:~emily-bache/texttest/texttest |
Merge into: | lp:texttest |
Diff against target: |
1393 lines (+1325/-1) 11 files modified
docs/Makefile (+153/-0) docs/make.bat (+190/-0) docs/source/_static/default.css (+507/-0) docs/source/_templates/layout.html (+22/-0) docs/source/conf.py (+243/-0) docs/source/faq.rst (+4/-0) docs/source/getting-started.rst (+41/-0) docs/source/index.rst (+26/-0) docs/source/installation.rst (+95/-0) docs/source/welcome-page.rst (+43/-0) texttestlib/default/gtkgui/guiplugins.py (+1/-1) |
To merge this branch: | bzr merge lp:~emily-bache/texttest/texttest |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Geoff Bache | Pending | ||
Review via email:
|
Commit message
Description of the change
new look images
To post a comment you must log in.
- 5104. By Emily Bache
-
improve error message
- 5105. By Emily Bache
-
first attempt at some new documentation for texttest
- 5106. By Emily Bache
-
change from italics to bold
- 5107. By Emily Bache
-
updated docs for newest version of texttest
- 5108. By Emily Bache
-
merging
- 5109. By Emily Bache
-
merging in trunk
Unmerged revisions
- 5109. By Emily Bache
-
merging in trunk
- 5108. By Emily Bache
-
merging
- 5107. By Emily Bache
-
updated docs for newest version of texttest
- 5106. By Emily Bache
-
change from italics to bold
- 5105. By Emily Bache
-
first attempt at some new documentation for texttest
- 5104. By Emily Bache
-
improve error message
- 5103. By Emily Bache
-
updated images to new look icons
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === added directory 'docs' |
2 | === added file 'docs/Makefile' |
3 | --- docs/Makefile 1970-01-01 00:00:00 +0000 |
4 | +++ docs/Makefile 2016-05-11 12:45:19 +0000 |
5 | @@ -0,0 +1,153 @@ |
6 | +# Makefile for Sphinx documentation |
7 | +# |
8 | + |
9 | +# You can set these variables from the command line. |
10 | +SPHINXOPTS = |
11 | +SPHINXBUILD = sphinx-build |
12 | +PAPER = |
13 | +BUILDDIR = build |
14 | + |
15 | +# Internal variables. |
16 | +PAPEROPT_a4 = -D latex_paper_size=a4 |
17 | +PAPEROPT_letter = -D latex_paper_size=letter |
18 | +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source |
19 | +# the i18n builder cannot share the environment and doctrees with the others |
20 | +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source |
21 | + |
22 | +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext |
23 | + |
24 | +help: |
25 | + @echo "Please use \`make <target>' where <target> is one of" |
26 | + @echo " html to make standalone HTML files" |
27 | + @echo " dirhtml to make HTML files named index.html in directories" |
28 | + @echo " singlehtml to make a single large HTML file" |
29 | + @echo " pickle to make pickle files" |
30 | + @echo " json to make JSON files" |
31 | + @echo " htmlhelp to make HTML files and a HTML help project" |
32 | + @echo " qthelp to make HTML files and a qthelp project" |
33 | + @echo " devhelp to make HTML files and a Devhelp project" |
34 | + @echo " epub to make an epub" |
35 | + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" |
36 | + @echo " latexpdf to make LaTeX files and run them through pdflatex" |
37 | + @echo " text to make text files" |
38 | + @echo " man to make manual pages" |
39 | + @echo " texinfo to make Texinfo files" |
40 | + @echo " info to make Texinfo files and run them through makeinfo" |
41 | + @echo " gettext to make PO message catalogs" |
42 | + @echo " changes to make an overview of all changed/added/deprecated items" |
43 | + @echo " linkcheck to check all external links for integrity" |
44 | + @echo " doctest to run all doctests embedded in the documentation (if enabled)" |
45 | + |
46 | +clean: |
47 | + -rm -rf $(BUILDDIR)/* |
48 | + |
49 | +html: |
50 | + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html |
51 | + @echo |
52 | + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." |
53 | + |
54 | +dirhtml: |
55 | + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml |
56 | + @echo |
57 | + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." |
58 | + |
59 | +singlehtml: |
60 | + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml |
61 | + @echo |
62 | + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." |
63 | + |
64 | +pickle: |
65 | + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle |
66 | + @echo |
67 | + @echo "Build finished; now you can process the pickle files." |
68 | + |
69 | +json: |
70 | + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json |
71 | + @echo |
72 | + @echo "Build finished; now you can process the JSON files." |
73 | + |
74 | +htmlhelp: |
75 | + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp |
76 | + @echo |
77 | + @echo "Build finished; now you can run HTML Help Workshop with the" \ |
78 | + ".hhp project file in $(BUILDDIR)/htmlhelp." |
79 | + |
80 | +qthelp: |
81 | + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp |
82 | + @echo |
83 | + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ |
84 | + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" |
85 | + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/TextTest.qhcp" |
86 | + @echo "To view the help file:" |
87 | + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/TextTest.qhc" |
88 | + |
89 | +devhelp: |
90 | + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp |
91 | + @echo |
92 | + @echo "Build finished." |
93 | + @echo "To view the help file:" |
94 | + @echo "# mkdir -p $$HOME/.local/share/devhelp/TextTest" |
95 | + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/TextTest" |
96 | + @echo "# devhelp" |
97 | + |
98 | +epub: |
99 | + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub |
100 | + @echo |
101 | + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." |
102 | + |
103 | +latex: |
104 | + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex |
105 | + @echo |
106 | + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." |
107 | + @echo "Run \`make' in that directory to run these through (pdf)latex" \ |
108 | + "(use \`make latexpdf' here to do that automatically)." |
109 | + |
110 | +latexpdf: |
111 | + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex |
112 | + @echo "Running LaTeX files through pdflatex..." |
113 | + $(MAKE) -C $(BUILDDIR)/latex all-pdf |
114 | + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." |
115 | + |
116 | +text: |
117 | + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text |
118 | + @echo |
119 | + @echo "Build finished. The text files are in $(BUILDDIR)/text." |
120 | + |
121 | +man: |
122 | + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man |
123 | + @echo |
124 | + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." |
125 | + |
126 | +texinfo: |
127 | + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo |
128 | + @echo |
129 | + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." |
130 | + @echo "Run \`make' in that directory to run these through makeinfo" \ |
131 | + "(use \`make info' here to do that automatically)." |
132 | + |
133 | +info: |
134 | + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo |
135 | + @echo "Running Texinfo files through makeinfo..." |
136 | + make -C $(BUILDDIR)/texinfo info |
137 | + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." |
138 | + |
139 | +gettext: |
140 | + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale |
141 | + @echo |
142 | + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." |
143 | + |
144 | +changes: |
145 | + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes |
146 | + @echo |
147 | + @echo "The overview file is in $(BUILDDIR)/changes." |
148 | + |
149 | +linkcheck: |
150 | + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck |
151 | + @echo |
152 | + @echo "Link check complete; look for any errors in the above output " \ |
153 | + "or in $(BUILDDIR)/linkcheck/output.txt." |
154 | + |
155 | +doctest: |
156 | + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest |
157 | + @echo "Testing of doctests in the sources finished, look at the " \ |
158 | + "results in $(BUILDDIR)/doctest/output.txt." |
159 | |
160 | === added file 'docs/make.bat' |
161 | --- docs/make.bat 1970-01-01 00:00:00 +0000 |
162 | +++ docs/make.bat 2016-05-11 12:45:19 +0000 |
163 | @@ -0,0 +1,190 @@ |
164 | +@ECHO OFF |
165 | + |
166 | +REM Command file for Sphinx documentation |
167 | + |
168 | +if "%SPHINXBUILD%" == "" ( |
169 | + set SPHINXBUILD=sphinx-build |
170 | +) |
171 | +set BUILDDIR=build |
172 | +set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% source |
173 | +set I18NSPHINXOPTS=%SPHINXOPTS% source |
174 | +if NOT "%PAPER%" == "" ( |
175 | + set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% |
176 | + set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% |
177 | +) |
178 | + |
179 | +if "%1" == "" goto help |
180 | + |
181 | +if "%1" == "help" ( |
182 | + :help |
183 | + echo.Please use `make ^<target^>` where ^<target^> is one of |
184 | + echo. html to make standalone HTML files |
185 | + echo. dirhtml to make HTML files named index.html in directories |
186 | + echo. singlehtml to make a single large HTML file |
187 | + echo. pickle to make pickle files |
188 | + echo. json to make JSON files |
189 | + echo. htmlhelp to make HTML files and a HTML help project |
190 | + echo. qthelp to make HTML files and a qthelp project |
191 | + echo. devhelp to make HTML files and a Devhelp project |
192 | + echo. epub to make an epub |
193 | + echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter |
194 | + echo. text to make text files |
195 | + echo. man to make manual pages |
196 | + echo. texinfo to make Texinfo files |
197 | + echo. gettext to make PO message catalogs |
198 | + echo. changes to make an overview over all changed/added/deprecated items |
199 | + echo. linkcheck to check all external links for integrity |
200 | + echo. doctest to run all doctests embedded in the documentation if enabled |
201 | + goto end |
202 | +) |
203 | + |
204 | +if "%1" == "clean" ( |
205 | + for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i |
206 | + del /q /s %BUILDDIR%\* |
207 | + goto end |
208 | +) |
209 | + |
210 | +if "%1" == "html" ( |
211 | + %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html |
212 | + if errorlevel 1 exit /b 1 |
213 | + echo. |
214 | + echo.Build finished. The HTML pages are in %BUILDDIR%/html. |
215 | + goto end |
216 | +) |
217 | + |
218 | +if "%1" == "dirhtml" ( |
219 | + %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml |
220 | + if errorlevel 1 exit /b 1 |
221 | + echo. |
222 | + echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. |
223 | + goto end |
224 | +) |
225 | + |
226 | +if "%1" == "singlehtml" ( |
227 | + %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml |
228 | + if errorlevel 1 exit /b 1 |
229 | + echo. |
230 | + echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. |
231 | + goto end |
232 | +) |
233 | + |
234 | +if "%1" == "pickle" ( |
235 | + %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle |
236 | + if errorlevel 1 exit /b 1 |
237 | + echo. |
238 | + echo.Build finished; now you can process the pickle files. |
239 | + goto end |
240 | +) |
241 | + |
242 | +if "%1" == "json" ( |
243 | + %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json |
244 | + if errorlevel 1 exit /b 1 |
245 | + echo. |
246 | + echo.Build finished; now you can process the JSON files. |
247 | + goto end |
248 | +) |
249 | + |
250 | +if "%1" == "htmlhelp" ( |
251 | + %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp |
252 | + if errorlevel 1 exit /b 1 |
253 | + echo. |
254 | + echo.Build finished; now you can run HTML Help Workshop with the ^ |
255 | +.hhp project file in %BUILDDIR%/htmlhelp. |
256 | + goto end |
257 | +) |
258 | + |
259 | +if "%1" == "qthelp" ( |
260 | + %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp |
261 | + if errorlevel 1 exit /b 1 |
262 | + echo. |
263 | + echo.Build finished; now you can run "qcollectiongenerator" with the ^ |
264 | +.qhcp project file in %BUILDDIR%/qthelp, like this: |
265 | + echo.^> qcollectiongenerator %BUILDDIR%\qthelp\TextTest.qhcp |
266 | + echo.To view the help file: |
267 | + echo.^> assistant -collectionFile %BUILDDIR%\qthelp\TextTest.ghc |
268 | + goto end |
269 | +) |
270 | + |
271 | +if "%1" == "devhelp" ( |
272 | + %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp |
273 | + if errorlevel 1 exit /b 1 |
274 | + echo. |
275 | + echo.Build finished. |
276 | + goto end |
277 | +) |
278 | + |
279 | +if "%1" == "epub" ( |
280 | + %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub |
281 | + if errorlevel 1 exit /b 1 |
282 | + echo. |
283 | + echo.Build finished. The epub file is in %BUILDDIR%/epub. |
284 | + goto end |
285 | +) |
286 | + |
287 | +if "%1" == "latex" ( |
288 | + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex |
289 | + if errorlevel 1 exit /b 1 |
290 | + echo. |
291 | + echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. |
292 | + goto end |
293 | +) |
294 | + |
295 | +if "%1" == "text" ( |
296 | + %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text |
297 | + if errorlevel 1 exit /b 1 |
298 | + echo. |
299 | + echo.Build finished. The text files are in %BUILDDIR%/text. |
300 | + goto end |
301 | +) |
302 | + |
303 | +if "%1" == "man" ( |
304 | + %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man |
305 | + if errorlevel 1 exit /b 1 |
306 | + echo. |
307 | + echo.Build finished. The manual pages are in %BUILDDIR%/man. |
308 | + goto end |
309 | +) |
310 | + |
311 | +if "%1" == "texinfo" ( |
312 | + %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo |
313 | + if errorlevel 1 exit /b 1 |
314 | + echo. |
315 | + echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. |
316 | + goto end |
317 | +) |
318 | + |
319 | +if "%1" == "gettext" ( |
320 | + %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale |
321 | + if errorlevel 1 exit /b 1 |
322 | + echo. |
323 | + echo.Build finished. The message catalogs are in %BUILDDIR%/locale. |
324 | + goto end |
325 | +) |
326 | + |
327 | +if "%1" == "changes" ( |
328 | + %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes |
329 | + if errorlevel 1 exit /b 1 |
330 | + echo. |
331 | + echo.The overview file is in %BUILDDIR%/changes. |
332 | + goto end |
333 | +) |
334 | + |
335 | +if "%1" == "linkcheck" ( |
336 | + %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck |
337 | + if errorlevel 1 exit /b 1 |
338 | + echo. |
339 | + echo.Link check complete; look for any errors in the above output ^ |
340 | +or in %BUILDDIR%/linkcheck/output.txt. |
341 | + goto end |
342 | +) |
343 | + |
344 | +if "%1" == "doctest" ( |
345 | + %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest |
346 | + if errorlevel 1 exit /b 1 |
347 | + echo. |
348 | + echo.Testing of doctests in the sources finished, look at the ^ |
349 | +results in %BUILDDIR%/doctest/output.txt. |
350 | + goto end |
351 | +) |
352 | + |
353 | +:end |
354 | |
355 | === added directory 'docs/source' |
356 | === added directory 'docs/source/_static' |
357 | === added file 'docs/source/_static/default.css' |
358 | --- docs/source/_static/default.css 1970-01-01 00:00:00 +0000 |
359 | +++ docs/source/_static/default.css 2016-05-11 12:45:19 +0000 |
360 | @@ -0,0 +1,507 @@ |
361 | +/** |
362 | + * Alternate Sphinx design |
363 | + * Originally created by Armin Ronacher for Werkzeug, adapted by Georg Brandl. |
364 | + */ |
365 | + |
366 | +body { |
367 | + font-family: 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva', 'Verdana', sans-serif; |
368 | + font-size: 14px; |
369 | + letter-spacing: -0.01em; |
370 | + line-height: 150%; |
371 | + text-align: center; |
372 | + /*background-color: #AFC1C4; */ |
373 | + background-color: #BFD1D4; |
374 | + color: black; |
375 | + padding: 0; |
376 | + border: 1px solid #aaa; |
377 | + |
378 | + margin: 0px 80px 0px 80px; |
379 | + min-width: 740px; |
380 | +} |
381 | + |
382 | +a { |
383 | + color: #CA7900; |
384 | + text-decoration: none; |
385 | +} |
386 | + |
387 | +a:hover { |
388 | + color: #2491CF; |
389 | +} |
390 | + |
391 | +pre { |
392 | + font-family: 'Consolas', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace; |
393 | + font-size: 0.95em; |
394 | + letter-spacing: 0.015em; |
395 | + padding: 0.5em; |
396 | + border: 1px solid #ccc; |
397 | + background-color: #f8f8f8; |
398 | +} |
399 | + |
400 | +td.linenos pre { |
401 | + padding: 0.5em 0; |
402 | + border: 0; |
403 | + background-color: transparent; |
404 | + color: #aaa; |
405 | +} |
406 | + |
407 | +table.highlighttable { |
408 | + margin-left: 0.5em; |
409 | +} |
410 | + |
411 | +table.highlighttable td { |
412 | + padding: 0 0.5em 0 0.5em; |
413 | +} |
414 | + |
415 | +cite, code, tt { |
416 | + font-family: 'Consolas', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace; |
417 | + font-size: 0.95em; |
418 | + letter-spacing: 0.01em; |
419 | +} |
420 | + |
421 | +hr { |
422 | + border: 1px solid #abc; |
423 | + margin: 2em; |
424 | +} |
425 | + |
426 | +tt { |
427 | + background-color: #f2f2f2; |
428 | + border-bottom: 1px solid #ddd; |
429 | + color: #333; |
430 | +} |
431 | + |
432 | +tt.descname { |
433 | + background-color: transparent; |
434 | + font-weight: bold; |
435 | + font-size: 1.2em; |
436 | + border: 0; |
437 | +} |
438 | + |
439 | +tt.descclassname { |
440 | + background-color: transparent; |
441 | + border: 0; |
442 | +} |
443 | + |
444 | +tt.xref { |
445 | + background-color: transparent; |
446 | + font-weight: bold; |
447 | + border: 0; |
448 | +} |
449 | + |
450 | +a tt { |
451 | + background-color: transparent; |
452 | + font-weight: bold; |
453 | + border: 0; |
454 | + color: #CA7900; |
455 | +} |
456 | + |
457 | +a tt:hover { |
458 | + color: #2491CF; |
459 | +} |
460 | + |
461 | +dl { |
462 | + margin-bottom: 15px; |
463 | +} |
464 | + |
465 | +dd p { |
466 | + margin-top: 0px; |
467 | +} |
468 | + |
469 | +dd ul, dd table { |
470 | + margin-bottom: 10px; |
471 | +} |
472 | + |
473 | +dd { |
474 | + margin-top: 3px; |
475 | + margin-bottom: 10px; |
476 | + margin-left: 30px; |
477 | +} |
478 | + |
479 | +.refcount { |
480 | + color: #060; |
481 | +} |
482 | + |
483 | +dt:target, |
484 | +.highlight { |
485 | + background-color: #fbe54e; |
486 | +} |
487 | + |
488 | +dl.class, dl.function { |
489 | + border-top: 2px solid #888; |
490 | +} |
491 | + |
492 | +dl.method, dl.attribute { |
493 | + border-top: 1px solid #aaa; |
494 | +} |
495 | + |
496 | +dl.glossary dt { |
497 | + font-weight: bold; |
498 | + font-size: 1.1em; |
499 | +} |
500 | + |
501 | +pre { |
502 | + line-height: 120%; |
503 | +} |
504 | + |
505 | +pre a { |
506 | + color: inherit; |
507 | + text-decoration: underline; |
508 | +} |
509 | + |
510 | +.first { |
511 | + margin-top: 0 !important; |
512 | +} |
513 | + |
514 | +div.document { |
515 | + background-color: white; |
516 | + text-align: left; |
517 | + background-image: url(contents.png); |
518 | + background-repeat: repeat-x; |
519 | +} |
520 | + |
521 | +/* |
522 | +div.documentwrapper { |
523 | + width: 100%; |
524 | +} |
525 | +*/ |
526 | + |
527 | +div.clearer { |
528 | + clear: both; |
529 | +} |
530 | + |
531 | +div.related h3 { |
532 | + display: none; |
533 | +} |
534 | + |
535 | +div.related ul { |
536 | + background-image: url(navigation.png); |
537 | + height: 2em; |
538 | + list-style: none; |
539 | + border-top: 1px solid #ddd; |
540 | + border-bottom: 1px solid #ddd; |
541 | + margin: 0; |
542 | + padding-left: 10px; |
543 | +} |
544 | + |
545 | +div.related ul li { |
546 | + margin: 0; |
547 | + padding: 0; |
548 | + height: 2em; |
549 | + float: left; |
550 | +} |
551 | + |
552 | +div.related ul li.right { |
553 | + float: right; |
554 | + margin-right: 5px; |
555 | +} |
556 | + |
557 | +div.related ul li a { |
558 | + margin: 0; |
559 | + padding: 0 5px 0 5px; |
560 | + line-height: 1.75em; |
561 | + color: #EE9816; |
562 | +} |
563 | + |
564 | +div.related ul li a:hover { |
565 | + color: #3CA8E7; |
566 | +} |
567 | + |
568 | +div.body { |
569 | + margin: 0; |
570 | + padding: 0.5em 20px 20px 20px; |
571 | +} |
572 | + |
573 | +div.bodywrapper { |
574 | + margin: 0 240px 0 0; |
575 | + border-right: 1px solid #ccc; |
576 | +} |
577 | + |
578 | +div.body a { |
579 | + text-decoration: underline; |
580 | +} |
581 | + |
582 | +div.sphinxsidebar { |
583 | + margin: 0; |
584 | + padding: 0.5em 15px 15px 0; |
585 | + width: 210px; |
586 | + float: right; |
587 | + text-align: left; |
588 | +/* margin-left: -100%; */ |
589 | +} |
590 | + |
591 | +div.sphinxsidebar h4, div.sphinxsidebar h3 { |
592 | + margin: 1em 0 0.5em 0; |
593 | + font-size: 0.9em; |
594 | + padding: 0.1em 0 0.1em 0.5em; |
595 | + color: white; |
596 | + border: 1px solid #86989B; |
597 | + background-color: #AFC1C4; |
598 | +} |
599 | + |
600 | +div.sphinxsidebar ul { |
601 | + padding-left: 1.5em; |
602 | + margin-top: 7px; |
603 | + list-style: none; |
604 | + padding: 0; |
605 | + line-height: 130%; |
606 | +} |
607 | + |
608 | +div.sphinxsidebar ul ul { |
609 | + list-style: square; |
610 | + margin-left: 20px; |
611 | +} |
612 | + |
613 | +p { |
614 | + margin: 0.8em 0 0.5em 0; |
615 | +} |
616 | + |
617 | +p.rubric { |
618 | + font-weight: bold; |
619 | +} |
620 | + |
621 | +h1 { |
622 | + margin: 0; |
623 | + padding: 0.7em 0 0.3em 0; |
624 | + font-size: 1.5em; |
625 | + color: #11557C; |
626 | +} |
627 | + |
628 | +h2 { |
629 | + margin: 1.3em 0 0.2em 0; |
630 | + font-size: 1.35em; |
631 | + padding: 0; |
632 | +} |
633 | + |
634 | +h3 { |
635 | + margin: 1em 0 -0.3em 0; |
636 | + font-size: 1.2em; |
637 | +} |
638 | + |
639 | +h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { |
640 | + color: black!important; |
641 | +} |
642 | + |
643 | +h1 a.anchor, h2 a.anchor, h3 a.anchor, h4 a.anchor, h5 a.anchor, h6 a.anchor { |
644 | + display: none; |
645 | + margin: 0 0 0 0.3em; |
646 | + padding: 0 0.2em 0 0.2em; |
647 | + color: #aaa!important; |
648 | +} |
649 | + |
650 | +h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor, |
651 | +h5:hover a.anchor, h6:hover a.anchor { |
652 | + display: inline; |
653 | +} |
654 | + |
655 | +h1 a.anchor:hover, h2 a.anchor:hover, h3 a.anchor:hover, h4 a.anchor:hover, |
656 | +h5 a.anchor:hover, h6 a.anchor:hover { |
657 | + color: #777; |
658 | + background-color: #eee; |
659 | +} |
660 | + |
661 | +table { |
662 | + border-collapse: collapse; |
663 | + margin: 0 -0.5em 0 -0.5em; |
664 | +} |
665 | + |
666 | +table td, table th { |
667 | + padding: 0.2em 0.5em 0.2em 0.5em; |
668 | +} |
669 | + |
670 | +div.footer { |
671 | + background-color: #E3EFF1; |
672 | + color: #86989B; |
673 | + padding: 3px 8px 3px 0; |
674 | + clear: both; |
675 | + font-size: 0.8em; |
676 | + text-align: right; |
677 | +} |
678 | + |
679 | +div.footer a { |
680 | + color: #86989B; |
681 | + text-decoration: underline; |
682 | +} |
683 | + |
684 | +div.pagination { |
685 | + margin-top: 2em; |
686 | + padding-top: 0.5em; |
687 | + border-top: 1px solid black; |
688 | + text-align: center; |
689 | +} |
690 | + |
691 | +div.sphinxsidebar ul.toc { |
692 | + margin: 1em 0 1em 0; |
693 | + padding: 0 0 0 0.5em; |
694 | + list-style: none; |
695 | +} |
696 | + |
697 | +div.sphinxsidebar ul.toc li { |
698 | + margin: 0.5em 0 0.5em 0; |
699 | + font-size: 0.9em; |
700 | + line-height: 130%; |
701 | +} |
702 | + |
703 | +div.sphinxsidebar ul.toc li p { |
704 | + margin: 0; |
705 | + padding: 0; |
706 | +} |
707 | + |
708 | +div.sphinxsidebar ul.toc ul { |
709 | + margin: 0.2em 0 0.2em 0; |
710 | + padding: 0 0 0 1.8em; |
711 | +} |
712 | + |
713 | +div.sphinxsidebar ul.toc ul li { |
714 | + padding: 0; |
715 | +} |
716 | + |
717 | +div.admonition, div.warning { |
718 | + font-size: 0.9em; |
719 | + margin: 1em 0 0 0; |
720 | + border: 1px solid #86989B; |
721 | + background-color: #f7f7f7; |
722 | +} |
723 | + |
724 | +div.admonition p, div.warning p { |
725 | + margin: 0.5em 1em 0.5em 1em; |
726 | + padding: 0; |
727 | +} |
728 | + |
729 | +div.admonition pre, div.warning pre { |
730 | + margin: 0.4em 1em 0.4em 1em; |
731 | +} |
732 | + |
733 | +div.admonition p.admonition-title, |
734 | +div.warning p.admonition-title { |
735 | + margin: 0; |
736 | + padding: 0.1em 0 0.1em 0.5em; |
737 | + color: white; |
738 | + border-bottom: 1px solid #86989B; |
739 | + font-weight: bold; |
740 | + background-color: #AFC1C4; |
741 | +} |
742 | + |
743 | +div.warning { |
744 | + border: 1px solid #940000; |
745 | +} |
746 | + |
747 | +div.warning p.admonition-title { |
748 | + background-color: #CF0000; |
749 | + border-bottom-color: #940000; |
750 | +} |
751 | + |
752 | +div.admonition ul, div.admonition ol, |
753 | +div.warning ul, div.warning ol { |
754 | + margin: 0.1em 0.5em 0.5em 3em; |
755 | + padding: 0; |
756 | +} |
757 | + |
758 | +div.versioninfo { |
759 | + margin: 1em 0 0 0; |
760 | + border: 1px solid #ccc; |
761 | + background-color: #DDEAF0; |
762 | + padding: 8px; |
763 | + line-height: 1.3em; |
764 | + font-size: 0.9em; |
765 | +} |
766 | + |
767 | + |
768 | +a.headerlink { |
769 | + color: #c60f0f!important; |
770 | + font-size: 1em; |
771 | + margin-left: 6px; |
772 | + padding: 0 4px 0 4px; |
773 | + text-decoration: none!important; |
774 | + visibility: hidden; |
775 | +} |
776 | + |
777 | +h1:hover > a.headerlink, |
778 | +h2:hover > a.headerlink, |
779 | +h3:hover > a.headerlink, |
780 | +h4:hover > a.headerlink, |
781 | +h5:hover > a.headerlink, |
782 | +h6:hover > a.headerlink, |
783 | +dt:hover > a.headerlink { |
784 | + visibility: visible; |
785 | +} |
786 | + |
787 | +a.headerlink:hover { |
788 | + background-color: #ccc; |
789 | + color: white!important; |
790 | +} |
791 | + |
792 | +table.indextable td { |
793 | + text-align: left; |
794 | + vertical-align: top; |
795 | +} |
796 | + |
797 | +table.indextable dl, table.indextable dd { |
798 | + margin-top: 0; |
799 | + margin-bottom: 0; |
800 | +} |
801 | + |
802 | +table.indextable tr.pcap { |
803 | + height: 10px; |
804 | +} |
805 | + |
806 | +table.indextable tr.cap { |
807 | + margin-top: 10px; |
808 | + background-color: #f2f2f2; |
809 | +} |
810 | + |
811 | +img.toggler { |
812 | + margin-right: 3px; |
813 | + margin-top: 3px; |
814 | + cursor: pointer; |
815 | +} |
816 | + |
817 | +img.inheritance { |
818 | + border: 0px |
819 | +} |
820 | + |
821 | +form.pfform { |
822 | + margin: 10px 0 20px 0; |
823 | +} |
824 | + |
825 | +table.contentstable { |
826 | + width: 90%; |
827 | +} |
828 | + |
829 | +table.contentstable p.biglink { |
830 | + line-height: 150%; |
831 | +} |
832 | + |
833 | +a.biglink { |
834 | + font-size: 1.3em; |
835 | +} |
836 | + |
837 | +span.linkdescr { |
838 | + font-style: italic; |
839 | + padding-top: 5px; |
840 | + font-size: 90%; |
841 | +} |
842 | + |
843 | +ul.search { |
844 | + margin: 10px 0 0 20px; |
845 | + padding: 0; |
846 | +} |
847 | + |
848 | +ul.search li { |
849 | + padding: 5px 0 5px 20px; |
850 | + background-image: url(file.png); |
851 | + background-repeat: no-repeat; |
852 | + background-position: 0 7px; |
853 | +} |
854 | + |
855 | +ul.search li a { |
856 | + font-weight: bold; |
857 | +} |
858 | + |
859 | +ul.search li div.context { |
860 | + color: #888; |
861 | + margin: 2px 0 0 30px; |
862 | + text-align: left; |
863 | +} |
864 | + |
865 | +ul.keywordmatches li.goodmatch a { |
866 | + font-weight: bold; |
867 | +} |
868 | |
869 | === added directory 'docs/source/_static/images' |
870 | === added file 'docs/source/_static/images/logo-tt-on-white.png' |
871 | Binary files docs/source/_static/images/logo-tt-on-white.png 1970-01-01 00:00:00 +0000 and docs/source/_static/images/logo-tt-on-white.png 2016-05-11 12:45:19 +0000 differ |
872 | === added directory 'docs/source/_templates' |
873 | === added file 'docs/source/_templates/layout.html' |
874 | --- docs/source/_templates/layout.html 1970-01-01 00:00:00 +0000 |
875 | +++ docs/source/_templates/layout.html 2016-05-11 12:45:19 +0000 |
876 | @@ -0,0 +1,22 @@ |
877 | +{% extends "!layout.html" %} |
878 | + |
879 | + |
880 | +{% block rootrellink %} |
881 | + <li><a href="{{ pathto('index') }}">home</a>| </li> |
882 | + <li><a href="{{ pathto('search') }}">search</a>| </li> |
883 | +{% endblock %} |
884 | + |
885 | + |
886 | +{% block relbar1 %} |
887 | + |
888 | +<div style="background-color: white; text-align: left; padding: 10px 10px 15px 15px"> |
889 | +<a href="{{ pathto('index') }}"><img src="{{ |
890 | +pathto("_static/images/logo-tt-on-white.png", 1) }}" border="0" alt="texttest"/></a> |
891 | +</div> |
892 | +{{ super() }} |
893 | +{% endblock %} |
894 | + |
895 | +{# put the sidebar before the body #} |
896 | +{% block sidebar1 %}{{ sidebar() }}{% endblock %} |
897 | +{% block sidebar2 %}{% endblock %} |
898 | + |
899 | |
900 | === added file 'docs/source/conf.py' |
901 | --- docs/source/conf.py 1970-01-01 00:00:00 +0000 |
902 | +++ docs/source/conf.py 2016-05-11 12:45:19 +0000 |
903 | @@ -0,0 +1,243 @@ |
904 | +#!/usr/bin/env python3 |
905 | +# -*- coding: utf-8 -*- |
906 | +# |
907 | +# TextTest documentation build configuration file, created by |
908 | +# sphinx-quickstart on Sun Jan 26 13:25:44 2014. |
909 | +# |
910 | +# This file is execfile()d with the current directory set to its containing dir. |
911 | +# |
912 | +# Note that not all possible configuration values are present in this |
913 | +# autogenerated file. |
914 | +# |
915 | +# All configuration values have a default; values that are commented out |
916 | +# serve to show the default. |
917 | + |
918 | +import sys, os |
919 | + |
920 | +# If extensions (or modules to document with autodoc) are in another directory, |
921 | +# add these directories to sys.path here. If the directory is relative to the |
922 | +# documentation root, use os.path.abspath to make it absolute, like shown here. |
923 | +#sys.path.insert(0, os.path.abspath('.')) |
924 | + |
925 | +# -- General configuration ----------------------------------------------------- |
926 | + |
927 | +# If your documentation needs a minimal Sphinx version, state it here. |
928 | +#needs_sphinx = '1.0' |
929 | + |
930 | +# Add any Sphinx extension module names here, as strings. They can be extensions |
931 | +# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. |
932 | +extensions = [] |
933 | + |
934 | +# Add any paths that contain templates here, relative to this directory. |
935 | +templates_path = ['_templates'] |
936 | + |
937 | +# The suffix of source filenames. |
938 | +source_suffix = '.rst' |
939 | + |
940 | +# The encoding of source files. |
941 | +#source_encoding = 'utf-8-sig' |
942 | + |
943 | +# The master toctree document. |
944 | +master_doc = 'index' |
945 | + |
946 | +# General information about the project. |
947 | +project = 'TextTest' |
948 | +copyright = '2014, Geoff Bache, Emily Bache' |
949 | + |
950 | +# The version info for the project you're documenting, acts as replacement for |
951 | +# |version| and |release|, also used in various other places throughout the |
952 | +# built documents. |
953 | +# |
954 | +# The short X.Y version. |
955 | +version = '3.27' |
956 | +# The full version, including alpha/beta/rc tags. |
957 | +release = '3.27' |
958 | + |
959 | +# The language for content autogenerated by Sphinx. Refer to documentation |
960 | +# for a list of supported languages. |
961 | +#language = None |
962 | + |
963 | +# There are two options for replacing |today|: either, you set today to some |
964 | +# non-false value, then it is used: |
965 | +#today = '' |
966 | +# Else, today_fmt is used as the format for a strftime call. |
967 | +#today_fmt = '%B %d, %Y' |
968 | + |
969 | +# List of patterns, relative to source directory, that match files and |
970 | +# directories to ignore when looking for source files. |
971 | +exclude_patterns = [] |
972 | + |
973 | +# The reST default role (used for this markup: `text`) to use for all documents. |
974 | +#default_role = None |
975 | + |
976 | +# If true, '()' will be appended to :func: etc. cross-reference text. |
977 | +#add_function_parentheses = True |
978 | + |
979 | +# If true, the current module name will be prepended to all description |
980 | +# unit titles (such as .. function::). |
981 | +#add_module_names = True |
982 | + |
983 | +# If true, sectionauthor and moduleauthor directives will be shown in the |
984 | +# output. They are ignored by default. |
985 | +#show_authors = False |
986 | + |
987 | +# The name of the Pygments (syntax highlighting) style to use. |
988 | +pygments_style = 'sphinx' |
989 | + |
990 | +# A list of ignored prefixes for module index sorting. |
991 | +#modindex_common_prefix = [] |
992 | + |
993 | + |
994 | +# -- Options for HTML output --------------------------------------------------- |
995 | + |
996 | +# The theme to use for HTML and HTML Help pages. See the documentation for |
997 | +# a list of builtin themes. |
998 | +html_theme = 'default' |
999 | + |
1000 | +# Theme options are theme-specific and customize the look and feel of a theme |
1001 | +# further. For a list of options available for each theme, see the |
1002 | +# documentation. |
1003 | +#html_theme_options = {} |
1004 | + |
1005 | +# Add any paths that contain custom themes here, relative to this directory. |
1006 | +#html_theme_path = [] |
1007 | + |
1008 | +# The name for this set of Sphinx documents. If None, it defaults to |
1009 | +# "<project> v<release> documentation". |
1010 | +#html_title = None |
1011 | + |
1012 | +# A shorter title for the navigation bar. Default is the same as html_title. |
1013 | +#html_short_title = None |
1014 | + |
1015 | +# The name of an image file (relative to this directory) to place at the top |
1016 | +# of the sidebar. |
1017 | +#html_logo = None |
1018 | + |
1019 | +# The name of an image file (within the static path) to use as favicon of the |
1020 | +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 |
1021 | +# pixels large. |
1022 | +#html_favicon = None |
1023 | + |
1024 | +# Add any paths that contain custom static files (such as style sheets) here, |
1025 | +# relative to this directory. They are copied after the builtin static files, |
1026 | +# so a file named "default.css" will overwrite the builtin "default.css". |
1027 | +html_static_path = ['_static'] |
1028 | + |
1029 | +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, |
1030 | +# using the given strftime format. |
1031 | +#html_last_updated_fmt = '%b %d, %Y' |
1032 | + |
1033 | +# If true, SmartyPants will be used to convert quotes and dashes to |
1034 | +# typographically correct entities. |
1035 | +#html_use_smartypants = True |
1036 | + |
1037 | +# Custom sidebar templates, maps document names to template names. |
1038 | +#html_sidebars = {} |
1039 | + |
1040 | +# Additional templates that should be rendered to pages, maps page names to |
1041 | +# template names. |
1042 | +#html_additional_pages = {} |
1043 | + |
1044 | +# If false, no module index is generated. |
1045 | +#html_domain_indices = True |
1046 | + |
1047 | +# If false, no index is generated. |
1048 | +#html_use_index = True |
1049 | + |
1050 | +# If true, the index is split into individual pages for each letter. |
1051 | +#html_split_index = False |
1052 | + |
1053 | +# If true, links to the reST sources are added to the pages. |
1054 | +#html_show_sourcelink = True |
1055 | + |
1056 | +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. |
1057 | +#html_show_sphinx = True |
1058 | + |
1059 | +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. |
1060 | +#html_show_copyright = True |
1061 | + |
1062 | +# If true, an OpenSearch description file will be output, and all pages will |
1063 | +# contain a <link> tag referring to it. The value of this option must be the |
1064 | +# base URL from which the finished HTML is served. |
1065 | +#html_use_opensearch = '' |
1066 | + |
1067 | +# This is the file name suffix for HTML files (e.g. ".xhtml"). |
1068 | +#html_file_suffix = None |
1069 | + |
1070 | +# Output file base name for HTML help builder. |
1071 | +htmlhelp_basename = 'TextTestdoc' |
1072 | + |
1073 | + |
1074 | +# -- Options for LaTeX output -------------------------------------------------- |
1075 | + |
1076 | +latex_elements = { |
1077 | +# The paper size ('letterpaper' or 'a4paper'). |
1078 | +#'papersize': 'letterpaper', |
1079 | + |
1080 | +# The font size ('10pt', '11pt' or '12pt'). |
1081 | +#'pointsize': '10pt', |
1082 | + |
1083 | +# Additional stuff for the LaTeX preamble. |
1084 | +#'preamble': '', |
1085 | +} |
1086 | + |
1087 | +# Grouping the document tree into LaTeX files. List of tuples |
1088 | +# (source start file, target name, title, author, documentclass [howto/manual]). |
1089 | +latex_documents = [ |
1090 | + ('index', 'TextTest.tex', 'TextTest Documentation', |
1091 | + 'Geoff Bache, Emily Bache', 'manual'), |
1092 | +] |
1093 | + |
1094 | +# The name of an image file (relative to this directory) to place at the top of |
1095 | +# the title page. |
1096 | +#latex_logo = None |
1097 | + |
1098 | +# For "manual" documents, if this is true, then toplevel headings are parts, |
1099 | +# not chapters. |
1100 | +#latex_use_parts = False |
1101 | + |
1102 | +# If true, show page references after internal links. |
1103 | +#latex_show_pagerefs = False |
1104 | + |
1105 | +# If true, show URL addresses after external links. |
1106 | +#latex_show_urls = False |
1107 | + |
1108 | +# Documents to append as an appendix to all manuals. |
1109 | +#latex_appendices = [] |
1110 | + |
1111 | +# If false, no module index is generated. |
1112 | +#latex_domain_indices = True |
1113 | + |
1114 | + |
1115 | +# -- Options for manual page output -------------------------------------------- |
1116 | + |
1117 | +# One entry per manual page. List of tuples |
1118 | +# (source start file, name, description, authors, manual section). |
1119 | +man_pages = [ |
1120 | + ('index', 'texttest', 'TextTest Documentation', |
1121 | + ['Geoff Bache, Emily Bache'], 1) |
1122 | +] |
1123 | + |
1124 | +# If true, show URL addresses after external links. |
1125 | +#man_show_urls = False |
1126 | + |
1127 | + |
1128 | +# -- Options for Texinfo output ------------------------------------------------ |
1129 | + |
1130 | +# Grouping the document tree into Texinfo files. List of tuples |
1131 | +# (source start file, target name, title, author, |
1132 | +# dir menu entry, description, category) |
1133 | +texinfo_documents = [ |
1134 | + ('index', 'TextTest', 'TextTest Documentation', |
1135 | + 'Geoff Bache, Emily Bache', 'TextTest', 'One line description of project.', |
1136 | + 'Miscellaneous'), |
1137 | +] |
1138 | + |
1139 | +# Documents to append as an appendix to all manuals. |
1140 | +#texinfo_appendices = [] |
1141 | + |
1142 | +# If false, no module index is generated. |
1143 | +#texinfo_domain_indices = True |
1144 | + |
1145 | +# How to display URL addresses: 'footnote', 'no', or 'inline'. |
1146 | +#texinfo_show_urls = 'footnote' |
1147 | |
1148 | === added file 'docs/source/faq.rst' |
1149 | --- docs/source/faq.rst 1970-01-01 00:00:00 +0000 |
1150 | +++ docs/source/faq.rst 2016-05-11 12:45:19 +0000 |
1151 | @@ -0,0 +1,4 @@ |
1152 | +Frequently Asked Questions |
1153 | +========================== |
1154 | + |
1155 | +We are in the process of building this page. Please put your questions to the `TextTest mailing list <http://sourceforge.net/mailarchive/forum.php?forum_name=texttest-users>`_. Popular questions will appear here. |
1156 | \ No newline at end of file |
1157 | |
1158 | === added file 'docs/source/getting-started.rst' |
1159 | --- docs/source/getting-started.rst 1970-01-01 00:00:00 +0000 |
1160 | +++ docs/source/getting-started.rst 2016-05-11 12:45:19 +0000 |
1161 | @@ -0,0 +1,41 @@ |
1162 | +Getting Started |
1163 | +=============== |
1164 | + |
1165 | +TextTest can be used either from the command line, or via a Graphical User Interface (GUI). The command line interface is mostly used for running the tests unattended (for example on a Continuous Integration server), or for systems where no window manager is available. For day-to-day work creating and maintaing tests, the GUI makes a lot more functionality available. |
1166 | + |
1167 | +First we'll show you a minimal example using just the command line, and then a slightly larger example using the GUI. |
1168 | + |
1169 | +A Minimal Example on the Command Line |
1170 | +------------------------------------- |
1171 | + |
1172 | +For example, if you have an executable script :code:`myapp.sh`:: |
1173 | + |
1174 | + # myapp.sh |
1175 | + echo "Hello World" |
1176 | + |
1177 | +Create a config file :code:`config.myapp` telling TextTest how to execute your program:: |
1178 | + |
1179 | + # config.myapp |
1180 | + executable:myapp.sh |
1181 | + |
1182 | +Create a subfolder to be a test case, for example named "HelloWorld", and create a file :code:`testsuite.myapp` telling TextTest to look in it:: |
1183 | + |
1184 | + # testsuite.myapp |
1185 | + HelloWorld |
1186 | + |
1187 | +Execute TextTest in the same folder as the config file:: |
1188 | + |
1189 | + texttest -con -d . |
1190 | + |
1191 | +It will execute your test case, and it will fail. Hopefully it will fail for the right reason - that you have not defined a "Golden Master" file for your test case "HelloWorld". TextTest should ask you if you want to save the output. If you answer Yes, then it will save two new files in your HelloWorld folder - `stdout.myapp` and `stderr.myapp`. These files contain the output you just got from your script when you executed it, on standard output and standard error respectively. |
1192 | + |
1193 | +If your test is failing for some other reason and you can't work out what's going on, please contact us via the `TextTest mailing list <http://sourceforge.net/mailarchive/forum.php?forum_name=texttest-users>`_. We are in the process of compiling a Frequently Asked Questions page. |
1194 | + |
1195 | +Using the TextTest GUI |
1196 | +---------------------- |
1197 | + |
1198 | +Start TextTest with the argument :code:`--new` to tell it you want to build a test suite for an application:: |
1199 | + |
1200 | + texttest --new |
1201 | + |
1202 | +This will present you with a dialog where you can fill in details of the application you want to test. |
1203 | |
1204 | === added file 'docs/source/index.rst' |
1205 | --- docs/source/index.rst 1970-01-01 00:00:00 +0000 |
1206 | +++ docs/source/index.rst 2016-05-11 12:45:19 +0000 |
1207 | @@ -0,0 +1,26 @@ |
1208 | +.. TextTest documentation master file, created by |
1209 | + sphinx-quickstart on Sun Jan 26 13:25:44 2014. |
1210 | + You can adapt this file completely to your liking, but it should at least |
1211 | + contain the root `toctree` directive. |
1212 | + |
1213 | +Welcome to TextTest's documentation! |
1214 | +==================================== |
1215 | + |
1216 | +Contents: |
1217 | + |
1218 | +.. toctree:: |
1219 | + :maxdepth: 2 |
1220 | + |
1221 | + welcome-page |
1222 | + installation |
1223 | + getting-started |
1224 | + faq |
1225 | + |
1226 | + |
1227 | + |
1228 | +Indices and tables |
1229 | +================== |
1230 | + |
1231 | +* :ref:`genindex` |
1232 | +* :ref:`search` |
1233 | + |
1234 | |
1235 | === added file 'docs/source/installation.rst' |
1236 | --- docs/source/installation.rst 1970-01-01 00:00:00 +0000 |
1237 | +++ docs/source/installation.rst 2016-05-11 12:45:19 +0000 |
1238 | @@ -0,0 +1,95 @@ |
1239 | +Installation Guide |
1240 | +================== |
1241 | + |
1242 | +TextTest is available via the pip package manager: |
1243 | + |
1244 | + pip install texttest |
1245 | + |
1246 | +This will make the texttest command line tools available on your system. TextTest also has a graphical user interface for managing your test suite. In order to use it, you will have to install pygtk, which is not currently available via the pip package manager. Installation is platform specific, see below. |
1247 | + |
1248 | + |
1249 | +Linux |
1250 | +----- |
1251 | + |
1252 | +- Check you if you already have PyGTK - many Linux systems come with it already installed:: |
1253 | + |
1254 | + $> python |
1255 | + Python 2.7.1 |
1256 | + [GCC 4.6.3] on linux |
1257 | + Type "help", "copyright", "credits" or "license" for more information. |
1258 | + >>> import gtk |
1259 | + >>> |
1260 | + |
1261 | +If this produces an error then you don't have PyGTK and you will need to install it. Refer to the `PyGTK home page <http://www.pygtk.org/downloads.html>`_. You need at least GTK 2.18 and PyGTK 2.16 |
1262 | + |
1263 | +- Download the zip file containing all the TextTest source code and tests from http://sf.net/projects/texttest. Unpack it into an installation directory, such as :code:`~/tools/texttest`. |
1264 | + |
1265 | +- You may also want to install a separate diff tool such as `TkDiff <http://sourceforge.net/projects/tkdiff/>`_ if you havn't already got it. |
1266 | + |
1267 | +Mac |
1268 | +--- |
1269 | + |
1270 | +- Install `Homebrew <http://brew.sh>`_. Check that :code:`/usr/local/bin` is on your :code:`$PATH` |
1271 | + |
1272 | +- Install `XQuartz <http://xquartz.macosforge.org/landing/>`_. Log in and out again (to activate XQuartz as a windows manager) |
1273 | + |
1274 | +- Set the following environment variables:: |
1275 | + |
1276 | + export LC_ALL=en_US.UTF-8 |
1277 | + export LANG=en_US.UTF-8 |
1278 | + |
1279 | +- Install Python (version 2.6 or 2.7):: |
1280 | + |
1281 | + brew install python |
1282 | + |
1283 | +- Install PyGTK:: |
1284 | + |
1285 | + brew install pygtk |
1286 | + |
1287 | +- You may also want to install a separate diff tool such as `TkDiff <http://sourceforge.net/projects/tkdiff/>`_ if you havn't already got it. |
1288 | + |
1289 | +Windows |
1290 | +------- |
1291 | + |
1292 | +- Download the zip file containing all the TextTest source code and tests from http://sf.net/projects/texttest. In there is a windows installer which you should run. Re-start windows when you've done that. Note: this installer will set the environment variable :code:`$TEXTTEST_HOME` to :code:`C:\\tests` |
1293 | + |
1294 | +If the all-in-one installer doesn't work for you, you can install the component pieces by themselves. |
1295 | + |
1296 | +- Install GTK using `this GTK 2.18 bundle <http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.18/gtk+-bundle_2.18.7-20100213_win32.zip>`_. Unzip it somewhere like `C:\GTK` (avoid a path containing spaces). Add the `bin` subdirectory to your $PATH. |
1297 | + |
1298 | +- Install PyGTK. Run the three installers at the top of the `PyGTK downloads <http://www.pygtk.org/downloads.html>`_ page. (avoid installation paths containing spaces) |
1299 | + |
1300 | +- Download the zip file containing all the TextTest source code and tests from Sourceforge (http://sf.net/projects/texttest). Unpack it into an installation directory, such as `~/tools/texttest`. |
1301 | + |
1302 | +Troubleshooting |
1303 | +--------------- |
1304 | + |
1305 | +- Make sure you have at least Python 2.6, GTK 2.18 and PyGTK 2.16 installed on your system. |
1306 | +- Make sure that pygtk is installed in the site-packages of the Python installation you're using. |
1307 | +- There are some mac-specific hints in the section below. |
1308 | +- If you still can't get it to work, contact us via the `TextTest mailing list <http://sourceforge.net/mailarchive/forum.php?forum_name=texttest-users>`_. |
1309 | + |
1310 | + |
1311 | +Mac-specific Troubleshooting |
1312 | +----------------------------- |
1313 | +- If you get errors like this:: |
1314 | + |
1315 | + texttest.py: Fatal IO error 35 (Resource temporarily unavailable) on X server :0.0 |
1316 | + |
1317 | +or:: |
1318 | + |
1319 | + RuntimeError: could not create GdkCursor object |
1320 | + |
1321 | +You could try starting XQuartz first before starting the TextTest GUI. (It's under :code:`/Applications/Utilities/XQuartz`) Once it's started, try running :code:`texttest` again. If that doesn't work, when you've started XQuartz, on the "Appliations" menu, start "Terminal". Try starting texttest from this terminal window instead. |
1322 | + |
1323 | +- If you get errors like this:: |
1324 | + |
1325 | + GtkWarning: Could not find the icon 'inode-directory'. The 'hicolor' theme was not found either, perhaps you need to install it. |
1326 | + |
1327 | +You could try:: |
1328 | + |
1329 | + brew install hicolor-icon-theme |
1330 | + |
1331 | + |
1332 | + |
1333 | + |
1334 | |
1335 | === added file 'docs/source/welcome-page.rst' |
1336 | --- docs/source/welcome-page.rst 1970-01-01 00:00:00 +0000 |
1337 | +++ docs/source/welcome-page.rst 2016-05-11 12:45:19 +0000 |
1338 | @@ -0,0 +1,43 @@ |
1339 | +What is TextTest? |
1340 | +================= |
1341 | + |
1342 | +TextTest is a tool for automated testing of programs written in almost any programming language. It can be used for unit testing, but is more often used for functional testing of larger pieces of code. |
1343 | + |
1344 | +When to use TextTest |
1345 | +-------------------- |
1346 | + |
1347 | +TextTest is often used to test: |
1348 | + |
1349 | + - **Batch systems** (long running programs with a command line interface) |
1350 | + - **Legacy systems** (Approval testing works especially well when the system is already built) |
1351 | + - **Rich Client applications** (in combination with a GUI-recording tool, StoryText) |
1352 | + - **Components in a Service-Based architecture** |
1353 | + - **Command line programs and scripts** (in combination with CaptureMock) |
1354 | + |
1355 | +At present TextTest is rarely used to test web applications, there is limited support for this. |
1356 | + |
1357 | +How it works |
1358 | +------------- |
1359 | + |
1360 | +TextTest can test a program written in any programming language, so long as it can be executed from the command line. |
1361 | + |
1362 | +Tests are defined in a directory structure:: |
1363 | + |
1364 | + +- Test Suite Name |
1365 | + +- config.<app> |
1366 | + +- testsuite.<app> |
1367 | + | +- A Test Case Name |
1368 | + | +- options.<app> |
1369 | + | +- stdout.<app> |
1370 | + | +- stderr.<app> |
1371 | + | +- A Second Test Case Name |
1372 | + | +- options.<app> |
1373 | + | +- stdout.<app> |
1374 | + | +- stderr.<app> |
1375 | + |
1376 | +In this root test suite folder, there is a config file, a test suite file, and some test case folders. The name of the test case folder is used as the name of the test case. Test case folders contain files which are given as input to the system under test, and "golden master" files containing the approved (expected) output. |
1377 | + |
1378 | +TextTest uses an "Approval Testing" approach, which means that when you run a test, it will compare the actual output of your program agains the saved "Golden Master" files in the test case folder. If there is a difference in the output, the test fails. TextTest gives you the opportunity to update the "Golden Master" when this happens. |
1379 | + |
1380 | +All files that relate to a particular tested application share the same file suffix. You configure the value of :code:`<app>` when you first create a test suite. |
1381 | + |
1382 | |
1383 | === modified file 'texttestlib/default/gtkgui/guiplugins.py' |
1384 | --- texttestlib/default/gtkgui/guiplugins.py 2015-02-17 15:48:42 +0000 |
1385 | +++ texttestlib/default/gtkgui/guiplugins.py 2016-05-11 12:45:19 +0000 |
1386 | @@ -793,7 +793,7 @@ |
1387 | entrycompletion.manager.register(entry) |
1388 | # Options in drop-down lists don't change, so we just add them once and for all. |
1389 | for text in option.listPossibleValues(): |
1390 | - entrycompletion.manager.addTextCompletion(text) |
1391 | + entrycompletion.manager.addTextCompletion(str(text)) |
1392 | |
1393 | return box, entry |
1394 |
New icons are somewhat white-dominated and a bit too pale I think.
Logo needs to be transparent, as it looks strange otherwise in the help dialogs.
Website suggestion looks good though!