1#!/usr/bin/env python 2# -*- coding: utf-8 -*- 3# pylint: disable=no-self-use, pointless-statement, missing-docstring, protected-access, invalid-name, len-as-condition 4 5from .default_rules_module import RuleRemove0 6from .. import debug 7from ..match import Match 8from ..pattern import StringPattern 9from ..rebulk import Rebulk 10 11 12class TestDebug(object): 13 # request.addfinalizer(disable_debug) 14 15 debug.DEBUG = True 16 pattern = StringPattern(1, 3, value="es") 17 18 match = Match(1, 3, value="es") 19 rule = RuleRemove0() 20 21 input_string = "This is a debug test" 22 rebulk = Rebulk().string("debug") \ 23 .string("is") 24 25 matches = rebulk.matches(input_string) 26 debug.DEBUG = False 27 28 @classmethod 29 def setup_class(cls): 30 debug.DEBUG = True 31 32 @classmethod 33 def teardown_class(cls): 34 debug.DEBUG = False 35 36 def test_pattern(self): 37 assert self.pattern.defined_at.lineno > 0 38 assert self.pattern.defined_at.name == 'rebulk.test.test_debug' 39 assert self.pattern.defined_at.filename.endswith('test_debug.py') 40 41 assert str(self.pattern.defined_at).startswith('test_debug.py#L') 42 assert repr(self.pattern).startswith('<StringPattern@test_debug.py#L') 43 44 def test_match(self): 45 assert self.match.defined_at.lineno > 0 46 assert self.match.defined_at.name == 'rebulk.test.test_debug' 47 assert self.match.defined_at.filename.endswith('test_debug.py') 48 49 assert str(self.match.defined_at).startswith('test_debug.py#L') 50 51 def test_rule(self): 52 assert self.rule.defined_at.lineno > 0 53 assert self.rule.defined_at.name == 'rebulk.test.test_debug' 54 assert self.rule.defined_at.filename.endswith('test_debug.py') 55 56 assert str(self.rule.defined_at).startswith('test_debug.py#L') 57 assert repr(self.rule).startswith('<RuleRemove0@test_debug.py#L') 58 59 def test_rebulk(self): 60 """ 61 This test fails on travis CI, can't find out why there's 1 line offset ... 62 """ 63 assert self.rebulk._patterns[0].defined_at.lineno > 0 64 assert self.rebulk._patterns[0].defined_at.name == 'rebulk.test.test_debug' 65 assert self.rebulk._patterns[0].defined_at.filename.endswith('test_debug.py') 66 67 assert str(self.rebulk._patterns[0].defined_at).startswith('test_debug.py#L') 68 69 assert self.rebulk._patterns[1].defined_at.lineno > 0 70 assert self.rebulk._patterns[1].defined_at.name == 'rebulk.test.test_debug' 71 assert self.rebulk._patterns[1].defined_at.filename.endswith('test_debug.py') 72 73 assert str(self.rebulk._patterns[1].defined_at).startswith('test_debug.py#L') 74 75 assert self.matches[0].defined_at == self.rebulk._patterns[0].defined_at 76 assert self.matches[1].defined_at == self.rebulk._patterns[1].defined_at 77 78 def test_repr(self): 79 str(self.matches) 80