Преглед на файлове

test: add more test case

wangweimin преди 4 години
родител
ревизия
f382f5ff3f
променени са 4 файла, в които са добавени 31 реда и са изтрити 12 реда
  1. 1 0
      requirements.txt
  2. 10 10
      test/11.charts.py
  3. 1 2
      test/13.misc.py
  4. 19 0
      test/template.py

+ 1 - 0
requirements.txt

@@ -10,6 +10,7 @@ pandas
 cutecharts
 pyecharts
 plotly
+Pillow
 
 # test requirements
 selenium==3.*

+ 10 - 10
test/11.charts.py

@@ -265,28 +265,28 @@ def pyecharts():
 def cutecharts():
     def radar_base():
         chart = Radar("Radar-基本示例", width="100%")
-        chart.set_options(labels=Faker.choose())
-        chart.add_series("series-A", Faker.values())
-        chart.add_series("series-B", Faker.values())
+        chart.set_options(labels=["草莓", "芒果", "葡萄", "雪梨", "西瓜", "柠檬", "车厘子"])
+        chart.add_series("series-A", [25, 87, 114, 131, 130, 94, 146])
+        chart.add_series("series-B", [25, 87, 114, 131, 130, 94, 146])
         return put_html(chart.render_notebook())
 
     def pie_base():
         chart = Pie("Pie-基本示例", width="100%")
-        chart.set_options(labels=Faker.choose())
-        chart.add_series(Faker.values())
+        chart.set_options(labels=["小米", "三星", "华为", "苹果", "魅族", "VIVO", "OPPO"])
+        chart.add_series([25, 87, 114, 131, 130, 94, 146])
         return put_html(chart.render_notebook())
 
     def line_base():
         chart = Line("Line-基本示例", width="100%")
-        chart.set_options(labels=Faker.choose(), x_label="I'm xlabel", y_label="I'm ylabel")
-        chart.add_series("series-A", Faker.values())
-        chart.add_series("series-B", Faker.values())
+        chart.set_options(labels=["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"], x_label="I'm xlabel", y_label="I'm ylabel")
+        chart.add_series("series-A", [25, 87, 114, 131, 130, 94, 146])
+        chart.add_series("series-B", [127, 33, 110, 29, 146, 121, 36])
         return put_html(chart.render_notebook())
 
     def bar_base():
         chart = Bar("Bar-基本示例", width="100%")
-        chart.set_options(labels=Faker.choose(), x_label="I'm xlabel", y_label="I'm ylabel")
-        chart.add_series("series-A", Faker.values())
+        chart.set_options(labels=["可乐", "雪碧", "橙汁", "绿茶", "奶茶", "百威", "青岛"], x_label="I'm xlabel", y_label="I'm ylabel")
+        chart.add_series("series-A", [127, 33, 110, 29, 146, 121, 36])
         return put_html(chart.render_notebook())
 
     put_grid([[bar_base(), line_base()], [pie_base(), radar_base()]], cell_width='1fr', cell_height='1fr')

+ 1 - 2
test/13.misc.py

@@ -83,6 +83,7 @@ def target():
 
 
 async def corobased():
+    await wait_host_port(port=8080, host='127.0.0.1')
     await to_coroutine(target())
 
 
@@ -91,8 +92,6 @@ def threadbased():
 
 
 def test(server_proc: subprocess.Popen, browser: Chrome):
-    asyncio.run(wait_host_port(port=8080, host='127.0.0.1'))
-
     time.sleep(2)
     percySnapshot(browser=browser, name='misc output')
 

+ 19 - 0
test/template.py

@@ -55,6 +55,8 @@ def basic_output():
     ~~删除线~~
     """, lstrip=True)
 
+    put_link('链接', '#')
+
     put_text('<hr/>:')
     put_html("<hr/>")
 
@@ -93,6 +95,11 @@ def basic_output():
         {"Course": "DB", "Score": "93"},
     ], header=["Course", "Score"])
 
+    put_table([
+        {"Course": "OS", "Score": "80"},
+        {"Course": "DB", "Score": "93"},
+    ], header=[("课程", "Course"), ("得分", "Score")])
+
     img_data = open(path.join(here_dir, 'assets', 'img.png'), 'rb').read()
     put_table([
         ['Type', 'Content'],
@@ -170,6 +177,9 @@ def basic_output():
             ['香蕉', '7'],
         ])
     ], open=True)
+    put_collapse('title', 'something', open=True)
+
+    put_scrollable('scrollable\n' * 20, max_height=50)
 
     put_markdown('### Scope')
     with use_scope('scope1'):
@@ -371,6 +381,11 @@ def basic_input():
                       help_text='This is help text', required=True)
     put_markdown(f'`{repr(res)}`')
 
+    # 取消表单
+    res = yield input_group('cancel test', [input(name='cancel')], cancelable=True)
+    put_markdown(f'`{repr(res)}`')
+
+
     # 校验函数
     def check_age(p):  # 检验函数校验通过时返回None,否则返回错误消息
         if p < 10:
@@ -574,6 +589,10 @@ def test_input(browser: Chrome, enable_percy=False):
     browser.find_element_by_css_selector('input').send_keys("text")
     browser.find_element_by_tag_name('form').submit()
 
+    # 表单取消
+    time.sleep(0.5)
+    browser.execute_script("arguments[0].click();", browser.find_element_by_css_selector('.pywebio_cancel_btn'))
+
     # valid func, age in [10, 60]
     time.sleep(0.5)
     browser.find_element_by_css_selector('input').send_keys("1")