def test_multi_select(document, comm): select = MultiSelect(options={ 'A': 'A', '1': 1, 'C': object }, value=[object, 1], name='Select') box = select._get_model(document, comm=comm) assert isinstance(box, WidgetBox) widget = box.children[0] assert isinstance(widget, select._widget_type) assert widget.title == 'Select' assert widget.value == ['C', '1'] assert widget.options == ['A', '1', 'C'] widget.value = ['1'] select._comm_change({'value': ['1']}) assert select.value == [1] widget.value = ['A', 'C'] select._comm_change({'value': ['A', 'C']}) assert select.value == ['A', object] select.value = [object, 'A'] assert widget.value == ['C', 'A']
def test_multi_select(document, comm): select = MultiSelect(options=OrderedDict([('A', 'A'), ('1', 1), ('C', object)]), value=[object, 1], name='Select') widget = select.get_root(document, comm=comm) assert isinstance(widget, select._widget_type) assert widget.title == 'Select' assert widget.value == ['C', '1'] assert widget.options == ['A', '1', 'C'] widget.value = ['1'] select._comm_change({'value': ['1']}) assert select.value == [1] widget.value = ['A', 'C'] select._comm_change({'value': ['A', 'C']}) assert select.value == ['A', object] select.value = [object, 'A'] assert widget.value == ['C', 'A']