Example #1
0
def test_mult():
    s = "1024x768"
    rule = wg.context["mult"]
    out, i = rule.accept(s, 4, wg.context)
    assert out == compat.unichr(215)

    s = "Up to 3x faster"
    rule = wg.context["mult"]
    out, i = rule.accept(s, 7, wg.context)
    assert out == compat.unichr(215)

    s = "Up to 3x faster"
    rule = wg.context["para"]
    out, i = rule.accept(s, 0, wg.context)
    assert out == {"type": "para", "indent": 0, "text": [u"Up to 3", u"\u00d7", u" faster"]}

    from bookish.grammars.wiki import mult, para
    from bookish.parser import condition_string
    from bookish.parser.bootstrap import bootstrap_context

    s = condition_string(s)
    ctx = bootstrap_context()

    out, i = mult(s, 7, ctx)
    assert out is not p.Miss
    assert out == compat.unichr(215)

    out, i = para(s, 0, ctx)
    assert out == {"type": "para", "indent": 0, "text": [u"Up to 3", u"\u00d7", u" faster"]}
Example #2
0
def parse_string(src):
    from bookish.grammars.wiki import grammar

    src = condition_string(src)
    ctx = bootstrap_context()
    out, i = grammar(src, 0, ctx)
    assert out is not Miss
    jsondata = {"type": "root", "body": out, "attrs": {}}
    return jsondata