Esempio n. 1
0
 def test_can_add_qualifiers_if_context_has_QStack_class(self, tags):
     processors = ((t, None) for t in tags)
     c = ctx.Context()
     c = ctx.Context(qualifier_stack_cls=quals.ItemQualifierStack)
     rs = RunnerStack(c)
     rs.add(*processors)
     rs.add_qualifiers([0, 1])
     qstack = rs[-1]['qualifiers']
     qualifiers = qstack.qualifiers
     assert qualifiers['indices'] == {0, 1}
Esempio n. 2
0
 def test_cannot_add_qualifier_if_context_has_no_QStack_class(self, tags):
     processors = ((t, None) for t in tags)
     c = ctx.Context(qualifier_stack_cls=quals.ItemQualifierStack)
     rs = RunnerStack(c)
     rs.add(*processors)
     c.qualifier_stack_cls = None
     with pytest.raises(err.VinoError) as exc_info:
         rs.add_qualifiers([0, 1])
     error = exc_info.value
     assert ('qualifierstack constructor must be specified'
             in str(error).lower())
Esempio n. 3
0
 def test_cannot_add_qualifiers_if_runner_has_qualifiers_set_to_False(
         self, tags):
     processors = ((t, None) for t in tags)
     c = ctx.Context()
     c._qualifier_stack_constructor = quals.ItemQualifierStack
     rs = RunnerStack(c)
     rs.add(*processors)
     rs[-1]['qualifiers'] = False
     with pytest.raises(err.VinoError) as exc_info:
         rs.add_qualifiers([0, 1])
     error = exc_info.value
     assert 'does not accept qualifiers' in str(error).lower()
Esempio n. 4
0
 def test_successive_qualifier_applications_merges_qualifiers(self, tags):
     processors = ((t, None) for t in tags)
     c = ctx.Context(qualifier_stack_cls=quals.ItemQualifierStack)
     rs = RunnerStack(c)
     rs.add(*processors)
     rs.add_qualifiers([0, 1])
     qstack = rs[-1]['qualifiers']
     qualifiers = qstack.qualifiers
     assert qualifiers['indices'] == {0, 1}
     rs.add_qualifiers([1, 3, 8])
     assert qualifiers['indices'] == {0, 1, 3, 8}
     rs.add_qualifiers(9, 5, 0, 1)
     assert qualifiers['indices'] == {0, 1, 3, 8, 9, 5}
Esempio n. 5
0
    def test_validation_continues_if_interrupt_flag_not_raised(s, tags):
        # tags are : bold, italic, and underline in that order
        def failing_processor(value, state):
            e = err.ValidationError("I'll fail you, no matter what",
                                    interrupt_validation=False)
            raise e

        processors = (failing_processor, ) + tags
        try:
            c = ctx.Context(*processors)
            value = c.validate('some contents')
        except err.ValidationErrorStack as e:
            assert e.data == '<u><i><b>' + 'some contents' + '</b></i></u>'
Esempio n. 6
0
 def test_can_add_processors_without_qualifiers(self, tags):
     processors = ((t, None) for t in tags)
     c = ctx.Context()
     rs = RunnerStack(c)
     rs.add(*processors)
     assert len(rs) == 3