def test_in_context_use_default(): from kemmering import bind, in_context, tag doc = tag('doc')( tag('p')('Hello ', in_context(['user', 'name'], 'World'), '!'), 'foo') assert REPR(doc) == ("tag('doc')(tag('p')" "('Hello ', in_context(['user', 'name']), '!')," " 'foo')") with pytest.raises(ValueError): STR(doc) bound = bind(doc, {}) assert STR(bound) == '<doc><p>Hello World!</p>foo</doc>'
def test_in_context_key_error(): from kemmering import bind, in_context, tag doc = tag('doc')( tag('p')('Hello ', in_context(['user', 'name']), '!'), 'foo') assert REPR(doc) == ("tag('doc')(tag('p')" "('Hello ', in_context(['user', 'name']), '!')," " 'foo')") with pytest.raises(ValueError): STR(doc) with pytest.raises(KeyError): bind(doc, {'user': {}})