class TestParse(TestCase): def setUp(self): self.option_parser = OptionParser() def test_option_parser(self): parsed = self.option_parser(["x=y", "a a a=b b b"]) expected = [("x", "y"), ("a a a", "b b b")] self.failUnlessEqual(expected, parsed) def test_options_with_equalsign_in_patterns(self): parsed = self.option_parser([r"x\=x\==y\=y\=", r"a a a\==\=b b b"]) expected = [("x=x=", "y=y="), ("a a a=", "=b b b")] self.failUnlessEqual(expected, parsed) def test_escaping_of_escape_char(self): parsed = self.option_parser([r"x\\=\\y"]) expected = [("x\\", "\\y")] self.failUnlessEqual(expected, parsed) def test_split_string(self): split = self.option_parser.split_string("x=y") expected = ["x", "=", "y"] self.failUnlessEqual(expected, split) def test_replace_escaping_split_char(self): escaped = self.option_parser.escape_split(["\\", "=", "\\", "=", "="]) expected = [-2, -2, "="] self.failUnlessEqual(expected, escaped) def test_replace_escaping_of_escape_char(self): escaped = self.option_parser.escape_escape(["\\", "\\", "\\", "\\", "\\"]) expected = [-1, -1, "\\"] self.failUnlessEqual(expected, escaped) def test_replace_escaping_if_escape_char_is_on_odd_places(self): escaped = self.option_parser.escape_escape(["a", "\\", "\\", "b"]) expected = ["a", -1, "b"] self.failUnlessEqual(expected, escaped) def test_split_list_via_equal_sign(self): values = [1, 2, 3, "=", 4, 5, 6] split = self.option_parser.split_via_equalsign(values) expected = ([1, 2, 3], [4, 5, 6]) self.failUnlessEqual(expected, split) def test_list_replace_all(self): values = [1, 2, 3, 1, 2, 3] self.option_parser.list_replace_all(values, 1, "one") self.option_parser.list_replace_all(values, 2, "two") self.option_parser.list_replace_all(values, 3, "three") expected = ["one", "two", "three", "one", "two", "three"] self.failUnlessEqual(expected, values)
def setUp(self): self.option_parser = OptionParser()