Mercurial > public > mercurial-scm > python-hglib
view tests/test-branches.py @ 176:3f854e3bcdd1 2.2
client: raise KeyError from __getitem__ (BC)
object.__getitem__ is supposed to raise either IndexError or KeyError
(depending on whether the thing is a sequence or a mapping). Before,
we would raise ValueError because that's what the context constructor
raises.
I choose to raise KeyError because IndexError felt a bit too limiting.
This does sacrifice some magic with for loops handling IndexError.
However, iteration of this object should be handled by a custom
__iter__, so I don't think this is a problem.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Wed, 06 Jul 2016 14:14:22 -0700 |
parents | c1b966866ed7 |
children |
line wrap: on
line source
from tests import common import hglib from hglib.util import b class test_branches(common.basetest): def test_empty(self): self.assertEquals(self.client.branches(), []) def test_basic(self): self.append('a', 'a') rev0 = self.client.commit(b('first'), addremove=True) self.client.branch(b('foo')) self.append('a', 'a') rev1 = self.client.commit(b('second')) branches = self.client.branches() expected = [] for r, n in (rev1, rev0): r = self.client.log(r)[0] expected.append((r.branch, int(r.rev), r.node[:12])) self.assertEquals(branches, expected) def test_active_closed(self): pass