summary refs log tree commit diff stats
path: root/test/tc_newkeys.py
diff options
context:
space:
mode:
authorhut <hut@lavabit.com>2010-02-17 22:44:28 +0100
committerhut <hut@lavabit.com>2010-03-09 14:40:20 +0100
commit933463fd93425228e2c1e0439fde75b8167cdbc9 (patch)
tree9d1c2048879642dc096db15e7938d1dd5f27e3ec /test/tc_newkeys.py
parentc70c915b5ec5a03f0f5b8641322d5c60a1235df5 (diff)
downloadranger-933463fd93425228e2c1e0439fde75b8167cdbc9.tar.gz
keyparser: added test case for tree emrge
Diffstat (limited to 'test/tc_newkeys.py')
-rw-r--r--test/tc_newkeys.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/tc_newkeys.py b/test/tc_newkeys.py
index 7bdbccad..e8a8dbee 100644
--- a/test/tc_newkeys.py
+++ b/test/tc_newkeys.py
@@ -437,6 +437,42 @@ class Test(PressTestCase):
 		self.assertRaises(KeyError, t2.traverse, 'abcd')
 		self.assertEqual("Lol", t2.traverse('axy'))
 
+	def test_merge_trees(self):
+		t = Tree()
+		t.set('aaaX', 1)
+		t.set('aaaY', 2)
+		t.set('aaaZ', 3)
+		t.set('bbbA', 11)
+		t.set('bbbB', 12)
+		t.set('bbbC', 13)
+		t.set('bbbD', 14)
+		t.set('bP', 21)
+		t.set('bQ', 22)
+
+		u = Tree()
+		u.set('aaaX', 0)
+		u.set('bbbC', 'Yes')
+		u.set('bbbD', 14)
+		u.set('bbbE', 15)
+		u.set('bbbF', 16)
+		u.set('bQ', 22)
+		u.set('bR', 23)
+
+		v = t.merge(u)
+
+		self.assertEqual(0, t['aaaX'])
+		self.assertEqual(1, t['aaaY'])
+		self.assertEqual(2, t['aaaZ'])
+		self.assertEqual(11, t['bbbA'])
+		self.assertEqual('Yes', t['bbbC'])
+		self.assertEqual(14, t['bbbD'])
+		self.assertEqual(15, t['bbbE'])
+		self.assertEqual(16, t['bbbF'])
+		self.assertRaises(KeyError, t.__getitem__, 'bbbG')
+		self.assertEqual(21, t['bP'])
+		self.assertEqual(22, t['bQ'])
+		self.assertEqual(21, t['bR'])
+
 	def test_add(self):
 		c = KeyMap()
 		c.add(lambda *_: 'lolz', 'aa', 'b')
ing.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
[colours]
bkgnd=default
titlebar=white
titlebar.text=black
titlebar.brackets=black
titlebar.unencrypted=black
titlebar.encrypted=black
titlebar.untrusted=black
titlebar.trusted=black
titlebar.online=black
titlebar.offline=black
titlebar.away=black
titlebar.chat=black
titlebar.dnd=black
titlebar.xa=black
statusbar=white
statusbar.text=black
statusbar.brackets=black
statusbar.active=black
statusbar.new=black
main.text=white
main.text.me=white
main.text.them=white
main.splash=white
main.time=white
input.text=white
subscribed=white
unsubscribed=white
otr.started.trusted=white
otr.started.untrusted=white
otr.ended=white
otr.trusted=white
otr.untrusted=white
online=white
away=white
chat=white
dnd=white
xa=white
offline=white
incoming=white
mention=white
trigger=white
typing=white
gone=white
error=white
roominfo=white
roommention=white
roommention.term=white
roomtrigger=white
roomtrigger.term=white
me=white
them=white
roster.header=white
roster.chat=white
roster.online=white
roster.away=white
roster.xa=white
roster.dnd=white
roster.offline=white
roster.chat.active=white
roster.online.active=white
roster.away.active=white
roster.xa.active=white
roster.dnd.active=white
roster.offline.active=white
roster.chat.unread=white
roster.online.unread=white
roster.away.unread=white
roster.xa.unread=white
roster.dnd.unread=white
roster.offline.unread=white
roster.room=white
roster.room.unread=white
roster.room.mention=white
roster.room.trigger=white
occupants.header=white
receipt.sent=white