Mercurial > cpython-lru_cache-weakref
annotate Lib/distutils/tests/test_text_file.py @ 54294:dba767bc3155 legacy-trunk
remove mention of old ctypes version
| author | Benjamin Peterson <benjamin@python.org> |
|---|---|
| date | Sat, 23 May 2009 20:59:09 +0000 |
| parents | cd2ee8190957 |
| children | a17b21c27a33 |
| rev | line source |
|---|---|
|
51792
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
1 """Tests for distutils.text_file.""" |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
2 import os |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
3 import unittest |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
4 from distutils.text_file import TextFile |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
5 from distutils.tests import support |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
6 |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
7 TEST_DATA = """# test file |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
8 |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
9 line 3 \\ |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
10 # intervening comment |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
11 continues on next line |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
12 """ |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
13 |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
14 class TextFileTestCase(support.TempdirManager, unittest.TestCase): |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
15 |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
16 def test_class(self): |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
17 # old tests moved from text_file.__main__ |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
18 # so they are really called by the buildbots |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
19 |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
20 # result 1: no fancy options |
|
51796
cd2ee8190957
removing map and lambda usage, so the test is similar to py3k's branch one
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51792
diff
changeset
|
21 result1 = ['# test file\n', '\n', 'line 3 \\\n', |
|
cd2ee8190957
removing map and lambda usage, so the test is similar to py3k's branch one
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51792
diff
changeset
|
22 '# intervening comment\n', |
|
cd2ee8190957
removing map and lambda usage, so the test is similar to py3k's branch one
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51792
diff
changeset
|
23 ' continues on next line\n'] |
|
51792
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
24 |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
25 # result 2: just strip comments |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
26 result2 = ["\n", |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
27 "line 3 \\\n", |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
28 " continues on next line\n"] |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
29 |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
30 # result 3: just strip blank lines |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
31 result3 = ["# test file\n", |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
32 "line 3 \\\n", |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
33 "# intervening comment\n", |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
34 " continues on next line\n"] |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
35 |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
36 # result 4: default, strip comments, blank lines, |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
37 # and trailing whitespace |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
38 result4 = ["line 3 \\", |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
39 " continues on next line"] |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
40 |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
41 # result 5: strip comments and blanks, plus join lines (but don't |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
42 # "collapse" joined lines |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
43 result5 = ["line 3 continues on next line"] |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
44 |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
45 # result 6: strip comments and blanks, plus join lines (and |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
46 # "collapse" joined lines |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
47 result6 = ["line 3 continues on next line"] |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
48 |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
49 def test_input(count, description, file, expected_result): |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
50 result = file.readlines() |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
51 self.assertEquals(result, expected_result) |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
52 |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
53 tmpdir = self.mkdtemp() |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
54 filename = os.path.join(tmpdir, "test.txt") |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
55 out_file = open(filename, "w") |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
56 try: |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
57 out_file.write(TEST_DATA) |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
58 finally: |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
59 out_file.close() |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
60 |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
61 in_file = TextFile (filename, strip_comments=0, skip_blanks=0, |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
62 lstrip_ws=0, rstrip_ws=0) |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
63 test_input (1, "no processing", in_file, result1) |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
64 |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
65 in_file = TextFile (filename, strip_comments=1, skip_blanks=0, |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
66 lstrip_ws=0, rstrip_ws=0) |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
67 test_input (2, "strip comments", in_file, result2) |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
68 |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
69 in_file = TextFile (filename, strip_comments=0, skip_blanks=1, |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
70 lstrip_ws=0, rstrip_ws=0) |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
71 test_input (3, "strip blanks", in_file, result3) |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
72 |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
73 in_file = TextFile (filename) |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
74 test_input (4, "default processing", in_file, result4) |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
75 |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
76 in_file = TextFile (filename, strip_comments=1, skip_blanks=1, |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
77 join_lines=1, rstrip_ws=1) |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
78 test_input (5, "join lines without collapsing", in_file, result5) |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
79 |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
80 in_file = TextFile (filename, strip_comments=1, skip_blanks=1, |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
81 join_lines=1, rstrip_ws=1, collapse_join=1) |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
82 test_input (6, "join lines with collapsing", in_file, result6) |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
83 |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
84 def test_suite(): |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
85 return unittest.makeSuite(TextFileTestCase) |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
86 |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
87 if __name__ == "__main__": |
|
b3515ed28135
moved distutils.text_file tests into a real unittest class
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
88 unittest.main(defaultTest="test_suite") |
