[formatter] allow dots etc in '…' literals (#5539)
don't parse fields starting with ' this disables the ability to directly apply […] to '…' literals, but that's not really useful anyway and can still be done with _lit
This commit is contained in:
@@ -336,14 +336,14 @@ class TestFormatter(unittest.TestCase):
|
||||
def test_literals(self):
|
||||
value = "foo"
|
||||
|
||||
self._run_test("{'foo'}" , value)
|
||||
self._run_test("{'foo'!u}" , value.upper())
|
||||
self._run_test("{'f00':R0/o/}" , value)
|
||||
self._run_test("{'foobar'[:3]}", value)
|
||||
self._run_test("{z|'foo'}" , value)
|
||||
self._run_test("{z|''|'foo'}" , value)
|
||||
self._run_test("{z|''}" , "")
|
||||
self._run_test("{''|''}" , "")
|
||||
self._run_test("{'foo'}" , value)
|
||||
self._run_test("{'foo'!u}" , value.upper())
|
||||
self._run_test("{'f00':R0/o/}", value)
|
||||
|
||||
self._run_test("{z|'foo'}" , value)
|
||||
self._run_test("{z|''|'foo'}" , value)
|
||||
self._run_test("{z|'foo'!u}" , value.upper())
|
||||
self._run_test("{z|'f00':R0/o/}", value)
|
||||
|
||||
self._run_test("{_lit[foo]}" , value)
|
||||
self._run_test("{_lit[foo]!u}" , value.upper())
|
||||
@@ -351,6 +351,17 @@ class TestFormatter(unittest.TestCase):
|
||||
self._run_test("{_lit[foobar][:3]}", value)
|
||||
self._run_test("{z|_lit[foo]}" , value)
|
||||
|
||||
# empty (#4492)
|
||||
self._run_test("{z|''}" , "")
|
||||
self._run_test("{''|''}", "")
|
||||
|
||||
# special characters (dots, brackets, singlee quotes) (#5539)
|
||||
self._run_test("{'f.o.o'}" , "f.o.o")
|
||||
self._run_test("{_lit[f.o.o]}", "f.o.o")
|
||||
self._run_test("{_lit[f'o'o]}", "f'o'o")
|
||||
self._run_test("{'f.[].[]'}" , "f.[].[]")
|
||||
self._run_test("{z|'f.[].[]'}", "f.[].[]")
|
||||
|
||||
def test_template(self):
|
||||
with tempfile.TemporaryDirectory() as tmpdirname:
|
||||
path1 = os.path.join(tmpdirname, "tpl1")
|
||||
|
||||
Reference in New Issue
Block a user