test for parser module existance with missing parser class

This commit is contained in:
Alan Hamlett 2016-08-31 18:43:22 +02:00
parent e8884ffc8e
commit 6fec24502e

View file

@ -4,14 +4,16 @@
from wakatime.main import execute from wakatime.main import execute
from wakatime.packages import requests from wakatime.packages import requests
import logging
import os import os
import time import time
import shutil import shutil
import sys import sys
from testfixtures import log_capture
from wakatime.compat import u from wakatime.compat import u
from wakatime.exceptions import NotYetImplemented from wakatime.exceptions import NotYetImplemented
from wakatime.dependencies import TokenParser from wakatime.dependencies import DependencyParser, TokenParser
from wakatime.packages.pygments.lexers import ClassNotFound from wakatime.packages.pygments.lexers import ClassNotFound, PythonLexer
from wakatime.packages.requests.models import Response from wakatime.packages.requests.models import Response
from wakatime.stats import get_lexer_by_name from wakatime.stats import get_lexer_by_name
from . import utils from . import utils
@ -64,6 +66,25 @@ class DependenciesTestCase(utils.TestCase):
] ]
self.assertEquals(parser.dependencies, expected) self.assertEquals(parser.dependencies, expected)
@log_capture()
def test_dependency_parser(self, logs):
logging.disable(logging.NOTSET)
lexer = PythonLexer
lexer.__class__.__name__ = 'FooClass'
parser = DependencyParser(None, lexer)
dependencies = parser.parse()
log_output = u("\n").join([u(' ').join(x) for x in logs.actual()])
self.assertEquals(log_output, '')
self.assertEquals(sys.stdout.getvalue(), '')
self.assertEquals(sys.stderr.getvalue(), '')
expected = []
self.assertEquals(dependencies, expected)
def test_io_error_when_parsing_dependencies(self): def test_io_error_when_parsing_dependencies(self):
response = Response() response = Response()
response.status_code = 0 response.status_code = 0