Falko Schindler преди 2 години
родител
ревизия
6c6d80878d
променени са 2 файла, в които са добавени 12 реда и са изтрити 12 реда
  1. 1 1
      nicegui/elements/link.py
  2. 11 11
      tests/test_link.py

+ 1 - 1
nicegui/elements/link.py

@@ -25,8 +25,8 @@ class Link(TextElement):
         super().__init__(tag='link', text=text)
         super().__init__(tag='link', text=text)
         self._props['href'] = target if isinstance(target, str) else globals.page_routes[target]
         self._props['href'] = target if isinstance(target, str) else globals.page_routes[target]
         self._props['target'] = '_blank' if new_tab else '_self'
         self._props['target'] = '_blank' if new_tab else '_self'
-        self._classes = ['nicegui-link']
         self._props['key'] = self.id  # HACK: workaround for #600
         self._props['key'] = self.id  # HACK: workaround for #600
+        self._classes = ['nicegui-link']
 
 
 
 
 class LinkTarget(Element):
 class LinkTarget(Element):

+ 11 - 11
tests/test_link.py

@@ -36,17 +36,17 @@ def test_opening_link_in_new_tab(screen: Screen):
     screen.should_contain('open sub-page')
     screen.should_contain('open sub-page')
 
 
 
 
-def test_replacing_link(screen: Screen):
-    def change():
-        content.clear()
-        with content:
-            ui.link('zauberzeug', 'https://zauberzeug.com')
-    with ui.row() as content:
-        ui.link('nicegui.io', 'https://nicegui.io')
-    ui.button('change link', on_click=change)
+def test_replace_link(screen: Screen):
+    with ui.row() as container:
+        ui.link('nicegui.io', 'https://nicegui.io/')
+
+    def replace():
+        container.clear()
+        with container:
+            ui.link('zauberzeug', 'https://zauberzeug.com/')
+    ui.button('Replace', on_click=replace)
 
 
     screen.open('/')
     screen.open('/')
-    content.clear()
-    screen.should_not_contain('nicegui')
-    screen.click('change link')
+    assert screen.find('nicegui.io').get_attribute('href') == 'https://nicegui.io/'
+    screen.click('Replace')
     assert screen.find('zauberzeug').get_attribute('href') == 'https://zauberzeug.com/'
     assert screen.find('zauberzeug').get_attribute('href') == 'https://zauberzeug.com/'