コード例 #1
0
    def testEscapeAtEnd(self):
        for sep in self._seps:
            self.assertEqual(utils.UnescapeAndSplit("\\", sep=sep), ["\\"])

            a = ["a", "b\\", "c"]
            b = ["a", "b" + sep + "c\\"]
            self.assertEqual(
                utils.UnescapeAndSplit("%s\\" % sep.join(a), sep=sep), b)

            a = ["\\" + sep, "\\" + sep, "c", "d\\.moo"]
            b = [sep, sep, "c", "d.moo\\"]
            self.assertEqual(
                utils.UnescapeAndSplit("%s\\" % sep.join(a), sep=sep), b)
コード例 #2
0
def _HandleReservedIPs(ips):
    if ips is None:
        return None
    elif not ips:
        return []
    else:
        return utils.UnescapeAndSplit(ips, sep=",")
コード例 #3
0
 def _checkSplitRejoinEquivalence(self,
                                  a,
                                  b,
                                  sep,
                                  quote_chars=None,
                                  suffix=""):
     self.assertEqual(
         utils.UnescapeAndSplit(sep.join(a) + suffix,
                                sep=sep,
                                quote_chars=quote_chars), b)
コード例 #4
0
    def testEscapeAtEnd(self):
        for sep in self._seps:
            # Left as-is to maintain readability
            self.assertEqual(utils.UnescapeAndSplit("\\", sep=sep), ["\\"])

            a = ["a", "b\\", "c"]
            b = ["a", "b" + sep + "c\\"]
            self._checkSplitRejoinEquivalence(a, b, sep, suffix='\\')

            a = ["\\" + sep, "\\" + sep, "c", "d\\.moo"]
            b = [sep, sep, "c", "d.moo\\"]
            self._checkSplitRejoinEquivalence(a, b, sep, suffix='\\')
コード例 #5
0
 def verifyParsesCorrect(self, args):
     for sep in [",", "+", ".", ":"]:
         self.assertEqual(
             utils.UnescapeAndSplit(utils.EscapeAndJoin(args, sep=sep),
                                    sep=sep), args)
コード例 #6
0
 def testMultipleEscapes(self):
     for sep in self._seps:
         a = ["a", "b\\" + sep + "c", "d\\" + sep + "e\\" + sep + "f", "g"]
         b = ["a", "b" + sep + "c", "d" + sep + "e" + sep + "f", "g"]
         self.assertEqual(utils.UnescapeAndSplit(sep.join(a), sep=sep), b)
コード例 #7
0
 def testThreeEscape(self):
     for sep in self._seps:
         a = ["a", "b\\\\\\" + sep + "c", "d"]
         b = ["a", "b\\" + sep + "c", "d"]
         self.assertEqual(utils.UnescapeAndSplit(sep.join(a), sep=sep), b)
コード例 #8
0
 def testSimple(self):
     a = ["a", "b", "c", "d"]
     for sep in self._seps:
         self.assertEqual(utils.UnescapeAndSplit(sep.join(a), sep=sep), a)
コード例 #9
0
 def testDoubleEscape(self):
     for sep in self._seps:
         a = ["a", "b\\\\", "c", "d"]
         b = ["a", "b\\", "c", "d"]
         self.failUnlessEqual(utils.UnescapeAndSplit(sep.join(a), sep=sep),
                              b)