Beispiel #1
0
    def test_server_title_updates(self, bokeh_server_page) -> None:
        def modify_doc(doc):
            plot = Plot(height=400,
                        width=400,
                        x_range=Range1d(0, 1),
                        y_range=Range1d(0, 1),
                        min_border=0)
            slider = DateSlider(start=start,
                                end=end,
                                value=value,
                                css_classes=["foo"],
                                width=300)

            def cb(attr, old, new):
                slider.title = "baz"

            slider.on_change('value', cb)
            doc.add_root(column(slider, plot))

        page = bokeh_server_page(modify_doc)

        drag_slider(page.driver, ".foo", 150)

        sleep(1)  # noUiSlider does a transition that takes some time

        assert get_slider_title_text(page.driver, ".foo") > "04 Aug 2017"
Beispiel #2
0
    def test_displays_title_scientific(self, bokeh_model_page) -> None:
        slider = RangeSlider(start=0,
                             end=10e-6,
                             step=1e-6,
                             value=(1e-6, 8e-6),
                             title="bar",
                             format=BasicTickFormatter(precision=2),
                             css_classes=["foo"],
                             width=300)

        page = bokeh_model_page(slider)

        el = page.driver.find_element_by_css_selector('.foo')
        assert len(
            el.find_elements_by_css_selector('div.bk-input-group > div')) == 2

        # XXX: WebElement.text returns undecoded UTF-8 byte strings as str (!) (not bytes)
        def decode(s: str) -> str:
            return bytes(map(ord, s)).decode("utf-8")

        t0 = decode(get_slider_title_text(page.driver, ".foo"))
        t1 = decode(get_slider_title_value(page.driver, ".foo"))

        assert t0 == "bar: 1.00e\u22126 .. 8.00e\u22126"
        assert t1 == "1.00e\u22126 .. 8.00e\u22126"

        assert page.has_no_console_errors()
Beispiel #3
0
    def test_displays_title(self, bokeh_model_page) -> None:
        slider = Slider(start=0, end=10, value=1, title="bar", css_classes=["foo"], width=300)

        page = bokeh_model_page(slider)

        el = page.driver.find_element_by_css_selector('.foo')
        assert len(el.find_elements_by_css_selector('div.bk-input-group > div')) == 2

        assert get_slider_title_text(page.driver, ".foo") == "bar: 1"
        assert float(get_slider_title_value(page.driver, ".foo")) == 1

        assert page.has_no_console_errors()
    def test_displays_title(self, bokeh_model_page) -> None:
        slider = DateSlider(start=start, end=end, value=value, css_classes=["foo"], width=300)

        page = bokeh_model_page(slider)

        el = page.driver.find_element_by_css_selector('.foo')
        assert len(el.find_elements_by_css_selector('div.bk-input-group > div')) == 2

        assert get_slider_title_text(page.driver, ".foo") == "04 Aug 2017"
        assert get_slider_title_value(page.driver, ".foo") == "04 Aug 2017"

        assert page.has_no_console_errors()
Beispiel #5
0
    def test_displays_title(self, bokeh_model_page: BokehModelPage) -> None:
        slider = DateSlider(start=start, end=end, value=value, width=300)

        page = bokeh_model_page(slider)

        children = find_elements_for(page.driver, slider,
                                     "div.bk-input-group > div")
        assert len(children) == 2

        assert get_slider_title_text(page.driver, slider) == "04 Aug 2017"
        assert get_slider_title_value(page.driver, slider) == "04 Aug 2017"

        assert page.has_no_console_errors()
Beispiel #6
0
    def test_displays_title(self, bokeh_model_page: BokehModelPage) -> None:
        slider = Slider(start=0, end=10, value=1, title="bar", width=300)

        page = bokeh_model_page(slider)

        children = find_elements_for(page.driver, slider,
                                     "div.bk-input-group > div")
        assert len(children) == 2

        assert get_slider_title_text(page.driver, slider) == "bar: 1"
        assert float(get_slider_title_value(page.driver, slider)) == 1

        assert page.has_no_console_errors()
Beispiel #7
0
    def test_displays_title_scientific(self, bokeh_model_page) -> None:
        slider = RangeSlider(start=0, end=10e-6, step=1e-6, value=(1e-6, 8e-6), title="bar",
            format=BasicTickFormatter(precision=2), css_classes=["foo"], width=300)

        page = bokeh_model_page(slider)

        el = page.driver.find_element_by_css_selector('.foo')
        assert len(el.find_elements_by_css_selector('div.bk-input-group > div')) == 2

        assert get_slider_title_text(page.driver, ".foo") == "bar: 1.00e-6 .. 8.00e-6"
        assert get_slider_title_value(page.driver, ".foo") == "1.00e-6 .. 8.00e-6"

        assert page.has_no_console_errors()
Beispiel #8
0
    def test_displays_title(self, bokeh_model_page: BokehModelPage) -> None:
        slider = DatetimeRangeSlider(start=start,
                                     end=end,
                                     value=value,
                                     width=300)

        page = bokeh_model_page(slider)

        children = find_elements_for(page.driver, slider,
                                     "div.bk-input-group > div")
        assert len(children) == 2

        assert get_slider_title_text(
            page.driver,
            slider) == '02 Feb 2022 05:04:03 .. 24 Mar 2022 12:34:56'
        assert get_slider_title_value(
            page.driver,
            slider) == '02 Feb 2022 05:04:03 .. 24 Mar 2022 12:34:56'

        assert page.has_no_console_errors()
Beispiel #9
0
    def test_displays_title_scientific(
            self, bokeh_model_page: BokehModelPage) -> None:
        slider = RangeSlider(start=0,
                             end=10e-6,
                             step=1e-6,
                             value=(1e-6, 8e-6),
                             title="bar",
                             format=BasicTickFormatter(precision=2),
                             width=300)
        page = bokeh_model_page(slider)

        children = find_elements_for(page.driver, slider,
                                     "div.bk-input-group > div")
        assert len(children) == 2

        t0 = get_slider_title_text(page.driver, slider)
        t1 = get_slider_title_value(page.driver, slider)

        assert t0 == "bar: 1.00e\u22126 .. 8.00e\u22126"
        assert t1 == "1.00e\u22126 .. 8.00e\u22126"

        assert page.has_no_console_errors()
Beispiel #10
0
    def test_server_title_updates(self,
                                  bokeh_server_page: BokehServerPage) -> None:
        slider = Slider(start=0, end=10, value=1, title="bar", width=300)

        def modify_doc(doc):
            plot = Plot(height=400,
                        width=400,
                        x_range=Range1d(0, 1),
                        y_range=Range1d(0, 1),
                        min_border=0)

            def cb(attr, old, new):
                slider.title = "baz"

            slider.on_change('value', cb)
            doc.add_root(column(slider, plot))

        page = bokeh_server_page(modify_doc)

        drag_slider(page.driver, slider, 150)

        sleep(1)  # noUiSlider does a transition that takes some time

        assert get_slider_title_text(page.driver, slider) == "baz: 6"