annotate test/test_util.py @ 163:674d14305e97

Fix spelling of the DebianControlFile.handle_source_paragraph method.
author Bernhard Herzog <bh@intevation.de>
date Fri, 20 Jun 2008 10:19:26 +0000
parents 876db132431a
children 261b75d7b972
rev   line source
111
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
1 # Copyright (C) 2007, 2008 by Intevation GmbH
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
2 # Authors:
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
3 # Bernhard Herzog <bh@intevation.de>
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
4 #
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
5 # This program is free software under the GPL (>=v2)
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
6 # Read the file COPYING coming with the software for details.
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
7
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
8 """Tests for the treepkg.util module"""
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
9
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
10 import unittest
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
11
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
12 from filesupport import FileTestMixin
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
13
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
14 from treepkg.util import replace_in_file
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
15
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
16
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
17 class TestReplaceInFile(unittest.TestCase, FileTestMixin):
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
18
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
19 def runtest(self, orig_contents, expected_contents, pattern, replacement):
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
20 filename = self.create_temp_file(self.id(), orig_contents)
160
017179427c7f Make treepkg/utilreplace_in_file return whether any substitutions were made.
Bernhard Herzog <bh@intevation.de>
parents: 111
diff changeset
21 changed = replace_in_file(filename, pattern, replacement)
017179427c7f Make treepkg/utilreplace_in_file return whether any substitutions were made.
Bernhard Herzog <bh@intevation.de>
parents: 111
diff changeset
22 self.assertEquals(changed, orig_contents != expected_contents)
111
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
23 self.checkFileContents(filename, expected_contents)
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
24
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
25 def test_version_replacement(self):
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
26 template = ("project foo version 1.0-svn%(rev)d"
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
27 "Some filler"
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
28 "text that sometimes"
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
29 "looks similar to the pattern"
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
30 "1.0-"
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
31 "foo 1.2-svn2"
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
32 "echo foo version 1.0-svn%(rev)d"
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
33 ""
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
34 "and more filler")
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
35 self.runtest(template % dict(rev=0), template % dict(rev=321),
7f6fb8103db0 Move the sed-like replacement code from enterprise/kdepim.py to treepkg/util.py
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
36 r"1\.0-svn0", "1.0-svn321")
160
017179427c7f Make treepkg/utilreplace_in_file return whether any substitutions were made.
Bernhard Herzog <bh@intevation.de>
parents: 111
diff changeset
37
017179427c7f Make treepkg/utilreplace_in_file return whether any substitutions were made.
Bernhard Herzog <bh@intevation.de>
parents: 111
diff changeset
38 def test_no_matches(self):
017179427c7f Make treepkg/utilreplace_in_file return whether any substitutions were made.
Bernhard Herzog <bh@intevation.de>
parents: 111
diff changeset
39 """Tests replace_in_file when no matches are found"""
017179427c7f Make treepkg/utilreplace_in_file return whether any substitutions were made.
Bernhard Herzog <bh@intevation.de>
parents: 111
diff changeset
40 template = ("project foo version 1.0-svn%(rev)d"
017179427c7f Make treepkg/utilreplace_in_file return whether any substitutions were made.
Bernhard Herzog <bh@intevation.de>
parents: 111
diff changeset
41 "Some filler"
017179427c7f Make treepkg/utilreplace_in_file return whether any substitutions were made.
Bernhard Herzog <bh@intevation.de>
parents: 111
diff changeset
42 "text that sometimes"
017179427c7f Make treepkg/utilreplace_in_file return whether any substitutions were made.
Bernhard Herzog <bh@intevation.de>
parents: 111
diff changeset
43 "looks similar to the pattern"
017179427c7f Make treepkg/utilreplace_in_file return whether any substitutions were made.
Bernhard Herzog <bh@intevation.de>
parents: 111
diff changeset
44 "1.0-"
017179427c7f Make treepkg/utilreplace_in_file return whether any substitutions were made.
Bernhard Herzog <bh@intevation.de>
parents: 111
diff changeset
45 "foo 1.2-svn2"
017179427c7f Make treepkg/utilreplace_in_file return whether any substitutions were made.
Bernhard Herzog <bh@intevation.de>
parents: 111
diff changeset
46 "echo foo version 1.0-svn%(rev)d"
017179427c7f Make treepkg/utilreplace_in_file return whether any substitutions were made.
Bernhard Herzog <bh@intevation.de>
parents: 111
diff changeset
47 ""
017179427c7f Make treepkg/utilreplace_in_file return whether any substitutions were made.
Bernhard Herzog <bh@intevation.de>
parents: 111
diff changeset
48 "and more filler")
017179427c7f Make treepkg/utilreplace_in_file return whether any substitutions were made.
Bernhard Herzog <bh@intevation.de>
parents: 111
diff changeset
49 self.runtest(template % dict(rev=0), template % dict(rev=0),
017179427c7f Make treepkg/utilreplace_in_file return whether any substitutions were made.
Bernhard Herzog <bh@intevation.de>
parents: 111
diff changeset
50 r"0\.9-svn0", "1.0-svn321")
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)