Exemplo n.º 1
0
    def test_show_tile(self):

        tiles = [sw.Tile(f'id_{i}', f'title_{i}') for i in range(5)]
        drawer_items = [
            sw.DrawerItem(f'title {i}', card=f'id_{i}') for i in range(5)
        ]
        appBar = sw.AppBar()
        footer = sw.Footer()

        title = 'main_title'
        id_ = 'main_id'
        main_tile = sw.Tile(id_, title)
        main_drawer = sw.DrawerItem(title, card=id_)
        tiles.append(main_tile)
        drawer_items.append(main_drawer)

        app = sw.App(tiles, appBar, footer, sw.NavDrawer(drawer_items))
        res = app.show_tile(id_)

        self.assertEqual(res, app)

        for tile in tiles:
            if tile == main_tile:
                self.assertTrue(tile.viz)
            else:
                self.assertFalse(tile.viz)

        for di in drawer_items:
            if di._metadata['card_id'] == id_:
                self.assertTrue(di.input_value)
            else:
                self.assertFalse(di.input_value)
Exemplo n.º 2
0
    def test_init_cards(self):
        title = 'toto'
        id_ = 'toto_id'
        icon = 'mdi-folder'

        #default init
        drawerItem = sw.DrawerItem(title)
        self.assertIsInstance(drawerItem, v.ListItem)
        self.assertIsInstance(drawerItem.children[0].children[0], v.Icon)
        self.assertEqual(drawerItem.children[0].children[0].children[0],
                         'mdi-folder-outline')
        self.assertIsInstance(drawerItem.children[1].children[0],
                              v.ListItemTitle)
        self.assertEqual(drawerItem.children[1].children[0].children[0], title)

        #exhaustive
        drawerItem = sw.DrawerItem(title, icon, id_)
        self.assertEqual(drawerItem.children[0].children[0].children[0], icon)
        self.assertEqual(drawerItem.children[1].children[0].children[0], title)
        self.assertEqual(drawerItem._metadata['card_id'], id_)

        #too much args
        drawerItem = sw.DrawerItem(title, icon, id_, '#')
        self.assertEqual(drawerItem.href, '#')
        self.assertEqual(drawerItem.target, '_blank')
        self.assertEqual(drawerItem._metadata, None)

        return
Exemplo n.º 3
0
    def test_init(self):

        #default init
        app = sw.App()
        self.assertIsInstance(app, sw.App)
        self.assertEqual(len(app.children), 3)
        self.assertIsInstance(app.children[0], v.Overlay)
        self.assertIsInstance(app.children[1], sw.AppBar)
        self.assertIsInstance(app.children[2], v.Content)

        #exhaustive
        navDrawer = sw.NavDrawer(
            [sw.DrawerItem(f'title {i}') for i in range(5)])
        appBar = sw.AppBar()
        tiles = []
        for i in range(5):
            tiles.append(sw.Tile(f'id_{i}', f'title_{i}'))
        footer = sw.Footer()

        app = sw.App(tiles, appBar, footer, navDrawer)
        self.assertIsInstance(app, sw.App)
        self.assertEqual(len(app.children), 5)
        self.assertIsInstance(app.children[0], v.Overlay)
        self.assertIsInstance(app.children[1], sw.AppBar)
        self.assertIsInstance(app.children[2], sw.NavDrawer)
        self.assertIsInstance(app.children[3], v.Content)
        self.assertIsInstance(app.children[4], sw.Footer)

        return
Exemplo n.º 4
0
    def test_display_tile(self):

        # build fake tiles
        tiles = []
        for i in range(5):
            title = 'name_{}'.format(i)
            id_ = 'id_{}'.format(i)
            tiles.append(sw.Tile(id_, title))

        # create the real tile
        title = 'toto'
        id_ = 'toto_id'
        real_tile = sw.Tile(id_, title)
        tiles.append(real_tile)

        # create the drawer item and bind it to the tiles
        drawer_item = sw.DrawerItem(title, card=id_).display_tile(tiles)

        # fake the click
        drawer_item._on_click(None, None, None, tiles)

        # check the viz parameter of each tiles
        for tile in tiles:
            if tile.get_title() == title:
                self.assertTrue(tile.viz)
            else:
                self.assertFalse(tile.viz)

        return
Exemplo n.º 5
0
    def test_init(self):

        items = [sw.DrawerItem('title {}'.format(i)) for i in range(5)]

        #default init
        widget = sw.NavDrawer(items)
        self.assertIsInstance(widget, sw.NavDrawer)
        self.assertEqual(widget.children[0].children, items)

        #exhaustive
        code = "#code"
        wiki = "#wiki"
        issue = "#issue"

        #test all composition of links
        widget = sw.NavDrawer(items, code)
        self.assertEqual(len(widget.children[2].children), 1)
        self.assertEqual(widget.children[2].children[0].href, code)

        widget = sw.NavDrawer(items, None, wiki)
        self.assertEqual(len(widget.children[2].children), 1)
        self.assertEqual(widget.children[2].children[0].href, wiki)

        widget = sw.NavDrawer(items, None, None, issue)
        self.assertEqual(len(widget.children[2].children), 1)
        self.assertEqual(widget.children[2].children[0].href, issue)

        widget = sw.NavDrawer(items, code, wiki)
        self.assertEqual(len(widget.children[2].children), 2)
        self.assertEqual(widget.children[2].children[0].href, code)
        self.assertEqual(widget.children[2].children[1].href, wiki)

        widget = sw.NavDrawer(items, None, wiki, issue)
        self.assertEqual(len(widget.children[2].children), 2)
        self.assertEqual(widget.children[2].children[0].href, wiki)
        self.assertEqual(widget.children[2].children[1].href, issue)

        widget = sw.NavDrawer(items, code, None, issue)
        self.assertEqual(len(widget.children[2].children), 2)
        self.assertEqual(widget.children[2].children[0].href, code)
        self.assertEqual(widget.children[2].children[1].href, issue)

        widget = sw.NavDrawer(items, code, wiki, issue)
        self.assertEqual(len(widget.children[2].children), 3)
        self.assertEqual(widget.children[2].children[0].href, code)
        self.assertEqual(widget.children[2].children[1].href, wiki)
        self.assertEqual(widget.children[2].children[2].href, issue)

        return
Exemplo n.º 6
0
    def test_on_item_click(self):

        # create items
        items = [sw.DrawerItem('title {}'.format(i)) for i in range(5)]
        nav_drawer = sw.NavDrawer(items)

        # activate the first one
        items[0].input_value = True
        for i in range(5):
            if i == 0:
                self.assertTrue(items[i].input_value)
            else:
                self.assertFalse(items[i].input_value)

        # activate the second one
        items[1].input_value = True
        for i in range(5):
            if i == 1:
                self.assertTrue(items[i].input_value)
            else:
                self.assertFalse(items[i].input_value)