view tests/test-outgoing-incoming.py @ 124:cc7569bffb26

context: add 'hidden' method to check if the changeset is hidden This method should not be a static property obtained at creation as the hidden status may change.
author Paul Tonelli <paul.tonelli@logilab.fr>
date Thu, 15 May 2014 15:12:13 +0200
parents 46908f4b87d5
children 4359cabcb0cc
line wrap: on
line source

import common
import hglib

class test_outgoing_incoming(common.basetest):
    def test_no_path(self):
        self.assertRaises(hglib.error.CommandError, self.client.incoming)

    def test_empty(self):
        self.client.clone(dest='other')
        self.other = hglib.open('other')

        self.assertEquals(self.other.incoming(), [])
        self.assertEquals(self.other.outgoing(), [])

    def test_basic(self):
        self.append('a', 'a')
        self.client.commit('first', addremove=True)
        self.append('a', 'a')
        self.client.commit('second')

        self.client.clone(dest='other')
        other = hglib.open('other')

        self.assertEquals(self.client.log(), other.log())
        self.assertEquals(self.client.outgoing(path='other'), other.incoming())

        self.append('a', 'a')
        rev, node = self.client.commit('third')
        out = self.client.outgoing(path='other')

        self.assertEquals(len(out), 1)
        self.assertEquals(out[0].node, node)

        self.assertEquals(out, other.incoming())

    def test_bookmarks(self):
        self.append('a', 'a')
        self.client.commit('first', addremove=True)
        self.append('a', 'a')
        self.client.commit('second')

        self.client.clone(dest='other')
        other = hglib.open('other')

        self.client.bookmark('bm1', 1)

        self.assertEquals(other.incoming(bookmarks=True),
                          [('bm1', self.client.tip().node[:12])])

        self.assertEquals(self.client.outgoing(path='other', bookmarks=True),
                          [('bm1', self.client.tip().node[:12])])