comparison tests/test.py @ 705:0485a033c95d

FIX: Parsing a filter chain for the new filter-only expansions: parse them backwards and use "," as filter-chain separator here. This allows using filter chains in filter-only expansions also.
author Franz Glasner <fzglas.hg@dom66.de>
date Tue, 15 Aug 2023 09:34:49 +0200
parents 193a616e0b3c
children e692216f8756
comparison
equal deleted inserted replaced
704:457ef358c1a0 705:0485a033c95d
2209 2209
2210 def test_split_ns_quoting(self): 2210 def test_split_ns_quoting(self):
2211 self.assertEqual((u":", u"%x3a"), self.split_ns(u"%x3a:%x3a")) 2211 self.assertEqual((u":", u"%x3a"), self.split_ns(u"%x3a:%x3a"))
2212 2212
2213 def test_split_filters_empty(self): 2213 def test_split_filters_empty(self):
2214 self.assertEqual((u"", []), self.split_filters(u"")) 2214 self.assertEqual((u"", []), self.split_filters(u"", 1))
2215 2215
2216 def test_split_filters_varname_only_no_stripping(self): 2216 def test_split_filters_varname_only_no_stripping(self):
2217 self.assertEqual((u" varname ", []), self.split_filters(u" varname ")) 2217 self.assertEqual((u" varname ", []),
2218 self.split_filters(u" varname ", 1))
2218 2219
2219 def test_split_filters_single_no_stripping(self): 2220 def test_split_filters_single_no_stripping(self):
2220 self.assertEqual((u" the-varname ", []), 2221 self.assertEqual((u" the-varname ", []),
2221 self.split_filters(u" the-varname | ")) 2222 self.split_filters(u" the-varname | ", 1))
2222 2223
2223 def test_split_filters_one(self): 2224 def test_split_filters_one(self):
2224 self.assertEqual((u"the-varname", [u"None"]), 2225 self.assertEqual((u"the-varname", [u"None"]),
2225 self.split_filters(u"the-varname|None")) 2226 self.split_filters(u"the-varname|None", 1))
2226 2227
2227 def test_split_filters_many(self): 2228 def test_split_filters_many(self):
2228 self.assertEqual((u"the-varname", [u"Empty", u"None"]), 2229 self.assertEqual((u"the-varname", [u"Empty", u"None"]),
2229 self.split_filters(u"the-varname|Empty|None")) 2230 self.split_filters(u"the-varname|Empty|None", 1))
2230 2231
2231 def test_None_filter_single(self): 2232 def test_None_filter_single(self):
2232 cfg = configmix.load() 2233 cfg = configmix.load()
2233 x = getattr(cfg, self.interpolate_meth)(u"{{non-existing|None}}") 2234 x = getattr(cfg, self.interpolate_meth)(u"{{non-existing|None}}")
2234 self.assertIsNone(x) 2235 self.assertIsNone(x)
2419 def test_global_filter_empty(self): 2420 def test_global_filter_empty(self):
2420 cfg = configmix.load() 2421 cfg = configmix.load()
2421 y = getattr(cfg, self.interpolate_meth)(u"{{|{{not-existing}}|Empty|}}") 2422 y = getattr(cfg, self.interpolate_meth)(u"{{|{{not-existing}}|Empty|}}")
2422 self.assertEqual(u(""), y) 2423 self.assertEqual(u(""), y)
2423 2424
2425 def test_global_nested_filter_empty(self):
2426 cfg = configmix.load()
2427 y = getattr(cfg, self.interpolate_meth)(u"{{|pre-{{not-existing|Empty}}-post|upper|}}")
2428 self.assertEqual(u("PRE--POST"), y)
2429
2424 def test_global_filter_upper(self): 2430 def test_global_filter_upper(self):
2425 cfg1 = { 2431 cfg1 = {
2426 u("key-1"): u("value for key-1") 2432 u("key-1"): u("Value for key-1")
2427 } 2433 }
2428 cfg = cfg = configmix.config.Configuration(cfg1) 2434 cfg = cfg = configmix.config.Configuration(cfg1)
2429 y = getattr(cfg, self.interpolate_meth)(u"{{|pre_{{key-1}}_post|upper|}}") 2435 y = getattr(cfg, self.interpolate_meth)(u"{{|pre_{{key-1}}_post|upper|}}")
2430 self.assertEqual(u("PRE_VALUE FOR KEY-1_POST"), y) 2436 self.assertEqual(u("PRE_VALUE FOR KEY-1_POST"), y)
2431 2437