view tests/test-config.py @ 127:53387d1e620b

client: connect to repo if necessary when using "with" statement While the '__exit__' closes the connection to the server, the __enter__ method does not open it. Without this patch, a disconnected repo cannot be used with a context managed unless you explicitely call the "open" method.
author Paul Tonelli <paul.tonelli@logilab.fr>
date Mon, 16 Jun 2014 18:29:06 +0200
parents e738d6fe5f3f
children 9ecb271600fc
line wrap: on
line source

import os, common, hglib

class test_config(common.basetest):
    def setUp(self):
        common.basetest.setUp(self)
        f = open('.hg/hgrc', 'a')
        f.write('[section]\nkey=value\n')
        f.close()
        self.client = hglib.open()

    def test_basic(self):
        config = self.client.config()

        self.assertTrue(('section', 'key', 'value') in self.client.config())

        self.assertTrue([('section', 'key', 'value')],
                        self.client.config('section'))
        self.assertTrue([('section', 'key', 'value')],
                        self.client.config(['section', 'foo']))
        self.assertRaises(hglib.error.CommandError,
                          self.client.config, ['a.b', 'foo'])

    def test_show_source(self):
        config = self.client.config(showsource=True)

        self.assertTrue((os.path.abspath('.hg/hgrc') + ':2',
                         'section', 'key', 'value') in config)