# HG changeset patch # User Martin von Zweigbergk # Date 2017-07-19 21:50:50 # Node ID 44bc181b983589ce4596c40af09e6be8ef604866 # Parent e12c3049af8ee85dfcf0575297fd568dde5cc8d2 match: override visitdir() in nevermatcher to return False When we changed basematcher.visitdir() in cf15c3cc304c (match: make base matcher return True for visitdir, 2017-07-14), we forgot to add an override in nevermatcher. This led to tests failing in narrowhg. As Durham pointed out, it's high time to add unit tests for the matcher, so this patch also adds a first unit test. Differential Revision: https://phab.mercurial-scm.org/D151 diff --git a/mercurial/match.py b/mercurial/match.py --- a/mercurial/match.py +++ b/mercurial/match.py @@ -363,6 +363,9 @@ class nevermatcher(basematcher): def prefix(self): return True + def visitdir(self, dir): + return False + def __repr__(self): return '' diff --git a/tests/test-match.py b/tests/test-match.py new file mode 100644 --- /dev/null +++ b/tests/test-match.py @@ -0,0 +1,19 @@ +from __future__ import absolute_import + +import unittest + +import silenttestrunner + +from mercurial import ( + match as matchmod, +) + +class NeverMatcherTests(unittest.TestCase): + + def testVisitdir(self): + m = matchmod.nevermatcher('', '') + self.assertFalse(m.visitdir('.')) + self.assertFalse(m.visitdir('dir')) + +if __name__ == '__main__': + silenttestrunner.main(__name__)