diff --git a/panel/tests/test_param.py b/panel/tests/test_param.py index fe71c90635..20ded6e45e 100644 --- a/panel/tests/test_param.py +++ b/panel/tests/test_param.py @@ -5,13 +5,13 @@ import param from bokeh.models import ( - Div, Slider, Select, RangeSlider, MultiSelect, Row as BkRow, - CheckboxGroup, Toggle, Button, TextInput as BkTextInput, - Tabs as BkTabs, Column as BkColumn, TextInput) + Div, Slider, Select, RangeSlider as BkRangeSlider, MultiSelect, + Row as BkRow, CheckboxGroup, Toggle, Button, TextInput as + BkTextInput,Tabs as BkTabs, Column as BkColumn, TextInput) from panel.pane import Pane, PaneBase, Matplotlib, Bokeh, HTML from panel.layout import Tabs, Row from panel.param import Param, ParamMethod, ParamFunction, JSONInit -from panel.widgets import LiteralInput +from panel.widgets import LiteralInput, RangeSlider from panel.tests.util import mpl_available, mpl_figure @@ -221,7 +221,7 @@ class Test(param.Parameterized): model = test_pane.get_root(document, comm=comm) widget = model.children[1] - assert isinstance(widget, RangeSlider) + assert isinstance(widget, BkRangeSlider) assert widget.start == 0 assert widget.end == 1.1 assert widget.value == (0.1, 0.5) @@ -1182,3 +1182,25 @@ def _update_text_pane(self, *_): view.text = TextModel(text="New TextModel") # Then assert view.text_pane.parameters==["text"] + + +def test_rerender_bounded_widget_when_bounds_set_and_unset(): + class Test(param.Parameterized): + num = param.Range() + + test = Test() + p = Param(test) + + assert isinstance(p._widgets['num'], LiteralInput) + assert p._widgets['num'] in p._widget_box + + test.param.num.bounds = (0, 5) + + assert isinstance(p._widgets['num'], RangeSlider) + assert p._widgets['num'] in p._widget_box + + test.param.num.bounds = (None, 5) + + assert isinstance(p._widgets['num'], LiteralInput) + assert p._widgets['num'] in p._widget_box +