view tests/test-status.py @ 195:7c37f08d303d

config: un-break showconfig wrapper when environment variables are used This was broken when hg was picking up $EDITOR etc and showing that in the showconfig --debug output. No test because I can't figure out how to thread the environment variable down into the executed hg binary, but this fixes the failure on my laptop.
author Augie Fackler <raf@durin42.com>
date Sun, 10 Dec 2017 12:37:36 -0500
parents c1b966866ed7
children
line wrap: on
line source

import os
from tests import common
from hglib.util import b

class test_status(common.basetest):
    def test_empty(self):
        self.assertEquals(self.client.status(), [])

    def test_one_of_each(self):
        self.append('.hgignore', 'ignored')
        self.append('ignored', 'a')
        self.append('clean', 'a')
        self.append('modified', 'a')
        self.append('removed', 'a')
        self.append('missing', 'a')
        self.client.commit(b('first'), addremove=True)
        self.append('modified', 'a')
        self.append('added', 'a')
        self.client.add([b('added')])
        os.remove('missing')
        self.client.remove([b('removed')])
        self.append('untracked')

        l = [(b('M'), b('modified')),
             (b('A'), b('added')),
             (b('R'), b('removed')),
             (b('C'), b('.hgignore')),
             (b('C'), b('clean')),
             (b('!'), b('missing')),
             (b('?'), b('untracked')),
             (b('I'), b('ignored'))]

        st = self.client.status(all=True)

        for i in l:
            self.assertTrue(i in st)

    def test_copy(self):
        self.append('source', 'a')
        self.client.commit(b('first'), addremove=True)
        self.client.copy(b('source'), b('dest'))
        l = [(b('A'), b('dest')), (b(' '), b('source'))]
        self.assertEquals(self.client.status(copies=True), l)

    def test_copy_origin_space(self):
        self.append('s ource', 'a')
        self.client.commit(b('first'), addremove=True)
        self.client.copy(b('s ource'), b('dest'))
        l = [(b('A'), b('dest')), (b(' '), b('s ource'))]
        self.assertEquals(self.client.status(copies=True), l)