from nevow import tags
from stan2xml import stan2xml

def test_simple():
    xml = stan2xml(tags.span(), '')
    assert xml == '<span></span>'

def test_slot():
    slot = tags.slot(name='bob')
    xml = stan2xml(tags.slot(name='bob'), '')
    assert xml == '<nevow:slot name="bob" />'

def test_pattern():
    pattern = tags.span(pattern='patName',)
    xml = stan2xml(pattern, '')
    assert xml == '<span nevow:pattern="patName"></span>'

def test_render():
    pattern = tags.span(render=tags.directive('foo'))
    xml = stan2xml(pattern, '')
    assert xml == '<span nevow:render="foo"></span>'

def test_data():
    data = tags.span(data='flump')
    xml = stan2xml(data, '')
    assert xml == '<span nevow:data="flump"></span>'

def test_attr():
    s = tags.span(id=tags.directive('idRenderer'))
    xml = stan2xml(s, '')
    # brrr dictionary order dependence...
    assert xml == '<span><nevow:attr nevow:render="idRenderer" name="id" /></span>'

