def adventure_api(session: hug.directives.session, input_data: str): """the /api endpoint for XMLHttpRequest handling""" adventure = Adventure(output_strategy=MarkdownPassthru()) if session and session.get("save_data"): adventure.admin_load(base64.b64decode(session["save_data"].encode())) _output = markdown.markdown(adventure.execute(input_data.split())) session["save_data"] = base64.b64encode(adventure.admin_save()).decode("ascii") return {"input": input_data, "output": _output}
def test_take_inaccessible_object(): adventure = Adventure() assert (adventure.execute(['take', 'leaflet']) == "I don't see any leaflet here.")
def test_take_unknown_object(): adventure = Adventure() assert (adventure.execute(['take', 'printer']) == "I don't see any printer here.")
def test_drop_known_but_not_held_object(): adventure = Adventure() assert (adventure.execute(['drop', 'mat']) == "The mat is already here.")
def test_unknown_verb(): adventure = Adventure() assert(adventure.execute(['watch', 'mat']) == "I don't understand how to watch something.")