Ejemplo n.º 1
0
    def test_click_sortable(self, bokeh_model_page):
        data = {
            'x': [1, 2, 3, 4],
            'y': [4, 3, 2, 1],
            'd': ['foo', 'bar', 'baz', 'quux']
        }
        source = ColumnDataSource(data)
        table = DataTable(columns=[
            TableColumn(field="x", title="x"),
            TableColumn(field="y", title="y", sortable=False),
            TableColumn(field="d", title="d", sortable=True),
        ],
                          source=source)

        page = bokeh_model_page(table)

        for i, x in enumerate(['foo', 'bar', 'baz', 'quux'], 1):
            elt = get_table_cell(page.driver, i, 3)
            assert elt.text == x

        h4 = get_table_header(page.driver, 4)
        h4.click()

        for i, x in enumerate(['bar', 'baz', 'foo', 'quux'], 1):
            elt = get_table_cell(page.driver, i, 3)
            assert elt.text == x

        h4 = get_table_header(page.driver, 4)
        h4.click()

        for i, x in enumerate(['quux', 'foo', 'baz', 'bar'], 1):
            elt = get_table_cell(page.driver, i, 3)
            assert elt.text == x

        assert page.has_no_console_errors()
Ejemplo n.º 2
0
    def test_columns_sortable(self, bokeh_model_page):
        data = {
            'x': [1, 2, 3, 4],
            'y': [4, 3, 2, 1],
            'd': ['foo', 'bar', 'baz', 'quux']
        }
        source = ColumnDataSource(data)
        table = DataTable(columns=[
            TableColumn(field="x", title="x"),
            TableColumn(field="y", title="y", sortable=False),
            TableColumn(field="d", title="d", sortable=True),
        ],
                          source=source)

        page = bokeh_model_page(table)

        # index column
        h1 = get_table_header(page.driver, 1)
        assert "slick-header-sortable" in h1.get_attribute('class')

        h2 = get_table_header(page.driver, 2)
        assert "slick-header-sortable" in h2.get_attribute('class')

        h3 = get_table_header(page.driver, 3)
        assert "slick-header-sortable" not in h3.get_attribute('class')

        h4 = get_table_header(page.driver, 4)
        assert "slick-header-sortable" in h4.get_attribute('class')

        assert page.has_no_console_errors()