_ellipsis_match(): Removed special-casing of "...\n". The semantics

are non-obvious either way because the newline character "is invisible",
but it's still there all the same, and it's easier to explain/predict
if that reality is left alone.
This commit is contained in:
Tim Peters 2004-08-22 01:47:51 +00:00
parent 5268c3955a
commit e594bee535
2 changed files with 5 additions and 32 deletions

View File

@ -398,10 +398,6 @@ def _ellipsis_match(want, got):
"""
if ELLIPSIS_MARKER not in want:
return want == got
# Remove \n from ...\n, else the newline will be required,
# and (for example) ... on a line by itself can't match
# nothing gracefully.
want = want.replace(ELLIPSIS_MARKER + '\n', ELLIPSIS_MARKER)
# Find "the real" strings.
ws = want.split(ELLIPSIS_MARKER)

View File

@ -785,40 +785,17 @@ output to match any substring in the actual output:
>>> doctest.DocTestRunner(verbose=False, optionflags=flags).run(test)
(0, 1)
... should also match nothing gracefully (note that a regular-expression
implementation of ELLIPSIS would take a loooong time to match this one!):
... also matches nothing:
>>> for i in range(100):
... print i**2 #doctest: +ELLIPSIS
0
...
1
...
......
...
36
...
...
...
49
64
.........
9801
...
... print i**2, #doctest: +ELLIPSIS
0 1...4...9 16 ... 36 49 64 ... 9801
... can be surprising; e.g., this test passes:
>>> for i in range(21): #doctest: +ELLIPSIS
... print i
0
1
2
...
1
...
2
...
0
... print i,
0 1 2 ...1...2...0
Examples from the docs: