1
0

test_date_range.py 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  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 datetime import datetime
  12. from taipy.gui import Gui
  13. def test_date_range_md_1(gui: Gui, test_client, helpers):
  14. gui._bind_var_val(
  15. "dates", [datetime.strptime("15 Dec 2020", "%d %b %Y"), datetime.strptime("31 Dec 2020", "%d %b %Y")]
  16. )
  17. md_string = "<|{dates}|date_range|>"
  18. expected_list = [
  19. "<DateRange",
  20. 'defaultDates="[&quot;2020-12-',
  21. 'updateVarName="_TpDr_tpec_TpExPr_dates_TPMDL_0"',
  22. "dates={_TpDr_tpec_TpExPr_dates_TPMDL_0}",
  23. ]
  24. helpers.test_control_md(gui, md_string, expected_list)
  25. def test_date_range_md_2(gui: Gui, test_client, helpers):
  26. gui._bind_var_val(
  27. "dates", [datetime.strptime("15 Dec 2020", "%d %b %Y"), datetime.strptime("31 Dec 2020", "%d %b %Y")]
  28. )
  29. md_string = "<|{dates}|date_range|with_time|label_start=start|label_end=end|>"
  30. expected_list = [
  31. "<DateRange",
  32. 'defaultDates="[&quot;2020-12-',
  33. 'updateVarName="_TpDr_tpec_TpExPr_dates_TPMDL_0"',
  34. "dates={_TpDr_tpec_TpExPr_dates_TPMDL_0}",
  35. "withTime={true}",
  36. 'labelStart="start"',
  37. 'labelEnd="end"',
  38. ]
  39. helpers.test_control_md(gui, md_string, expected_list)
  40. def test_date_range_md_3(gui: Gui, test_client, helpers):
  41. gui._bind_var_val(
  42. "dates", [datetime.strptime("15 Dec 2020", "%d %b %Y"), datetime.strptime("31 Dec 2020", "%d %b %Y")]
  43. )
  44. md_string = "<|{dates}|date_range|with_time|analogic|label_start=start|label_end=end|>"
  45. expected_list = [
  46. "<DateRange",
  47. 'defaultDates="[&quot;2020-12-',
  48. 'updateVarName="_TpDr_tpec_TpExPr_dates_TPMDL_0"',
  49. "dates={_TpDr_tpec_TpExPr_dates_TPMDL_0}",
  50. "withTime={true}",
  51. "analogic={true}",
  52. 'labelStart="start"',
  53. 'labelEnd="end"',
  54. ]
  55. helpers.test_control_md(gui, md_string, expected_list)
  56. def test_date_range_md_width(gui: Gui, test_client, helpers):
  57. # do not remove test_client: it brings an app context needed for this test
  58. gui._bind_var_val(
  59. "dates", [datetime.strptime("15 Dec 2020", "%d %b %Y"), datetime.strptime("31 Dec 2020", "%d %b %Y")]
  60. )
  61. md_string = "<|{dates}|date_range|width=70%|>"
  62. expected_list = [
  63. "<DateRange",
  64. 'defaultDates="[&quot;2020-12-',
  65. 'updateVarName="_TpDr_tpec_TpExPr_dates_TPMDL_0"',
  66. 'width="70%"',
  67. "dates={_TpDr_tpec_TpExPr_dates_TPMDL_0}",
  68. ]
  69. helpers.test_control_md(gui, md_string, expected_list)
  70. def test_date_range_html_1(gui: Gui, test_client, helpers):
  71. gui._bind_var_val(
  72. "dates", [datetime.strptime("15 Dec 2020", "%d %b %Y"), datetime.strptime("31 Dec 2020", "%d %b %Y")]
  73. )
  74. html_string = '<taipy:date_range dates="{dates}" />'
  75. expected_list = [
  76. "<DateRange",
  77. 'defaultDates="[&quot;2020-12-',
  78. 'updateVarName="_TpDr_tpec_TpExPr_dates_TPMDL_0"',
  79. "dates={_TpDr_tpec_TpExPr_dates_TPMDL_0}",
  80. ]
  81. helpers.test_control_html(gui, html_string, expected_list)
  82. def test_date_range_html_2(gui: Gui, test_client, helpers):
  83. gui._bind_var_val(
  84. "dates", [datetime.strptime("15 Dec 2020", "%d %b %Y"), datetime.strptime("31 Dec 2020", "%d %b %Y")]
  85. )
  86. html_string = "<taipy:date_range>{dates}</taipy:date_range>"
  87. expected_list = [
  88. "<DateRange",
  89. 'defaultDates="[&quot;2020-12-',
  90. 'updateVarName="_TpDr_tpec_TpExPr_dates_TPMDL_0"',
  91. "dates={_TpDr_tpec_TpExPr_dates_TPMDL_0}",
  92. ]
  93. helpers.test_control_html(gui, html_string, expected_list)