diff --git a/test.py b/test.py
index fdb13352c9a115a207c0ba9c02a43e678c8f0d3d..ffed78556b7161535405418a453b36847fb2ea23 100644
--- a/test.py
+++ b/test.py
@@ -1712,12 +1712,48 @@ class UnicodeTestCase(MkexpSimpleTestCase):
 
 class ExpConfigTestCase(unittest.TestCase):
 
+    def setUp(self):
+        text = u"""
+            var1 = value1
+            var2 = $var1
+            [group]
+              var1 = value2
+              var3 = $var2
+        """
+        self.config = expconfig.ConfigObj(text.split('\n'))
+
     def test_default_interpolation_false(self):
-        config = expconfig.ConfigObj({
-            'var1': 'value1',
-            'var2': '$var1',
-        })
-        self.assertEqual(config['var2'], '$var1')
+        self.assertEqual(self.config['var2'], '$var1')
+
+    def test_template_interpolation(self):
+        default_interpolation = self.config.interpolation
+        self.config.interpolation = 'template'
+        self.assertEqual(self.config['var2'], 'value1')
+        self.assertEqual(self.config['group']['var3'], 'value2') # sic!
+        self.config.interpolation = default_interpolation
+
+    def test_odict(self):
+        odict = expconfig.odict(self.config)
+        self.assertEqual(self.config.dict(), odict)
+
+    def test_alias_by_self_merge(self):
+        config = expconfig.ConfigObj(self.config)
+        config['merged'] = {}
+        config['merged'].merge(config)
+        # Change in merged group also changes origin
+        config['merged']['group']['var1'] = 'changed'
+        self.assertEqual(config['group']['var1'], 'changed')
+        # Change in merged scalar does not affect origin
+        config['merged']['var1'] = 'changed'
+        self.assertEqual(config['var1'], 'value1')
+
+    def test_unalias_by_odict_merge(self):
+        config = expconfig.ConfigObj(self.config)
+        config['merged'] = {}
+        config['merged'].merge(expconfig.odict(config))
+        # Change in merged group does not affect origin
+        config['merged']['group']['var1'] = 'changed'
+        self.assertEqual(config['group']['var1'], 'value2')
 
 if __name__ == '__main__':
     unittest.main()