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)
def _HandleReservedIPs(ips): if ips is None: return None elif not ips: return [] else: return utils.UnescapeAndSplit(ips, sep=",")
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)
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='\\')
def verifyParsesCorrect(self, args): for sep in [",", "+", ".", ":"]: self.assertEqual( utils.UnescapeAndSplit(utils.EscapeAndJoin(args, sep=sep), sep=sep), args)
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)
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)
def testSimple(self): a = ["a", "b", "c", "d"] for sep in self._seps: self.assertEqual(utils.UnescapeAndSplit(sep.join(a), sep=sep), a)
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)