test_toggle.py 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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. import taipy.gui.builder as tgb
  12. from taipy.gui import Gui
  13. def test_toggle_builder(gui: Gui, helpers):
  14. with tgb.Page(frame=None) as page:
  15. tgb.toggle(theme=True) # type: ignore[attr-defined]
  16. expected_list = ["<Toggle", 'mode="theme"', 'unselectedValue=""']
  17. helpers.test_control_builder(gui, page, expected_list)
  18. def test_toggle_allow_unselected_builder(gui: Gui, helpers):
  19. with tgb.Page(frame=None) as page:
  20. tgb.toggle(allow_unselect=True, lov="1;2") # type: ignore[attr-defined]
  21. expected_list = ["<Toggle", 'unselectedValue=""', "allowUnselect={true}"]
  22. helpers.test_control_builder(gui, page, expected_list)
  23. def test_toggle_lov_builder(gui: Gui, test_client, helpers):
  24. gui._bind_var_val("x", "l1")
  25. gui._bind_var_val("lov", [("l1", "v1"), ("l2", "v2")])
  26. with tgb.Page(frame=None) as page:
  27. tgb.toggle(lov="{lov}", value="{x}", label="Label") # type: ignore[attr-defined]
  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. 'unselectedValue=""',
  37. "value={_TpLv_tpec_TpExPr_x_TPMDL_0}",
  38. ]
  39. helpers.test_control_builder(gui, page, expected_list)