view tests/test-lrucachedict.py @ 22710:b07fd3ac8882

color: document the possibility to colourise tabs in diffs This is a no-op change that simply suggests that tabs can be colourised, but defaults to no colour effects for tabs. This complements cset c343557a8442. Like the similar effects for phases from f8e2aebbb24c, we set the default effects to '' instead of None, so that this is a true noop change. Otherwise, the diff.tab effect would override (i.e. neutralise) the effect of the surrounding label.
author Jordi Gutiérrez Hermoso <jordigh@octave.org>
date Wed, 20 Aug 2014 15:19:37 -0400
parents 887ffa22fd0d
children 45d996a566d7
line wrap: on
line source

from mercurial import util

def printifpresent(d, xs):
    for x in xs:
        present = x in d
        print "'%s' in d: %s" % (x, present)
        if present:
            print "d['%s']: %s" % (x, d[x])

def test_lrucachedict():
    d = util.lrucachedict(4)
    d['a'] = 'va'
    d['b'] = 'vb'
    d['c'] = 'vc'
    d['d'] = 'vd'

    # all of these should be present
    printifpresent(d, ['a', 'b', 'c', 'd'])

    # 'a' should be dropped because it was least recently used
    d['e'] = 've'
    printifpresent(d, ['a', 'b', 'c', 'd', 'e'])

    # touch entries in some order (get or set).
    d['e']
    d['c'] = 'vc2'
    d['d']
    d['b'] = 'vb2'

    # 'e' should be dropped now
    d['f'] = 'vf'
    printifpresent(d, ['b', 'c', 'd', 'e', 'f'])

    d.clear()
    printifpresent(d, ['b', 'c', 'd', 'e', 'f'])

if __name__ == '__main__':
    test_lrucachedict()