Fix test_doctest: drop u prefixes; explicitly declare

encoding as latin-1 if we want it to fail.
This commit is contained in:
Martin v. Löwis 2007-07-20 07:13:39 +00:00
parent 36e0a92442
commit b1a9f2772b
2 changed files with 14 additions and 20 deletions

View file

@ -1898,7 +1898,7 @@ def test_DocFileSuite():
... 'test_doctest2.txt', ... 'test_doctest2.txt',
... 'test_doctest4.txt') ... 'test_doctest4.txt')
>>> suite.run(unittest.TestResult()) >>> suite.run(unittest.TestResult())
<unittest.TestResult run=3 errors=0 failures=3> <unittest.TestResult run=3 errors=0 failures=2>
The test files are looked for in the directory containing the The test files are looked for in the directory containing the
calling module. A package keyword argument can be provided to calling module. A package keyword argument can be provided to
@ -1910,7 +1910,7 @@ def test_DocFileSuite():
... 'test_doctest4.txt', ... 'test_doctest4.txt',
... package='test') ... package='test')
>>> suite.run(unittest.TestResult()) >>> suite.run(unittest.TestResult())
<unittest.TestResult run=3 errors=0 failures=3> <unittest.TestResult run=3 errors=0 failures=2>
'/' should be used as a path separator. It will be converted '/' should be used as a path separator. It will be converted
to a native separator at run time: to a native separator at run time:
@ -1958,7 +1958,7 @@ def test_DocFileSuite():
... 'test_doctest4.txt', ... 'test_doctest4.txt',
... globs={'favorite_color': 'blue'}) ... globs={'favorite_color': 'blue'})
>>> suite.run(unittest.TestResult()) >>> suite.run(unittest.TestResult())
<unittest.TestResult run=3 errors=0 failures=2> <unittest.TestResult run=3 errors=0 failures=1>
In this case, we supplied a missing favorite color. You can In this case, we supplied a missing favorite color. You can
provide doctest options: provide doctest options:
@ -1969,7 +1969,7 @@ def test_DocFileSuite():
... optionflags=doctest.DONT_ACCEPT_BLANKLINE, ... optionflags=doctest.DONT_ACCEPT_BLANKLINE,
... globs={'favorite_color': 'blue'}) ... globs={'favorite_color': 'blue'})
>>> suite.run(unittest.TestResult()) >>> suite.run(unittest.TestResult())
<unittest.TestResult run=3 errors=0 failures=3> <unittest.TestResult run=3 errors=0 failures=2>
And, you can provide setUp and tearDown functions: And, you can provide setUp and tearDown functions:
@ -1990,7 +1990,7 @@ def test_DocFileSuite():
... 'test_doctest4.txt', ... 'test_doctest4.txt',
... setUp=setUp, tearDown=tearDown) ... setUp=setUp, tearDown=tearDown)
>>> suite.run(unittest.TestResult()) >>> suite.run(unittest.TestResult())
<unittest.TestResult run=3 errors=0 failures=2> <unittest.TestResult run=3 errors=0 failures=1>
But the tearDown restores sanity: But the tearDown restores sanity:
@ -2245,26 +2245,26 @@ If the tests contain non-ASCII characters, the tests might fail, since
it's unknown which encoding is used. The encoding can be specified it's unknown which encoding is used. The encoding can be specified
using the optional keyword argument `encoding`: using the optional keyword argument `encoding`:
>>> doctest.testfile('test_doctest4.txt') # doctest: +ELLIPSIS >>> doctest.testfile('test_doctest4.txt', encoding='latin-1') # doctest: +ELLIPSIS
********************************************************************** **********************************************************************
File "...", line 7, in test_doctest4.txt File "...", line 7, in test_doctest4.txt
Failed example: Failed example:
u'...' '...'
Expected: Expected:
u'f\xf6\xf6' 'f\xf6\xf6'
Got: Got:
u'f\xc3\xb6\xc3\xb6' 'f\xc3\xb6\xc3\xb6'
********************************************************************** **********************************************************************
... ...
********************************************************************** **********************************************************************
1 items had failures: 1 items had failures:
2 of 4 in test_doctest4.txt 2 of 2 in test_doctest4.txt
***Test Failed*** 2 failures. ***Test Failed*** 2 failures.
(2, 4) (2, 2)
>>> doctest.master = None # Reset master. >>> doctest.master = None # Reset master.
>>> doctest.testfile('test_doctest4.txt', encoding='utf-8') >>> doctest.testfile('test_doctest4.txt', encoding='utf-8')
(0, 4) (0, 2)
>>> doctest.master = None # Reset master. >>> doctest.master = None # Reset master.
""" """

View file

@ -4,14 +4,8 @@ This file is encoded using UTF-8.
In order to get this test to pass, we have to manually specify the In order to get this test to pass, we have to manually specify the
encoding. encoding.
>>> u'föö'
u'f\xf6\xf6'
>>> u'bąr'
u'b\u0105r'
>>> 'föö' >>> 'föö'
'f\xc3\xb6\xc3\xb6' 'f\xf6\xf6'
>>> 'bąr' >>> 'bąr'
'b\xc4\x85r' 'b\u0105r'