test_toggle.py 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. # Copyright 2021-2024 Avaiga Private Limited
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
  4. # the License. You may obtain a copy of the License at
  5. #
  6. # http://www.apache.org/licenses/LICENSE-2.0
  7. #
  8. # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
  9. # an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
  10. # specific language governing permissions and limitations under the License.
  11. from taipy.gui import Gui
  12. def test_toggle_md(gui: Gui, helpers):
  13. md_string = "<|toggle|theme|>"
  14. expected_list = ["<Toggle", 'mode="theme"']
  15. helpers.test_control_md(gui, md_string, expected_list)
  16. def test_toggle_width_md(gui: Gui, helpers):
  17. md_string = "<|toggle|theme|width=70%|>"
  18. expected_list = ["<Toggle", 'mode="theme"', 'width="70%"']
  19. helpers.test_control_md(gui, md_string, expected_list)
  20. def test_toggle_allow_unselected_md(gui: Gui, helpers):
  21. md_string = "<|toggle|lov=1;2|allow_unselect|>"
  22. expected_list = ["<Toggle", "allowUnselect={true}"]
  23. helpers.test_control_md(gui, md_string, expected_list)
  24. def test_toggle_lov_md(gui: Gui, test_client, helpers):
  25. gui._bind_var_val("x", "l1")
  26. gui._bind_var_val("lov", [("l1", "v1"), ("l2", "v2")])
  27. md_string = "<|{x}|toggle|lov={lov}|label=Label|>"
  28. expected_list = [
  29. "<Toggle",
  30. 'defaultLov="[[&quot;l1&quot;, &quot;v1&quot;], [&quot;l2&quot;, &quot;v2&quot;]]"',
  31. 'defaultValue="l1"',
  32. 'label="Label"',
  33. "lov={_TpL_tp_TpExPr_gui_get_adapted_lov_lov_tuple_TPMDL_0_0}",
  34. 'updateVars="lov=_TpL_tp_TpExPr_gui_get_adapted_lov_lov_tuple_TPMDL_0_0"',
  35. 'updateVarName="_TpLv_tpec_TpExPr_x_TPMDL_0"',
  36. "value={_TpLv_tpec_TpExPr_x_TPMDL_0}",
  37. ]
  38. helpers.test_control_md(gui, md_string, expected_list)
  39. def test_toggle_html_1(gui: Gui, helpers):
  40. html_string = '<taipy:toggle theme="True" />'
  41. expected_list = ["<Toggle", 'mode="theme"']
  42. helpers.test_control_html(gui, html_string, expected_list)
  43. def test_toggle_html_2(gui: Gui, test_client, helpers):
  44. gui._bind_var_val("x", "l1")
  45. gui._bind_var_val("lov", [("l1", "v1"), ("l2", "v2")])
  46. html_string = '<taipy:toggle lov="{lov}" label="Label">{x}</taipy:toggle>'
  47. expected_list = [
  48. "<Toggle",
  49. 'defaultLov="[[&quot;l1&quot;, &quot;v1&quot;], [&quot;l2&quot;, &quot;v2&quot;]]"',
  50. 'defaultValue="l1"',
  51. 'label="Label"',
  52. "lov={_TpL_tp_TpExPr_gui_get_adapted_lov_lov_tuple_TPMDL_0_0}",
  53. 'updateVars="lov=_TpL_tp_TpExPr_gui_get_adapted_lov_lov_tuple_TPMDL_0_0"',
  54. 'updateVarName="_TpLv_tpec_TpExPr_x_TPMDL_0"',
  55. "value={_TpLv_tpec_TpExPr_x_TPMDL_0}",
  56. ]
  57. helpers.test_control_html(gui, html_string, expected_list)
  58. def test_toggle_switch_md(gui: Gui, test_client, helpers):
  59. gui._bind_var_val("x", True)
  60. md_string = "<|{x}|toggle|label=Label|>"
  61. expected_list = [
  62. "<Toggle",
  63. "isSwitch={true}",
  64. "defaultValue={true}",
  65. 'libClassName="taipy-toggle"',
  66. 'updateVarName="_TpB_tpec_TpExPr_x_TPMDL_0"',
  67. "value={_TpB_tpec_TpExPr_x_TPMDL_0}",
  68. 'label="Label"',
  69. ]
  70. helpers.test_control_md(gui, md_string, expected_list)