##// END OF EJS Templates
tests: port test-ui-config to Python 3...
Augie Fackler -
r37956:a2cfea19 default
parent child Browse files
Show More
@@ -1,482 +1,483
1 1 test-abort-checkin.t
2 2 test-add.t
3 3 test-addremove-similar.t
4 4 test-addremove.t
5 5 test-amend-subrepo.t
6 6 test-amend.t
7 7 test-ancestor.py
8 8 test-annotate.py
9 9 test-annotate.t
10 10 test-archive-symlinks.t
11 11 test-atomictempfile.py
12 12 test-audit-path.t
13 13 test-audit-subrepo.t
14 14 test-automv.t
15 15 test-backout.t
16 16 test-backwards-remove.t
17 17 test-basic.t
18 18 test-bheads.t
19 19 test-bisect.t
20 20 test-bisect2.t
21 21 test-bisect3.t
22 22 test-blackbox.t
23 23 test-bookmarks-current.t
24 24 test-bookmarks-merge.t
25 25 test-bookmarks-rebase.t
26 26 test-bookmarks-strip.t
27 27 test-bookmarks.t
28 28 test-branch-change.t
29 29 test-branch-option.t
30 30 test-branch-tag-confict.t
31 31 test-branches.t
32 32 test-bundle-phases.t
33 33 test-bundle-type.t
34 34 test-bundle-vs-outgoing.t
35 35 test-bundle2-multiple-changegroups.t
36 36 test-cappedreader.py
37 37 test-casecollision.t
38 38 test-cat.t
39 39 test-cbor.py
40 40 test-censor.t
41 41 test-changelog-exec.t
42 42 test-check-commit.t
43 43 test-check-execute.t
44 44 test-check-interfaces.py
45 45 test-check-module-imports.t
46 46 test-check-pyflakes.t
47 47 test-check-pylint.t
48 48 test-check-shbang.t
49 49 test-children.t
50 50 test-clone-cgi.t
51 51 test-clone-pull-corruption.t
52 52 test-clone-r.t
53 53 test-clone-update-order.t
54 54 test-command-template.t
55 55 test-commit-amend.t
56 56 test-commit-interactive.t
57 57 test-commit-multiple.t
58 58 test-commit-unresolved.t
59 59 test-commit.t
60 60 test-committer.t
61 61 test-completion.t
62 62 test-config-env.py
63 63 test-config.t
64 64 test-conflict.t
65 65 test-confused-revert.t
66 66 test-context.py
67 67 test-contrib-check-code.t
68 68 test-contrib-check-commit.t
69 69 test-convert-authormap.t
70 70 test-convert-clonebranches.t
71 71 test-convert-cvs-branch.t
72 72 test-convert-cvs-detectmerge.t
73 73 test-convert-cvs.t
74 74 test-convert-datesort.t
75 75 test-convert-filemap.t
76 76 test-convert-hg-sink.t
77 77 test-convert-hg-source.t
78 78 test-convert-hg-startrev.t
79 79 test-convert-splicemap.t
80 80 test-convert-tagsbranch-topology.t
81 81 test-copy-move-merge.t
82 82 test-copy.t
83 83 test-copytrace-heuristics.t
84 84 test-debugbuilddag.t
85 85 test-debugbundle.t
86 86 test-debugextensions.t
87 87 test-debugindexdot.t
88 88 test-debugrename.t
89 89 test-default-push.t
90 90 test-diff-binary-file.t
91 91 test-diff-change.t
92 92 test-diff-copy-depth.t
93 93 test-diff-hashes.t
94 94 test-diff-ignore-whitespace.t
95 95 test-diff-indent-heuristic.t
96 96 test-diff-issue2761.t
97 97 test-diff-newlines.t
98 98 test-diff-reverse.t
99 99 test-diff-subdir.t
100 100 test-diff-unified.t
101 101 test-diff-upgrade.t
102 102 test-diffdir.t
103 103 test-diffstat.t
104 104 test-directaccess.t
105 105 test-dirstate-backup.t
106 106 test-dirstate-nonnormalset.t
107 107 test-dirstate.t
108 108 test-dispatch.py
109 109 test-doctest.py
110 110 test-double-merge.t
111 111 test-drawdag.t
112 112 test-duplicateoptions.py
113 113 test-editor-filename.t
114 114 test-empty-dir.t
115 115 test-empty-file.t
116 116 test-empty-group.t
117 117 test-empty.t
118 118 test-encode.t
119 119 test-encoding-func.py
120 120 test-encoding.t
121 121 test-eol-add.t
122 122 test-eol-clone.t
123 123 test-eol-hook.t
124 124 test-eol-tag.t
125 125 test-eol-update.t
126 126 test-excessive-merge.t
127 127 test-exchange-obsmarkers-case-A1.t
128 128 test-exchange-obsmarkers-case-A2.t
129 129 test-exchange-obsmarkers-case-A3.t
130 130 test-exchange-obsmarkers-case-A4.t
131 131 test-exchange-obsmarkers-case-A5.t
132 132 test-exchange-obsmarkers-case-A6.t
133 133 test-exchange-obsmarkers-case-A7.t
134 134 test-exchange-obsmarkers-case-B1.t
135 135 test-exchange-obsmarkers-case-B2.t
136 136 test-exchange-obsmarkers-case-B3.t
137 137 test-exchange-obsmarkers-case-B4.t
138 138 test-exchange-obsmarkers-case-B5.t
139 139 test-exchange-obsmarkers-case-B6.t
140 140 test-exchange-obsmarkers-case-B7.t
141 141 test-exchange-obsmarkers-case-C1.t
142 142 test-exchange-obsmarkers-case-C2.t
143 143 test-exchange-obsmarkers-case-C3.t
144 144 test-exchange-obsmarkers-case-C4.t
145 145 test-exchange-obsmarkers-case-D1.t
146 146 test-exchange-obsmarkers-case-D2.t
147 147 test-exchange-obsmarkers-case-D3.t
148 148 test-exchange-obsmarkers-case-D4.t
149 149 test-execute-bit.t
150 150 test-export.t
151 151 test-extdata.t
152 152 test-extdiff.t
153 153 test-extra-filelog-entry.t
154 154 test-filebranch.t
155 155 test-filecache.py
156 156 test-filelog.py
157 157 test-fileset-generated.t
158 158 test-fix-topology.t
159 159 test-flags.t
160 160 test-generaldelta.t
161 161 test-getbundle.t
162 162 test-git-export.t
163 163 test-glog-topological.t
164 164 test-gpg.t
165 165 test-graft.t
166 166 test-hg-parseurl.py
167 167 test-hghave.t
168 168 test-hgignore.t
169 169 test-hgk.t
170 170 test-hgweb-bundle.t
171 171 test-hgweb-descend-empties.t
172 172 test-hgweb-empty.t
173 173 test-hgweb-removed.t
174 174 test-hgwebdir-paths.py
175 175 test-hgwebdirsym.t
176 176 test-histedit-arguments.t
177 177 test-histedit-base.t
178 178 test-histedit-bookmark-motion.t
179 179 test-histedit-commute.t
180 180 test-histedit-drop.t
181 181 test-histedit-edit.t
182 182 test-histedit-fold-non-commute.t
183 183 test-histedit-fold.t
184 184 test-histedit-no-change.t
185 185 test-histedit-non-commute-abort.t
186 186 test-histedit-non-commute.t
187 187 test-histedit-obsolete.t
188 188 test-histedit-outgoing.t
189 189 test-histedit-templates.t
190 190 test-http-branchmap.t
191 191 test-http-bundle1.t
192 192 test-http-clone-r.t
193 193 test-http.t
194 194 test-hybridencode.py
195 195 test-identify.t
196 196 test-import-unknown.t
197 197 test-import.t
198 198 test-imports-checker.t
199 199 test-incoming-outgoing.t
200 200 test-inherit-mode.t
201 201 test-issue1089.t
202 202 test-issue1102.t
203 203 test-issue1175.t
204 204 test-issue1306.t
205 205 test-issue1438.t
206 206 test-issue1502.t
207 207 test-issue1802.t
208 208 test-issue1877.t
209 209 test-issue1993.t
210 210 test-issue2137.t
211 211 test-issue3084.t
212 212 test-issue4074.t
213 213 test-issue522.t
214 214 test-issue586.t
215 215 test-issue612.t
216 216 test-issue619.t
217 217 test-issue660.t
218 218 test-issue672.t
219 219 test-issue842.t
220 220 test-journal-exists.t
221 221 test-journal-share.t
222 222 test-journal.t
223 223 test-largefiles-cache.t
224 224 test-largefiles-misc.t
225 225 test-largefiles-small-disk.t
226 226 test-largefiles-update.t
227 227 test-largefiles.t
228 228 test-lfs-largefiles.t
229 229 test-lfs-pointer.py
230 230 test-linerange.py
231 231 test-locate.t
232 232 test-lock-badness.t
233 233 test-log-linerange.t
234 234 test-log.t
235 235 test-logexchange.t
236 236 test-lrucachedict.py
237 237 test-mactext.t
238 238 test-mailmap.t
239 239 test-manifest-merging.t
240 240 test-manifest.py
241 241 test-manifest.t
242 242 test-match.py
243 243 test-mdiff.py
244 244 test-merge-changedelete.t
245 245 test-merge-closedheads.t
246 246 test-merge-commit.t
247 247 test-merge-criss-cross.t
248 248 test-merge-default.t
249 249 test-merge-force.t
250 250 test-merge-halt.t
251 251 test-merge-internal-tools-pattern.t
252 252 test-merge-local.t
253 253 test-merge-remove.t
254 254 test-merge-revert.t
255 255 test-merge-revert2.t
256 256 test-merge-subrepos.t
257 257 test-merge-symlinks.t
258 258 test-merge-tools.t
259 259 test-merge-types.t
260 260 test-merge1.t
261 261 test-merge10.t
262 262 test-merge2.t
263 263 test-merge4.t
264 264 test-merge5.t
265 265 test-merge6.t
266 266 test-merge7.t
267 267 test-merge8.t
268 268 test-merge9.t
269 269 test-minifileset.py
270 270 test-minirst.py
271 271 test-mq-git.t
272 272 test-mq-header-date.t
273 273 test-mq-header-from.t
274 274 test-mq-merge.t
275 275 test-mq-pull-from-bundle.t
276 276 test-mq-qclone-http.t
277 277 test-mq-qdelete.t
278 278 test-mq-qdiff.t
279 279 test-mq-qfold.t
280 280 test-mq-qgoto.t
281 281 test-mq-qimport-fail-cleanup.t
282 282 test-mq-qnew.t
283 283 test-mq-qpush-exact.t
284 284 test-mq-qqueue.t
285 285 test-mq-qrefresh-interactive.t
286 286 test-mq-qrefresh-replace-log-message.t
287 287 test-mq-qrefresh.t
288 288 test-mq-qrename.t
289 289 test-mq-qsave.t
290 290 test-mq-safety.t
291 291 test-mq-subrepo.t
292 292 test-mq-symlinks.t
293 293 test-mv-cp-st-diff.t
294 294 test-narrow-archive.t
295 295 test-narrow-clone-no-ellipsis.t
296 296 test-narrow-clone-non-narrow-server.t
297 297 test-narrow-clone-nonlinear.t
298 298 test-narrow-clone.t
299 299 test-narrow-commit.t
300 300 test-narrow-copies.t
301 301 test-narrow-debugcommands.t
302 302 test-narrow-debugrebuilddirstate.t
303 303 test-narrow-exchange-merges.t
304 304 test-narrow-exchange.t
305 305 test-narrow-expanddirstate.t
306 306 test-narrow-merge.t
307 307 test-narrow-patch.t
308 308 test-narrow-patterns.t
309 309 test-narrow-pull.t
310 310 test-narrow-rebase.t
311 311 test-narrow-shallow-merges.t
312 312 test-narrow-shallow.t
313 313 test-narrow-strip.t
314 314 test-narrow-update.t
315 315 test-nested-repo.t
316 316 test-newbranch.t
317 317 test-obshistory.t
318 318 test-obsmarker-template.t
319 319 test-obsmarkers-effectflag.t
320 320 test-obsolete-bundle-strip.t
321 321 test-obsolete-changeset-exchange.t
322 322 test-obsolete-checkheads.t
323 323 test-obsolete-distributed.t
324 324 test-obsolete-tag-cache.t
325 325 test-parents.t
326 326 test-parseindex2.py
327 327 test-pathconflicts-merge.t
328 328 test-pathconflicts-update.t
329 329 test-pathencode.py
330 330 test-pending.t
331 331 test-permissions.t
332 332 test-phases.t
333 333 test-pull-branch.t
334 334 test-pull-http.t
335 335 test-pull-permission.t
336 336 test-pull-pull-corruption.t
337 337 test-pull-r.t
338 338 test-pull-update.t
339 339 test-purge.t
340 340 test-push-checkheads-partial-C1.t
341 341 test-push-checkheads-partial-C2.t
342 342 test-push-checkheads-partial-C3.t
343 343 test-push-checkheads-partial-C4.t
344 344 test-push-checkheads-pruned-B1.t
345 345 test-push-checkheads-pruned-B2.t
346 346 test-push-checkheads-pruned-B3.t
347 347 test-push-checkheads-pruned-B4.t
348 348 test-push-checkheads-pruned-B5.t
349 349 test-push-checkheads-pruned-B6.t
350 350 test-push-checkheads-pruned-B7.t
351 351 test-push-checkheads-pruned-B8.t
352 352 test-push-checkheads-superceed-A1.t
353 353 test-push-checkheads-superceed-A2.t
354 354 test-push-checkheads-superceed-A3.t
355 355 test-push-checkheads-superceed-A4.t
356 356 test-push-checkheads-superceed-A5.t
357 357 test-push-checkheads-superceed-A6.t
358 358 test-push-checkheads-superceed-A7.t
359 359 test-push-checkheads-superceed-A8.t
360 360 test-push-checkheads-unpushed-D1.t
361 361 test-push-checkheads-unpushed-D2.t
362 362 test-push-checkheads-unpushed-D3.t
363 363 test-push-checkheads-unpushed-D4.t
364 364 test-push-checkheads-unpushed-D5.t
365 365 test-push-checkheads-unpushed-D6.t
366 366 test-push-checkheads-unpushed-D7.t
367 367 test-push-http.t
368 368 test-push-warn.t
369 369 test-pushvars.t
370 370 test-rebase-abort.t
371 371 test-rebase-base-flag.t
372 372 test-rebase-bookmarks.t
373 373 test-rebase-brute-force.t
374 374 test-rebase-cache.t
375 375 test-rebase-check-restore.t
376 376 test-rebase-collapse.t
377 377 test-rebase-conflicts.t
378 378 test-rebase-dest.t
379 379 test-rebase-detach.t
380 380 test-rebase-emptycommit.t
381 381 test-rebase-inmemory.t
382 382 test-rebase-interruptions.t
383 383 test-rebase-issue-noparam-single-rev.t
384 384 test-rebase-legacy.t
385 385 test-rebase-mq-skip.t
386 386 test-rebase-mq.t
387 387 test-rebase-named-branches.t
388 388 test-rebase-newancestor.t
389 389 test-rebase-obsolete.t
390 390 test-rebase-parameters.t
391 391 test-rebase-partial.t
392 392 test-rebase-pull.t
393 393 test-rebase-rename.t
394 394 test-rebase-scenario-global.t
395 395 test-rebase-templates.t
396 396 test-rebase-transaction.t
397 397 test-record.t
398 398 test-relink.t
399 399 test-remove.t
400 400 test-rename-after-merge.t
401 401 test-rename-dir-merge.t
402 402 test-rename-merge1.t
403 403 test-rename.t
404 404 test-repair-strip.t
405 405 test-repo-compengines.t
406 406 test-resolve.t
407 407 test-revert-flags.t
408 408 test-revert-unknown.t
409 409 test-revlog-ancestry.py
410 410 test-revlog-group-emptyiter.t
411 411 test-revlog-mmapindex.t
412 412 test-revlog-packentry.t
413 413 test-revset-dirstate-parents.t
414 414 test-revset-legacy-lookup.t
415 415 test-revset-outgoing.t
416 416 test-rollback.t
417 417 test-run-tests.py
418 418 test-run-tests.t
419 419 test-schemes.t
420 420 test-serve.t
421 421 test-setdiscovery.t
422 422 test-share.t
423 423 test-shelve.t
424 424 test-show-stack.t
425 425 test-show-work.t
426 426 test-show.t
427 427 test-simple-update.t
428 428 test-simplemerge.py
429 429 test-single-head.t
430 430 test-sparse-clear.t
431 431 test-sparse-import.t
432 432 test-sparse-merges.t
433 433 test-sparse-profiles.t
434 434 test-sparse-requirement.t
435 435 test-sparse-verbose-json.t
436 436 test-ssh-clone-r.t
437 437 test-ssh-proto.t
438 438 test-sshserver.py
439 439 test-stack.t
440 440 test-status-inprocess.py
441 441 test-status-rev.t
442 442 test-status-terse.t
443 443 test-strip-cross.t
444 444 test-strip.t
445 445 test-subrepo-deep-nested-change.t
446 446 test-subrepo-missing.t
447 447 test-subrepo-recursion.t
448 448 test-subrepo-relative-path.t
449 449 test-subrepo.t
450 450 test-symlink-os-yes-fs-no.py
451 451 test-symlinks.t
452 452 test-tag.t
453 453 test-tags.t
454 454 test-template-engine.t
455 455 test-treemanifest.t
456 456 test-ui-color.py
457 test-ui-config.py
457 458 test-ui-verbosity.py
458 459 test-unamend.t
459 460 test-uncommit.t
460 461 test-unified-test.t
461 462 test-unrelated-pull.t
462 463 test-up-local-change.t
463 464 test-update-branches.t
464 465 test-update-dest.t
465 466 test-update-issue1456.t
466 467 test-update-names.t
467 468 test-update-reverse.t
468 469 test-upgrade-repo.t
469 470 test-url-download.t
470 471 test-url-rev.t
471 472 test-url.py
472 473 test-username-newline.t
473 474 test-verify.t
474 475 test-walkrepo.py
475 476 test-websub.t
476 477 test-win32text.t
477 478 test-wireproto-clientreactor.py
478 479 test-wireproto-framing.py
479 480 test-wireproto-serverreactor.py
480 481 test-wireproto.py
481 482 test-wsgirequest.py
482 483 test-xdg.t
@@ -1,122 +1,129
1 1 from __future__ import absolute_import, print_function
2 2 from mercurial import (
3 3 dispatch,
4 4 error,
5 pycompat,
5 6 ui as uimod,
6 7 )
8 from mercurial.utils import (
9 stringutil,
10 )
7 11
8 12 testui = uimod.ui.load()
9 13
10 14 # disable the configuration registration warning
11 15 #
12 16 # the purpose of this test is to check the old behavior, not to validate the
13 17 # behavior from registered item. so we silent warning related to unregisted
14 18 # config.
15 19 testui.setconfig(b'devel', b'warn-config-unknown', False, b'test')
16 20 testui.setconfig(b'devel', b'all-warnings', False, b'test')
17 21
18 22 parsed = dispatch._parseconfig(testui, [
19 23 b'values.string=string value',
20 24 b'values.bool1=true',
21 25 b'values.bool2=false',
22 26 b'values.boolinvalid=foo',
23 27 b'values.int1=42',
24 28 b'values.int2=-42',
25 29 b'values.intinvalid=foo',
26 30 b'lists.list1=foo',
27 31 b'lists.list2=foo bar baz',
28 32 b'lists.list3=alice, bob',
29 33 b'lists.list4=foo bar baz alice, bob',
30 34 b'lists.list5=abc d"ef"g "hij def"',
31 35 b'lists.list6="hello world", "how are you?"',
32 36 b'lists.list7=Do"Not"Separate',
33 37 b'lists.list8="Do"Separate',
34 38 b'lists.list9="Do\\"NotSeparate"',
35 39 b'lists.list10=string "with extraneous" quotation mark"',
36 40 b'lists.list11=x, y',
37 41 b'lists.list12="x", "y"',
38 42 b'lists.list13=""" key = "x", "y" """',
39 43 b'lists.list14=,,,, ',
40 44 b'lists.list15=" just with starting quotation',
41 45 b'lists.list16="longer quotation" with "no ending quotation',
42 46 b'lists.list17=this is \\" "not a quotation mark"',
43 47 b'lists.list18=\n \n\nding\ndong',
44 48 b'date.epoch=0 0',
45 49 b'date.birth=2005-04-19T00:00:00',
46 50 b'date.invalid=0'
47 51 ])
48 52
49 print(repr(testui.configitems(b'values')))
50 print(repr(testui.configitems(b'lists')))
53 def pprint(obj):
54 return stringutil.pprint(obj, bprefix=False).decode('ascii')
55
56 print(pprint(testui.configitems(b'values')))
57 print(pprint(testui.configitems(b'lists')))
51 58 print("---")
52 print(repr(testui.config(b'values', b'string')))
53 print(repr(testui.config(b'values', b'bool1')))
54 print(repr(testui.config(b'values', b'bool2')))
55 print(repr(testui.config(b'values', b'unknown')))
59 print(pprint(testui.config(b'values', b'string')))
60 print(pprint(testui.config(b'values', b'bool1')))
61 print(pprint(testui.config(b'values', b'bool2')))
62 print(pprint(testui.config(b'values', b'unknown')))
56 63 print("---")
57 64 try:
58 print(repr(testui.configbool(b'values', b'string')))
65 print(pprint(testui.configbool(b'values', b'string')))
59 66 except error.ConfigError as inst:
60 print(inst)
61 print(repr(testui.configbool(b'values', b'bool1')))
62 print(repr(testui.configbool(b'values', b'bool2')))
63 print(repr(testui.configbool(b'values', b'bool2', True)))
64 print(repr(testui.configbool(b'values', b'unknown')))
65 print(repr(testui.configbool(b'values', b'unknown', True)))
67 print(pprint(pycompat.bytestr(inst)))
68 print(pprint(testui.configbool(b'values', b'bool1')))
69 print(pprint(testui.configbool(b'values', b'bool2')))
70 print(pprint(testui.configbool(b'values', b'bool2', True)))
71 print(pprint(testui.configbool(b'values', b'unknown')))
72 print(pprint(testui.configbool(b'values', b'unknown', True)))
66 73 print("---")
67 print(repr(testui.configint(b'values', b'int1')))
68 print(repr(testui.configint(b'values', b'int2')))
74 print(pprint(testui.configint(b'values', b'int1')))
75 print(pprint(testui.configint(b'values', b'int2')))
69 76 print("---")
70 print(repr(testui.configlist(b'lists', b'list1')))
71 print(repr(testui.configlist(b'lists', b'list2')))
72 print(repr(testui.configlist(b'lists', b'list3')))
73 print(repr(testui.configlist(b'lists', b'list4')))
74 print(repr(testui.configlist(b'lists', b'list4', [b'foo'])))
75 print(repr(testui.configlist(b'lists', b'list5')))
76 print(repr(testui.configlist(b'lists', b'list6')))
77 print(repr(testui.configlist(b'lists', b'list7')))
78 print(repr(testui.configlist(b'lists', b'list8')))
79 print(repr(testui.configlist(b'lists', b'list9')))
80 print(repr(testui.configlist(b'lists', b'list10')))
81 print(repr(testui.configlist(b'lists', b'list11')))
82 print(repr(testui.configlist(b'lists', b'list12')))
83 print(repr(testui.configlist(b'lists', b'list13')))
84 print(repr(testui.configlist(b'lists', b'list14')))
85 print(repr(testui.configlist(b'lists', b'list15')))
86 print(repr(testui.configlist(b'lists', b'list16')))
87 print(repr(testui.configlist(b'lists', b'list17')))
88 print(repr(testui.configlist(b'lists', b'list18')))
89 print(repr(testui.configlist(b'lists', b'unknown')))
90 print(repr(testui.configlist(b'lists', b'unknown', b'')))
91 print(repr(testui.configlist(b'lists', b'unknown', b'foo')))
92 print(repr(testui.configlist(b'lists', b'unknown', [b'foo'])))
93 print(repr(testui.configlist(b'lists', b'unknown', b'foo bar')))
94 print(repr(testui.configlist(b'lists', b'unknown', b'foo, bar')))
95 print(repr(testui.configlist(b'lists', b'unknown', [b'foo bar'])))
96 print(repr(testui.configlist(b'lists', b'unknown', [b'foo', b'bar'])))
77 print(pprint(testui.configlist(b'lists', b'list1')))
78 print(pprint(testui.configlist(b'lists', b'list2')))
79 print(pprint(testui.configlist(b'lists', b'list3')))
80 print(pprint(testui.configlist(b'lists', b'list4')))
81 print(pprint(testui.configlist(b'lists', b'list4', [b'foo'])))
82 print(pprint(testui.configlist(b'lists', b'list5')))
83 print(pprint(testui.configlist(b'lists', b'list6')))
84 print(pprint(testui.configlist(b'lists', b'list7')))
85 print(pprint(testui.configlist(b'lists', b'list8')))
86 print(pprint(testui.configlist(b'lists', b'list9')))
87 print(pprint(testui.configlist(b'lists', b'list10')))
88 print(pprint(testui.configlist(b'lists', b'list11')))
89 print(pprint(testui.configlist(b'lists', b'list12')))
90 print(pprint(testui.configlist(b'lists', b'list13')))
91 print(pprint(testui.configlist(b'lists', b'list14')))
92 print(pprint(testui.configlist(b'lists', b'list15')))
93 print(pprint(testui.configlist(b'lists', b'list16')))
94 print(pprint(testui.configlist(b'lists', b'list17')))
95 print(pprint(testui.configlist(b'lists', b'list18')))
96 print(pprint(testui.configlist(b'lists', b'unknown')))
97 print(pprint(testui.configlist(b'lists', b'unknown', b'')))
98 print(pprint(testui.configlist(b'lists', b'unknown', b'foo')))
99 print(pprint(testui.configlist(b'lists', b'unknown', [b'foo'])))
100 print(pprint(testui.configlist(b'lists', b'unknown', b'foo bar')))
101 print(pprint(testui.configlist(b'lists', b'unknown', b'foo, bar')))
102 print(pprint(testui.configlist(b'lists', b'unknown', [b'foo bar'])))
103 print(pprint(testui.configlist(b'lists', b'unknown', [b'foo', b'bar'])))
97 104 print("---")
98 print(repr(testui.configdate(b'date', b'epoch')))
99 print(repr(testui.configdate(b'date', b'birth')))
105 print(pprint(testui.configdate(b'date', b'epoch')))
106 print(pprint(testui.configdate(b'date', b'birth')))
100 107
101 print(repr(testui.config(b'values', b'String')))
108 print(pprint(testui.config(b'values', b'String')))
102 109
103 110 def function():
104 111 pass
105 112
106 113 # values that aren't strings should work
107 114 testui.setconfig(b'hook', b'commit', function)
108 115 print(function == testui.config(b'hook', b'commit'))
109 116
110 117 # invalid values
111 118 try:
112 119 testui.configbool(b'values', b'boolinvalid')
113 120 except error.ConfigError:
114 121 print('boolinvalid')
115 122 try:
116 123 testui.configint(b'values', b'intinvalid')
117 124 except error.ConfigError:
118 125 print('intinvalid')
119 126 try:
120 127 testui.configdate(b'date', b'invalid')
121 128 except error.ConfigError:
122 129 print('dateinvalid')
@@ -1,53 +1,53
1 1 [('string', 'string value'), ('bool1', 'true'), ('bool2', 'false'), ('boolinvalid', 'foo'), ('int1', '42'), ('int2', '-42'), ('intinvalid', 'foo')]
2 2 [('list1', 'foo'), ('list2', 'foo bar baz'), ('list3', 'alice, bob'), ('list4', 'foo bar baz alice, bob'), ('list5', 'abc d"ef"g "hij def"'), ('list6', '"hello world", "how are you?"'), ('list7', 'Do"Not"Separate'), ('list8', '"Do"Separate'), ('list9', '"Do\\"NotSeparate"'), ('list10', 'string "with extraneous" quotation mark"'), ('list11', 'x, y'), ('list12', '"x", "y"'), ('list13', '""" key = "x", "y" """'), ('list14', ',,,,'), ('list15', '" just with starting quotation'), ('list16', '"longer quotation" with "no ending quotation'), ('list17', 'this is \\" "not a quotation mark"'), ('list18', 'ding\ndong')]
3 3 ---
4 4 'string value'
5 5 'true'
6 6 'false'
7 7 None
8 8 ---
9 values.string is not a boolean ('string value')
9 'values.string is not a boolean (\'string value\')'
10 10 True
11 11 False
12 12 False
13 13 False
14 14 True
15 15 ---
16 16 42
17 17 -42
18 18 ---
19 19 ['foo']
20 20 ['foo', 'bar', 'baz']
21 21 ['alice', 'bob']
22 22 ['foo', 'bar', 'baz', 'alice', 'bob']
23 23 ['foo', 'bar', 'baz', 'alice', 'bob']
24 24 ['abc', 'd"ef"g', 'hij def']
25 25 ['hello world', 'how are you?']
26 26 ['Do"Not"Separate']
27 27 ['Do', 'Separate']
28 28 ['Do"NotSeparate']
29 29 ['string', 'with extraneous', 'quotation', 'mark"']
30 30 ['x', 'y']
31 31 ['x', 'y']
32 32 ['', ' key = ', 'x"', 'y', '', '"']
33 33 []
34 34 ['"', 'just', 'with', 'starting', 'quotation']
35 35 ['longer quotation', 'with', '"no', 'ending', 'quotation']
36 36 ['this', 'is', '"', 'not a quotation mark']
37 37 ['ding', 'dong']
38 38 []
39 39 []
40 40 ['foo']
41 41 ['foo']
42 42 ['foo', 'bar']
43 43 ['foo', 'bar']
44 44 ['foo bar']
45 45 ['foo', 'bar']
46 46 ---
47 47 (0, 0)
48 48 (1113868800, 0)
49 49 None
50 50 True
51 51 boolinvalid
52 52 intinvalid
53 53 dateinvalid
General Comments 0
You need to be logged in to leave comments. Login now