third_party.pylibs.pylint.src/test/test_similar.py
root 4becf6f9e5 forget the past.
forget the past.
2006-04-26 10:48:09 +00:00

57 lines
1.4 KiB
Python

import sys
import unittest
from cStringIO import StringIO
from pylint.checkers import similar
class SimilarTC(unittest.TestCase):
"""test the similar command line utility"""
def test(self):
sys.stdout = StringIO()
try:
similar.run(['--ignore-comments', 'input/similar1', 'input/similar2'])
output = sys.stdout.getvalue()
finally:
sys.stdout = sys.__stdout__
self.assertEquals(output.strip(), """
7 similar lines in 2 files
==input/similar1:5
==input/similar2:5
same file as this one.
more than 4
identical lines should
be
detected
TOTAL lines=38 duplicates=7 percent=0.184210526316
""".strip())
def test_help(self):
sys.stdout = StringIO()
try:
try:
similar.run(['--help'])
except SystemExit, ex:
self.assertEquals(ex.code, 0)
else:
self.fail()
finally:
sys.stdout = sys.__stdout__
def test_no_args(self):
sys.stdout = StringIO()
try:
try:
similar.run([])
except SystemExit, ex:
self.assertEquals(ex.code, 1)
else:
self.fail()
finally:
sys.stdout = sys.__stdout__
if __name__ == '__main__':
unittest.main()