def test_json_pane(document, comm): pane = JSON({'a': 2}) model = pane.get_root(document, comm=comm) assert model.text == '{"a": 2}' assert pane._models[model.ref['id']][0] is model pane.object = '{"b": 3}' assert model.text == '{"b": 3}' assert pane._models[model.ref['id']][0] is model pane.object = {"test": "can't show this"} assert model.text == '{"test": "can\'t show this"}' assert pane._models[model.ref['id']][0] is model pane.object = ["can't show this"] assert model.text == '["can\'t show this"]' assert pane._models[model.ref['id']][0] is model pane.object = "can't show this" assert model.text == '"can\'t show this"' assert pane._models[model.ref['id']][0] is model pane.object = "can show this" assert model.text == '"can show this"' assert pane._models[model.ref['id']][0] is model # Cleanup pane._cleanup(model) assert pane._models == {}
def test_json_pane_rerenders_on_depth_change(document, comm): pane = JSON({'a': 2}, depth=2) model = pane.get_root(document, comm=comm) pane.depth = -1 assert model.depth is None
def test_json_pane(document, comm): pane = JSON({'a': 2}) model = pane.get_root(document, comm=comm) assert model.text == '{"a": 2}' assert pane._models[model.ref['id']][0] is model pane.object = '{"b": 3}' assert model.text == '{"b": 3}' assert pane._models[model.ref['id']][0] is model # Cleanup pane._cleanup(model) assert pane._models == {}
def test_json_applies(): assert JSON.applies({1: 2}) assert JSON.applies([1, 2, 3]) assert JSON.applies('{"a": 1}') == 0 assert not JSON.applies({'array': np.array([1, 2, 3])}) assert JSON.applies({'array': np.array([1, 2, 3])}, encoder=NumpyEncoder)