Example #1
0
def test_select_change_options(document, comm):
    opts = {'A': 'a', '1': 1}
    select = Select(options=opts, value=opts['1'], name='Select')

    widget = select._get_root(document, comm=comm)

    select.options = {'A': 'a'}
    assert select.value == opts['A']
    assert widget.value == 'A'

    select.options = {}
    assert select.value == None
    assert widget.value == None
Example #2
0
def test_select_non_hashable_options(document, comm):
    opts = {'A': np.array([1, 2, 3]), '1': np.array([3, 4, 5])}
    select = Select(options=opts, value=opts['1'], name='Select')

    widget = select._get_root(document, comm=comm)

    select.value = opts['A']
    assert select.value is opts['A']
    assert widget.value == 'A'

    opts.pop('A')
    select.options = opts
    assert select.value is opts['1']
    assert widget.value == '1'
Example #3
0
def test_select_change_options_on_watch(document, comm):
    select = Select(options=OrderedDict([('A', 'A'), ('1', 1), ('C', object)]),
                    value='A',
                    name='Select')

    def set_options(event):
        if event.new == 1:
            select.options = OrderedDict([('D', 2), ('E', 'a')])

    select.param.watch(set_options, 'value')

    model = select._get_root(document, comm=comm)

    select.value = 1
    assert model.value == 'D'
    assert model.options == ['D', 'E']
Example #4
0
def test_select(document, comm):
    opts = {'A': 'a', '1': 1}
    select = Select(options=opts, value=opts['1'], name='Select')

    widget = select._get_root(document, comm=comm)

    assert isinstance(widget, select._widget_type)
    assert widget.title == 'Select'
    assert widget.value == '1'
    assert widget.options == ['A', '1']

    select._comm_change({'value': 'A'})
    assert select.value == opts['A']

    widget.value = '1'
    select._comm_change({'value': '1'})
    assert select.value == opts['1']

    select.value = opts['A']
    assert widget.value == 'A'
Example #5
0
def test_select_mutables(document, comm):
    opts = OrderedDict([('A', [1, 2, 3]), ('B', [2, 4, 6]),
                        ('C', dict(a=1, b=2))])
    select = Select(options=opts, value=opts['B'], name='Select')

    widget = select._get_root(document, comm=comm)

    assert isinstance(widget, select._widget_type)
    assert widget.title == 'Select'
    assert widget.value == 'B'
    assert widget.options == ['A', 'B', 'C']

    widget.value = 'B'
    select._comm_change({'value': 'A'})
    assert select.value == opts['A']

    widget.value = 'B'
    select._comm_change({'value': 'B'})
    assert select.value == opts['B']

    select.value = opts['A']
    assert widget.value == 'A'