def test_link_with_customcode(document, comm): range_widget = RangeSlider(start=0., end=1.) curve = hv.Curve([]) code = """ x_range.start = source.value[0] x_range.end = source.value[1] """ range_widget.jslink(curve, code={'value': code}) row = Row(curve, range_widget) range_widget.value = (0.5, 0.7) model = row.get_root(document, comm=comm) hv_views = row.select(HoloViews) widg_views = row.select(RangeSlider) assert len(hv_views) == 1 assert len(widg_views) == 1 range_slider = widg_views[0]._models[model.ref['id']][0] x_range = hv_views[0]._plots[model.ref['id']][0].handles['x_range'] link_customjs = range_slider.js_property_callbacks['change:value'][-1] assert link_customjs.args['source'] is range_slider assert link_customjs.args['x_range'] is x_range assert link_customjs.code == "try { %s } catch(err) { console.log(err) }" % code
def test_range_slider(document, comm): slider = RangeSlider(start=0., end=3, value=(0, 3), name='Slider') widget = slider.get_root(document, comm=comm) assert isinstance(widget, slider._widget_type) assert widget.title == 'Slider' assert widget.step == 0.1 assert widget.start == 0 assert widget.end == 3 assert widget.value == (0, 3) assert widget.value_throttled == (0, 3) slider._process_events({'value': (0, 2)}) assert slider.value == (0, 2) slider._process_events({'value_throttled': (0, 2)}) assert slider.value_throttled == (0, 2) slider.value = (0, 1) assert widget.value == (0, 1) slider.value_throttled = (0, 1) assert widget.value_throttled == (0, 1)
def test_range_slider(document, comm): slider = RangeSlider(start=0., end=3, value=(0, 3), name='Slider') widget = slider._get_root(document, comm=comm) assert isinstance(widget, slider._widget_type) assert widget.title == 'Slider' assert widget.step == 0.1 assert widget.start == 0 assert widget.end == 3 assert widget.value == (0, 3) slider._comm_change({'value': (0, 2)}) assert slider.value == (0, 2) slider.value = (0, 1) assert widget.value == (0, 1) assert repr( slider) == "RangeSlider(end=3, name='Slider', start=0.0, value=(0, 1))"
def test_range_slider(document, comm): slider = RangeSlider(start=0, end=3, value=(0, 3), name='Slider') box = slider._get_model(document, comm=comm) assert isinstance(box, WidgetBox) widget = box.children[0] assert isinstance(widget, slider._widget_type) assert widget.title == 'Slider' assert widget.step == 0.1 assert widget.start == 0 assert widget.end == 3 assert widget.value == (0, 3) slider._comm_change({'value': (0, 2)}) assert slider.value == (0, 2) slider.value = (0, 1) assert widget.value == (0, 1)