Exemplo n.º 1
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 == as_unicode(opts['A'])

    opts.pop('A')
    select.options = opts
    assert select.value is opts['1']
    assert widget.value == as_unicode(opts['1'])
Exemplo n.º 2
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 == as_unicode(list(select.options.values())[0])
    assert model.options == [(as_unicode(v),k) for k,v in select.options.items()]
 def _process_param_change(self, msg):
     msg = super(EventDivWidgetBase, self)._process_property_change(msg)
     if 'value' in msg:
         text = as_unicode(msg.pop('value'))
         partial = self._format.replace('{value}', '')
         if self.name:
             text = self._format.format(value=text.replace(partial, ''))
         msg['text'] = text
     return msg
Exemplo n.º 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 == as_unicode(opts['1'])
    assert widget.options == [(as_unicode(v), k) for k, v in opts.items()]

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

    widget.value = as_unicode(opts['1'])
    select.value = opts['1']
    assert select.value == opts['1']

    select.value = opts['A']
    assert widget.value == as_unicode(opts['A'])
Exemplo n.º 5
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 == as_unicode(opts['A'])

    select.options = {}
    assert select.value == None
    assert widget.value == ''
Exemplo n.º 6
0
    def _process_param_change(self, msg):
        msg = super(NumericInput, self)._process_param_change(msg)

        if "start" in msg:
            start = msg.pop("start")
            self.param.value.bounds[0] = start
        if "end" in msg:
            end = msg.pop("end")
            self.param.value.bounds[1] = end

        if "value" in msg:
            value = "" if msg["value"] is None else msg["value"]
            value = as_unicode(value)
            msg["value"] = value
        msg["title"] = self.name
        return msg
Exemplo n.º 7
0
    def _process_param_change(self, msg):
        msg = super(NumericInput, self)._process_param_change(msg)

        if 'start' in msg:
            start = msg.pop('start')
            self.param.value.bounds[0] = start
        if 'end' in msg:
            end = msg.pop('end')
            self.param.value.bounds[1] = end

        if 'value' in msg:
            value = '' if msg['value'] is None else msg['value']
            value = as_unicode(value)
            msg['value'] = value
        msg['title'] = self.name
        return msg
Exemplo n.º 8
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 == as_unicode(opts['B'])
    assert widget.options == [(as_unicode(v),k) for k,v in opts.items()]

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

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

    select.value = opts['A']
    assert widget.value == as_unicode(opts['A'])