[Zope-CVS] CVS: Packages/ZConfig/tests - testInterp.py:1.2
Fred L. Drake, Jr.
fdrake@acm.org
Wed, 9 Oct 2002 12:30:32 -0400
Update of /cvs-repository/Packages/ZConfig/tests
In directory cvs.zope.org:/tmp/cvs-serv4882/tests
Modified Files:
testInterp.py
Log Message:
Proposed interface for nested interpolation.
=== Packages/ZConfig/tests/testInterp.py 1.1 => 1.2 ===
--- Packages/ZConfig/tests/testInterp.py:1.1 Wed Oct 9 11:33:53 2002
+++ Packages/ZConfig/tests/testInterp.py Wed Oct 9 12:30:31 2002
@@ -2,7 +2,9 @@
import unittest
-from ZConfig.Interpolation import interpolate, InterpolationSyntaxError
+from ZConfig.Interpolation import get, interpolate
+from ZConfig.Interpolation import InterpolationRecursionError
+from ZConfig.Interpolation import InterpolationSyntaxError
class InterpolationTestCase(unittest.TestCase):
@@ -51,6 +53,30 @@
def test_non_nesting(self):
d = {"name": "$value"}
self.assertEqual(interpolate("$name", d), "$value")
+
+ def test_simple_nesting(self):
+ d = {"name": "value",
+ "nest": "$splat",
+ "splat": "nested"}
+ def check(name, value):
+ self.assertEqual(get(d, name), value)
+ check("name", "value")
+ check("nest", "nested")
+
+ def test_nesting_errors(self):
+ d = {"name": "$splat",
+ "splat": "$foo",
+ "foo": "$"}
+ self.assertRaises(InterpolationSyntaxError,
+ get, d, "name")
+ d = {"name": "$splat",
+ "splat": "$name"}
+ self.assertRaises(InterpolationRecursionError,
+ get, d, "name")
+ d = {"name": "$splat",
+ "splat": "$splat"}
+ self.assertRaises(InterpolationRecursionError,
+ get, d, "name")
def test_suite():