view test/test_util.py @ 162:876db132431a

Remove debug print
author Bernhard Herzog <bh@intevation.de>
date Thu, 19 Jun 2008 14:27:49 +0000
parents 017179427c7f
children 261b75d7b972
line wrap: on
line source
# Copyright (C) 2007, 2008 by Intevation GmbH
# Authors:
# Bernhard Herzog <bh@intevation.de>
#
# This program is free software under the GPL (>=v2)
# Read the file COPYING coming with the software for details.

"""Tests for the treepkg.util module"""

import unittest

from filesupport import FileTestMixin

from treepkg.util import replace_in_file


class TestReplaceInFile(unittest.TestCase, FileTestMixin):

    def runtest(self, orig_contents, expected_contents, pattern, replacement):
        filename = self.create_temp_file(self.id(), orig_contents)
        changed = replace_in_file(filename, pattern, replacement)
        self.assertEquals(changed, orig_contents != expected_contents)
        self.checkFileContents(filename, expected_contents)

    def test_version_replacement(self):
        template = ("project foo version 1.0-svn%(rev)d"
                    "Some filler"
                    "text that sometimes"
                    "looks similar to the pattern"
                    "1.0-"
                    "foo 1.2-svn2"
                    "echo foo version 1.0-svn%(rev)d"
                    ""
                    "and more filler")
        self.runtest(template % dict(rev=0), template % dict(rev=321),
                     r"1\.0-svn0", "1.0-svn321")

    def test_no_matches(self):
        """Tests replace_in_file when no matches are found"""
        template = ("project foo version 1.0-svn%(rev)d"
                    "Some filler"
                    "text that sometimes"
                    "looks similar to the pattern"
                    "1.0-"
                    "foo 1.2-svn2"
                    "echo foo version 1.0-svn%(rev)d"
                    ""
                    "and more filler")
        self.runtest(template % dict(rev=0), template % dict(rev=0),
                     r"0\.9-svn0", "1.0-svn321")
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)