1
0

test_toggle.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. # Copyright 2021-2025 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"']
  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", "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. "value={_TpLv_tpec_TpExPr_x_TPMDL_0}",
  37. ]
  38. helpers.test_control_builder(gui, page, expected_list)