test_variable_directory.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536
  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. from taipy.gui import Gui
  12. from taipy.gui.utils import _LocalsContext, _VariableDirectory
  13. from .state_asset.page1 import md_page1
  14. from .state_asset.page2 import md_page2
  15. def test_variable_directory_dyanmic_process(gui: Gui):
  16. gui.run(run_server=False)
  17. with gui.get_server_instance().app_context():
  18. locals_context = _LocalsContext()
  19. variable_directory = _VariableDirectory(locals_context)
  20. page1_module = str(md_page1._get_module_name())
  21. page2_module = str(md_page2._get_module_name())
  22. locals_context.add(page1_module, md_page1._get_locals())
  23. variable_directory.set_default(md_page1._get_frame()) # type: ignore
  24. variable_directory.process_imported_var()
  25. assert page1_module in variable_directory._pre_processed_module
  26. assert page1_module in variable_directory._processed_module
  27. locals_context.add(page2_module, md_page2._get_locals())
  28. variable_directory.add_frame(md_page2._get_frame())
  29. variable_directory.process_imported_var()
  30. assert page2_module in variable_directory._pre_processed_module
  31. assert page2_module in variable_directory._processed_module