robotframework 7.0rc3__zip → 7.0.1__zip

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (280) hide show
  1. {robotframework-7.0rc3 → robotframework-7.0.1}/INSTALL.rst +35 -35
  2. {robotframework-7.0rc3/src/robotframework.egg-info → robotframework-7.0.1}/PKG-INFO +5 -3
  3. {robotframework-7.0rc3 → robotframework-7.0.1}/README.rst +3 -1
  4. {robotframework-7.0rc3 → robotframework-7.0.1}/setup.py +1 -1
  5. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/api/interfaces.py +14 -10
  6. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/conf/languages.py +45 -0
  7. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/BuiltIn.py +2 -2
  8. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/Collections.py +5 -3
  9. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/dialogs_py.py +3 -4
  10. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/__init__.py +1 -1
  11. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/configurer.py +1 -1
  12. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/filter.py +9 -9
  13. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/keyword.py +2 -9
  14. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/xmllogger.py +3 -1
  15. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/logreportwriters.py +1 -1
  16. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/model.py +2 -27
  17. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/__init__.py +7 -0
  18. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/argumentresolver.py +7 -15
  19. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/typeconverters.py +11 -1
  20. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/typeinfo.py +34 -7
  21. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/bodyrunner.py +1 -1
  22. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/builder/transformers.py +3 -3
  23. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/invalidkeyword.py +5 -0
  24. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/librarykeyword.py +3 -3
  25. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/model.py +32 -28
  26. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/namespace.py +4 -0
  27. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/resourcemodel.py +1 -1
  28. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/timeouts/__init__.py +6 -2
  29. robotframework-7.0.1/src/robot/running/timeouts/nosupport.py +25 -0
  30. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/userkeywordrunner.py +2 -0
  31. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/__init__.py +1 -1
  32. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/notset.py +2 -3
  33. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/version.py +1 -1
  34. {robotframework-7.0rc3 → robotframework-7.0.1/src/robotframework.egg-info}/PKG-INFO +5 -3
  35. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robotframework.egg-info/SOURCES.txt +1 -0
  36. {robotframework-7.0rc3 → robotframework-7.0.1}/AUTHORS.rst +0 -0
  37. {robotframework-7.0rc3 → robotframework-7.0.1}/BUILD.rst +0 -0
  38. {robotframework-7.0rc3 → robotframework-7.0.1}/CONTRIBUTING.rst +0 -0
  39. {robotframework-7.0rc3 → robotframework-7.0.1}/COPYRIGHT.txt +0 -0
  40. {robotframework-7.0rc3 → robotframework-7.0.1}/LICENSE.txt +0 -0
  41. {robotframework-7.0rc3 → robotframework-7.0.1}/MANIFEST.in +0 -0
  42. {robotframework-7.0rc3 → robotframework-7.0.1}/setup.cfg +0 -0
  43. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/__init__.py +0 -0
  44. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/__main__.py +0 -0
  45. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/api/__init__.py +0 -0
  46. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/api/deco.py +0 -0
  47. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/api/exceptions.py +0 -0
  48. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/api/logger.py +0 -0
  49. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/api/parsing.py +0 -0
  50. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/api/py.typed +0 -0
  51. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/conf/__init__.py +0 -0
  52. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/conf/gatherfailed.py +0 -0
  53. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/conf/settings.py +0 -0
  54. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/errors.py +0 -0
  55. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/__init__.py +0 -0
  56. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/common/__init__.py +0 -0
  57. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/common/js_disabled.css +0 -0
  58. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/common/storage.js +0 -0
  59. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/htmlfilewriter.py +0 -0
  60. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/jsonwriter.py +0 -0
  61. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/lib/__init__.py +0 -0
  62. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/lib/jquery.highlight.min.js +0 -0
  63. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/lib/jquery.min.js +0 -0
  64. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/lib/jquery.tablesorter.min.js +0 -0
  65. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/lib/jquery.tmpl.min.js +0 -0
  66. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/lib/jsxcompressor.min.js +0 -0
  67. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/libdoc/__init__.py +0 -0
  68. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/libdoc/doc_formatting.css +0 -0
  69. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/libdoc/libdoc.css +0 -0
  70. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/libdoc/libdoc.html +0 -0
  71. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/libdoc/print.css +0 -0
  72. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/libdoc/pygments.css +0 -0
  73. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/__init__.py +0 -0
  74. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/common.css +0 -0
  75. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/doc_formatting.css +0 -0
  76. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/fileloading.js +0 -0
  77. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/log.css +0 -0
  78. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/log.html +0 -0
  79. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/log.js +0 -0
  80. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/model.js +0 -0
  81. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/print.css +0 -0
  82. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/report.css +0 -0
  83. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/report.html +0 -0
  84. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/testdata.js +0 -0
  85. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/util.js +0 -0
  86. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/rebot/view.js +0 -0
  87. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/template.py +0 -0
  88. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/testdoc/__init__.py +0 -0
  89. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/testdoc/testdoc.css +0 -0
  90. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/htmldata/testdoc/testdoc.html +0 -0
  91. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdoc.py +0 -0
  92. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/__init__.py +0 -0
  93. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/builder.py +0 -0
  94. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/consoleviewer.py +0 -0
  95. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/datatypes.py +0 -0
  96. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/htmlutils.py +0 -0
  97. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/htmlwriter.py +0 -0
  98. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/jsonbuilder.py +0 -0
  99. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/jsonwriter.py +0 -0
  100. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/model.py +0 -0
  101. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/output.py +0 -0
  102. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/robotbuilder.py +0 -0
  103. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/standardtypes.py +0 -0
  104. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/writer.py +0 -0
  105. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/xmlbuilder.py +0 -0
  106. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libdocpkg/xmlwriter.py +0 -0
  107. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/DateTime.py +0 -0
  108. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/Dialogs.py +0 -0
  109. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/Easter.py +0 -0
  110. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/OperatingSystem.py +0 -0
  111. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/Process.py +0 -0
  112. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/Remote.py +0 -0
  113. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/Screenshot.py +0 -0
  114. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/String.py +0 -0
  115. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/Telnet.py +0 -0
  116. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/XML.py +0 -0
  117. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/libraries/__init__.py +0 -0
  118. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/body.py +0 -0
  119. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/control.py +0 -0
  120. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/fixture.py +0 -0
  121. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/itemlist.py +0 -0
  122. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/message.py +0 -0
  123. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/metadata.py +0 -0
  124. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/modelobject.py +0 -0
  125. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/modifier.py +0 -0
  126. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/namepatterns.py +0 -0
  127. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/statistics.py +0 -0
  128. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/stats.py +0 -0
  129. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/suitestatistics.py +0 -0
  130. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/tags.py +0 -0
  131. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/tagsetter.py +0 -0
  132. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/tagstatistics.py +0 -0
  133. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/testcase.py +0 -0
  134. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/testsuite.py +0 -0
  135. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/totalstatistics.py +0 -0
  136. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/model/visitor.py +0 -0
  137. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/__init__.py +0 -0
  138. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/console/__init__.py +0 -0
  139. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/console/dotted.py +0 -0
  140. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/console/highlighting.py +0 -0
  141. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/console/quiet.py +0 -0
  142. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/console/verbose.py +0 -0
  143. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/debugfile.py +0 -0
  144. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/filelogger.py +0 -0
  145. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/librarylogger.py +0 -0
  146. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/listeners.py +0 -0
  147. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/logger.py +0 -0
  148. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/loggerapi.py +0 -0
  149. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/loggerhelper.py +0 -0
  150. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/output.py +0 -0
  151. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/pyloggingconf.py +0 -0
  152. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/output/stdoutlogsplitter.py +0 -0
  153. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/__init__.py +0 -0
  154. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/lexer/__init__.py +0 -0
  155. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/lexer/blocklexers.py +0 -0
  156. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/lexer/context.py +0 -0
  157. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/lexer/lexer.py +0 -0
  158. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/lexer/settings.py +0 -0
  159. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/lexer/statementlexers.py +0 -0
  160. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/lexer/tokenizer.py +0 -0
  161. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/lexer/tokens.py +0 -0
  162. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/model/__init__.py +0 -0
  163. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/model/blocks.py +0 -0
  164. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/model/statements.py +0 -0
  165. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/model/visitor.py +0 -0
  166. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/parser/__init__.py +0 -0
  167. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/parser/blockparsers.py +0 -0
  168. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/parser/fileparser.py +0 -0
  169. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/parser/parser.py +0 -0
  170. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/parsing/suitestructure.py +0 -0
  171. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/pythonpathsetter.py +0 -0
  172. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/rebot.py +0 -0
  173. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/__init__.py +0 -0
  174. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/expandkeywordmatcher.py +0 -0
  175. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/jsbuildingcontext.py +0 -0
  176. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/jsexecutionresult.py +0 -0
  177. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/jsmodelbuilders.py +0 -0
  178. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/jswriter.py +0 -0
  179. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/outputwriter.py +0 -0
  180. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/resultwriter.py +0 -0
  181. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/stringcache.py +0 -0
  182. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/reporting/xunitwriter.py +0 -0
  183. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/__init__.py +0 -0
  184. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/configurer.py +0 -0
  185. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/executionerrors.py +0 -0
  186. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/executionresult.py +0 -0
  187. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/flattenkeywordmatcher.py +0 -0
  188. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/keywordremover.py +0 -0
  189. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/merger.py +0 -0
  190. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/messagefilter.py +0 -0
  191. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/modeldeprecation.py +0 -0
  192. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/resultbuilder.py +0 -0
  193. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/suiteteardownfailed.py +0 -0
  194. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/visitor.py +0 -0
  195. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/result/xmlelementhandlers.py +0 -0
  196. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/run.py +0 -0
  197. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/__init__.py +0 -0
  198. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/argumentconverter.py +0 -0
  199. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/argumentmapper.py +0 -0
  200. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/argumentparser.py +0 -0
  201. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/argumentspec.py +0 -0
  202. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/argumentvalidator.py +0 -0
  203. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/customconverters.py +0 -0
  204. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/embedded.py +0 -0
  205. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/typeinfoparser.py +0 -0
  206. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/arguments/typevalidator.py +0 -0
  207. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/builder/__init__.py +0 -0
  208. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/builder/builders.py +0 -0
  209. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/builder/parsers.py +0 -0
  210. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/builder/settings.py +0 -0
  211. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/context.py +0 -0
  212. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/dynamicmethods.py +0 -0
  213. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/importer.py +0 -0
  214. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/keywordfinder.py +0 -0
  215. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/keywordimplementation.py +0 -0
  216. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/librarykeywordrunner.py +0 -0
  217. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/libraryscopes.py +0 -0
  218. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/outputcapture.py +0 -0
  219. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/randomizer.py +0 -0
  220. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/runkwregister.py +0 -0
  221. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/signalhandler.py +0 -0
  222. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/status.py +0 -0
  223. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/statusreporter.py +0 -0
  224. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/suiterunner.py +0 -0
  225. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/testlibraries.py +0 -0
  226. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/timeouts/posix.py +0 -0
  227. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/running/timeouts/windows.py +0 -0
  228. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/testdoc.py +0 -0
  229. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/application.py +0 -0
  230. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/argumentparser.py +0 -0
  231. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/asserts.py +0 -0
  232. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/charwidth.py +0 -0
  233. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/compress.py +0 -0
  234. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/connectioncache.py +0 -0
  235. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/dotdict.py +0 -0
  236. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/encoding.py +0 -0
  237. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/encodingsniffer.py +0 -0
  238. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/error.py +0 -0
  239. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/escaping.py +0 -0
  240. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/etreewrapper.py +0 -0
  241. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/filereader.py +0 -0
  242. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/frange.py +0 -0
  243. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/htmlformatters.py +0 -0
  244. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/importer.py +0 -0
  245. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/markuputils.py +0 -0
  246. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/markupwriters.py +0 -0
  247. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/match.py +0 -0
  248. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/misc.py +0 -0
  249. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/normalizing.py +0 -0
  250. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/platform.py +0 -0
  251. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/recommendations.py +0 -0
  252. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/restreader.py +0 -0
  253. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/robotenv.py +0 -0
  254. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/robotinspect.py +0 -0
  255. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/robotio.py +0 -0
  256. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/robotpath.py +0 -0
  257. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/robottime.py +0 -0
  258. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/robottypes.py +0 -0
  259. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/setter.py +0 -0
  260. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/sortable.py +0 -0
  261. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/text.py +0 -0
  262. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/typehints.py +0 -0
  263. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/utils/unic.py +0 -0
  264. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/__init__.py +0 -0
  265. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/assigner.py +0 -0
  266. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/evaluation.py +0 -0
  267. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/filesetter.py +0 -0
  268. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/finders.py +0 -0
  269. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/notfound.py +0 -0
  270. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/replacer.py +0 -0
  271. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/resolvable.py +0 -0
  272. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/scopes.py +0 -0
  273. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/search.py +0 -0
  274. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/store.py +0 -0
  275. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/tablesetter.py +0 -0
  276. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robot/variables/variables.py +0 -0
  277. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robotframework.egg-info/dependency_links.txt +0 -0
  278. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robotframework.egg-info/entry_points.txt +0 -0
  279. {robotframework-7.0rc3 → robotframework-7.0.1}/src/robotframework.egg-info/top_level.txt +0 -0
  280. {robotframework-7.0rc3 → robotframework-7.0.1}/tasks.py +0 -0
@@ -28,13 +28,13 @@ is having Python or its alternative implementation `PyPy <https://pypy.org>`_
28
28
  installed. Another recommended precondition is having the pip_ package manager
29
29
  available.
30
30
 
31
- Robot Framework requires Python 3.6 or newer. If you need to use Python 2,
31
+ Robot Framework requires Python 3.8 or newer. The latest version that supports
32
+ Python 3.6 and 3.7 is `Robot Framework 6.1.1`__. If you need to use Python 2,
32
33
  `Jython <http://jython.org>`_ or `IronPython <http://ironpython.net>`_,
33
34
  you can use `Robot Framework 4.1.3`__.
34
- The forthcoming Robot Framework 7.0 will require `Python 3.8 or newer`__.
35
35
 
36
+ __ https://github.com/robotframework/robotframework/blob/v6.1.1/INSTALL.rst
36
37
  __ https://github.com/robotframework/robotframework/blob/v4.1.3/INSTALL.rst
37
- __ https://github.com/robotframework/robotframework/issues/4294
38
38
 
39
39
  Installing Python on Linux
40
40
  ~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -47,10 +47,10 @@ Python version than the one provided by your distribution by default.
47
47
  To check what Python version you have installed, you can run `python --version`
48
48
  command in a terminal:
49
49
 
50
- .. sourcecode:: bash
50
+ .. code:: bash
51
51
 
52
52
  $ python --version
53
- Python 3.8.10
53
+ Python 3.10.13
54
54
 
55
55
  Notice that if your distribution provides also older Python 2, running `python`
56
56
  may use that. To use Python 3, you can use `python3` command or even more version
@@ -58,12 +58,12 @@ specific command like `python3.8`. You need to use these version specific varian
58
58
  also if you have multiple Python 3 versions installed and need to pinpoint which
59
59
  one to use:
60
60
 
61
- .. sourcecode:: bash
61
+ .. code:: bash
62
62
 
63
- $ python3.9 --version
64
- Python 3.9.10
65
- $ python3.10 --version
66
- Python 3.10.2
63
+ $ python3.11 --version
64
+ Python 3.11.7
65
+ $ python3.12 --version
66
+ Python 3.12.1
67
67
 
68
68
  Installing Robot Framework directly under the system provided Python
69
69
  has a risk that possible problems can affect the whole Python installation
@@ -89,21 +89,21 @@ to select the `Add Python 3.x to PATH` checkbox on the first dialog.
89
89
  To make sure Python installation has been successful and Python has been
90
90
  added to `PATH`, you can open the command prompt and execute `python --version`:
91
91
 
92
- .. sourcecode:: batch
92
+ .. code:: batch
93
93
 
94
94
  C:\>python --version
95
- Python 3.9.4
95
+ Python 3.10.9
96
96
 
97
97
  If you install multiple Python versions on Windows, the version that is used
98
98
  when you execute `python` is the one first in `PATH`. If you need to use others,
99
99
  the easiest way is using the `py launcher`__:
100
100
 
101
- .. sourcecode:: batch
101
+ .. code:: batch
102
102
 
103
103
  C:\>py --version
104
- Python 3.9.4
105
- C:\>py -3.10 --version
106
- Python 3.10.2
104
+ Python 3.10.9
105
+ C:\>py -3.12 --version
106
+ Python 3.12.1
107
107
 
108
108
  __ https://docs.python.org/3/using/windows.html
109
109
  __ https://docs.python.org/3/using/windows.html#windows-full
@@ -200,21 +200,21 @@ To make sure you have pip available, you can run `pip --version` or equivalent.
200
200
 
201
201
  Examples on Linux:
202
202
 
203
- .. sourcecode:: bash
203
+ .. code:: bash
204
204
 
205
205
  $ pip --version
206
- pip 20.2 from ... (python 3.8)
207
- $ python3.10 -m pip --version
208
- pip 20.2 from ... (python 3.10)
206
+ pip 23.2.1 from ... (python 3.10)
207
+ $ python3.12 -m pip --version
208
+ pip 23.3.1 from ... (python 3.12)
209
209
 
210
210
  Examples on Windows:
211
211
 
212
- .. sourcecode:: batch
212
+ .. code:: batch
213
213
 
214
214
  C:\> pip --version
215
- pip 20.2.2 from ... (python 3.9)
216
- C:\> py -m 3.10 -m pip --version
217
- pip 20.2.1 from ... (python 3.10)
215
+ pip 23.2.1 from ... (python 3.10)
216
+ C:\> py -m 3.12 -m pip --version
217
+ pip 23.3.2 from ... (python 3.12)
218
218
 
219
219
  In the subsequent sections pip is always run using the `pip` command. You may
220
220
  need to use some of the other approaches explained above in your environment.
@@ -229,7 +229,7 @@ shown below and pip_ documentation has more information and examples.
229
229
 
230
230
  __ PyPI_
231
231
 
232
- .. sourcecode:: bash
232
+ .. code:: bash
233
233
 
234
234
  # Install the latest version (does not upgrade)
235
235
  pip install robotframework
@@ -241,10 +241,10 @@ __ PyPI_
241
241
  pip install --upgrade --pre robotframework
242
242
 
243
243
  # Install a specific version
244
- pip install robotframework==5.0
244
+ pip install robotframework==7.0
245
245
 
246
246
  # Install separately downloaded package (no network connection needed)
247
- pip install robotframework-5.0-py3-none-any.whl
247
+ pip install robotframework-7.0-py3-none-any.whl
248
248
 
249
249
  # Install latest (possibly unreleased) code directly from GitHub
250
250
  pip install https://github.com/robotframework/robotframework/archive/master.zip
@@ -265,7 +265,7 @@ repository and checking out the needed release tag.
265
265
 
266
266
  Once you have the source code, you can install it with the following command:
267
267
 
268
- .. sourcecode:: bash
268
+ .. code:: bash
269
269
 
270
270
  python setup.py install
271
271
 
@@ -280,10 +280,10 @@ Verifying installation
280
280
  To make sure that the correct Robot Framework version has been installed, run
281
281
  the following command:
282
282
 
283
- .. sourcecode:: bash
283
+ .. code:: bash
284
284
 
285
285
  $ robot --version
286
- Robot Framework 5.0 (Python 3.8.10 on linux)
286
+ Robot Framework 7.0 (Python 3.10.3 on linux)
287
287
 
288
288
  If running these commands fails with a message saying that the command is
289
289
  not found or recognized, a good first step is double-checking the PATH_
@@ -294,13 +294,13 @@ running `robot` will execute the one first in PATH_. To select explicitly,
294
294
  you can run `python -m robot` and substitute `python` with the right Python
295
295
  version.
296
296
 
297
- .. sourcecode:: bash
297
+ .. code:: bash
298
298
 
299
- $ python3.10 -m robot --version
300
- Robot Framework 5.0 (Python 3.10.2 on linux)
299
+ $ python3.12 -m robot --version
300
+ Robot Framework 7.0 (Python 3.12.1 on linux)
301
301
 
302
- C:\>py -3.10 -m robot --version
303
- Robot Framework 5.0 (Python 3.10.3 on win32)
302
+ C:\>py -3.11 -m robot --version
303
+ Robot Framework 7.0 (Python 3.11.7 on win32)
304
304
 
305
305
  Virtual environments
306
306
  --------------------
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: robotframework
3
- Version: 7.0rc3
3
+ Version: 7.0.1
4
4
  Summary: Generic automation framework for acceptance testing and robotic process automation (RPA)
5
5
  Home-page: https://robotframework.org
6
6
  Author: Pekka Klärck
@@ -10,7 +10,7 @@ Download-URL: https://pypi.org/project/robotframework
10
10
  Project-URL: Source, https://github.com/robotframework/robotframework
11
11
  Project-URL: Issue Tracker, https://github.com/robotframework/robotframework/issues
12
12
  Project-URL: Documentation, https://robotframework.org/robotframework
13
- Project-URL: Release Notes, https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-7.0rc3.rst
13
+ Project-URL: Release Notes, https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-7.0.1.rst
14
14
  Project-URL: Slack, http://slack.robotframework.org
15
15
  Description: Robot Framework
16
16
  ===============
@@ -63,10 +63,12 @@ Description: Robot Framework
63
63
  For more detailed installation instructions, including installing Python, see
64
64
  `INSTALL.rst <https://github.com/robotframework/robotframework/blob/master/INSTALL.rst>`__.
65
65
 
66
- Robot Framework requires Python 3.6 or newer and runs also on `PyPy <http://pypy.org>`_.
66
+ Robot Framework requires Python 3.8 or newer and runs also on `PyPy <http://pypy.org>`_.
67
+ The latest version that supports Python 3.6 and 3.7 is `Robot Framework 6.1.1`__.
67
68
  If you need to use Python 2, `Jython <http://jython.org>`_ or
68
69
  `IronPython <http://ironpython.net>`_, you can use `Robot Framework 4.1.3`__.
69
70
 
71
+ __ https://github.com/robotframework/robotframework/tree/v6.1.1#readme
70
72
  __ https://github.com/robotframework/robotframework/tree/v4.1.3#readme
71
73
 
72
74
  Example
@@ -49,10 +49,12 @@ you can simply run::
49
49
  For more detailed installation instructions, including installing Python, see
50
50
  `<INSTALL.rst>`__.
51
51
 
52
- Robot Framework requires Python 3.6 or newer and runs also on `PyPy <http://pypy.org>`_.
52
+ Robot Framework requires Python 3.8 or newer and runs also on `PyPy <http://pypy.org>`_.
53
+ The latest version that supports Python 3.6 and 3.7 is `Robot Framework 6.1.1`__.
53
54
  If you need to use Python 2, `Jython <http://jython.org>`_ or
54
55
  `IronPython <http://ironpython.net>`_, you can use `Robot Framework 4.1.3`__.
55
56
 
57
+ __ https://github.com/robotframework/robotframework/tree/v6.1.1#readme
56
58
  __ https://github.com/robotframework/robotframework/tree/v4.1.3#readme
57
59
 
58
60
  Example
@@ -6,7 +6,7 @@ from setuptools import find_packages, setup
6
6
 
7
7
  # Version number typically updated by running `invoke set-version <version>`.
8
8
  # Run `invoke --help set-version` or see tasks.py for details.
9
- VERSION = '7.0rc3'
9
+ VERSION = '7.0.1'
10
10
  with open(join(dirname(abspath(__file__)), 'README.rst')) as f:
11
11
  LONG_DESCRIPTION = f.read()
12
12
  base_url = 'https://github.com/robotframework/robotframework/blob/master'
@@ -422,7 +422,7 @@ class VariablesAttributes(TypedDict):
422
422
 
423
423
 
424
424
  class ListenerV2:
425
- """Optional base class for listeners using the listener API v2."""
425
+ """Optional base class for listeners using the listener API version 2."""
426
426
  ROBOT_LISTENER_API_VERSION = 2
427
427
 
428
428
  def start_suite(self, name: str, attributes: StartSuiteAttributes):
@@ -501,7 +501,7 @@ class ListenerV2:
501
501
 
502
502
 
503
503
  class ListenerV3:
504
- """Optional base class for listeners using the listener API v3."""
504
+ """Optional base class for listeners using the listener API version 3."""
505
505
  ROBOT_LISTENER_API_VERSION = 3
506
506
 
507
507
  def start_suite(self, data: running.TestSuite, result: result.TestSuite):
@@ -519,10 +519,12 @@ class ListenerV3:
519
519
  def start_keyword(self, data: running.Keyword, result: result.Keyword):
520
520
  """Called when a keyword starts by default.
521
521
 
522
- The default implementation calls :meth:`start_body_item`.
522
+ This method is called, by default, with user keywords, library keywords
523
+ and when a keyword call is invalid. It is not called, however, if a more
524
+ specific :meth:`start_user_keyword`, :meth:`start_library_keyword` or
525
+ :meth:`start_invalid_keyword` method is implemented.
523
526
 
524
- See also :meth:`start_user_keyword`, :meth:`start_library_keyword` and
525
- :meth:`start_invalid_keyword`.
527
+ The default implementation calls :meth:`start_body_item`.
526
528
 
527
529
  New in Robot Framework 7.0.
528
530
  """
@@ -531,10 +533,12 @@ class ListenerV3:
531
533
  def end_keyword(self, data: running.Keyword, result: result.Keyword):
532
534
  """Called when a keyword ends by default.
533
535
 
534
- The default implementation calls :meth:`end_body_item`.
536
+ This method is called, by default, with user keywords, library keywords
537
+ and when a keyword call is invalid. It is not called, however, if a more
538
+ specific :meth:`end_user_keyword`, :meth:`end_library_keyword` or
539
+ :meth:`end_invalid_keyword` method is implemented.
535
540
 
536
- See also :meth:`end_user_keyword`, :meth:`end_library_keyword` and
537
- :meth:`end_invalid_keyword`.
541
+ The default implementation calls :meth:`end_body_item`.
538
542
 
539
543
  New in Robot Framework 7.0.
540
544
  """
@@ -590,7 +594,7 @@ class ListenerV3:
590
594
  """Called when an invalid keyword call starts.
591
595
 
592
596
  Keyword may not have been found, there could have been multiple matches,
593
- or the keyword itself could be broken.
597
+ or the keyword call itself could have been invalid.
594
598
 
595
599
  The default implementation calls :meth:`start_keyword`.
596
600
 
@@ -604,7 +608,7 @@ class ListenerV3:
604
608
  """Called when an invalid keyword call ends.
605
609
 
606
610
  Keyword may not have been found, there could have been multiple matches,
607
- or the keyword itself could be broken.
611
+ or the keyword call itself could have been invalid.
608
612
 
609
613
  The default implementation calls :meth:`end_keyword`.
610
614
 
@@ -1255,3 +1255,48 @@ class Vi(Language):
1255
1255
  but_prefixes = ['Nhưng']
1256
1256
  true_strings = ['Đúng', 'Vâng', 'Mở']
1257
1257
  false_strings = ['Sai', 'Không', 'Tắt', 'Không Có Gì']
1258
+
1259
+
1260
+ class Ja(Language):
1261
+ """Japanese
1262
+
1263
+ New in Robot Framework 7.0.1.
1264
+ """
1265
+ settings_header = '設定'
1266
+ variables_header = '変数'
1267
+ test_cases_header = 'テスト ケース'
1268
+ tasks_header = 'タスク'
1269
+ keywords_header = 'キーワード'
1270
+ comments_header = 'コメント'
1271
+ library_setting = 'ライブラリ'
1272
+ resource_setting = 'リソース'
1273
+ variables_setting = '変数'
1274
+ name_setting = '名前'
1275
+ documentation_setting = 'ドキュメント'
1276
+ metadata_setting = 'メタデータ'
1277
+ suite_setup_setting = 'スイート セットアップ'
1278
+ suite_teardown_setting = 'スイート ティアダウン'
1279
+ test_setup_setting = 'テスト セットアップ'
1280
+ task_setup_setting = 'タスク セットアップ'
1281
+ test_teardown_setting = 'テスト ティアダウン'
1282
+ task_teardown_setting = 'タスク ティアダウン'
1283
+ test_template_setting = 'テスト テンプレート'
1284
+ task_template_setting = 'タスク テンプレート'
1285
+ test_timeout_setting = 'テスト タイムアウト'
1286
+ task_timeout_setting = 'タスク タイムアウト'
1287
+ test_tags_setting = 'テスト タグ'
1288
+ task_tags_setting = 'タスク タグ'
1289
+ keyword_tags_setting = 'キーワード タグ'
1290
+ setup_setting = 'セットアップ'
1291
+ teardown_setting = 'ティアダウン'
1292
+ template_setting = 'テンプレート'
1293
+ tags_setting = 'タグ'
1294
+ timeout_setting = 'タイムアウト'
1295
+ arguments_setting = '引数'
1296
+ given_prefixes = ['仮定', '指定', '前提条件']
1297
+ when_prefixes = ['条件', '次の場合', 'もし', '実行条件']
1298
+ then_prefixes = ['アクション', 'その時', '動作']
1299
+ and_prefixes = ['および', '及び', 'かつ', '且つ', 'ならびに', '並びに', 'そして', 'それから']
1300
+ but_prefixes = ['ただし', '但し']
1301
+ true_strings = ['真', '有効', 'はい', 'オン']
1302
+ false_strings = ['偽', '無効', 'いいえ', 'オフ']
@@ -3223,12 +3223,12 @@ class _Misc(_BuiltInBase):
3223
3223
  operating systems.
3224
3224
 
3225
3225
  It is possible to pass arguments to the imported library and also
3226
- named argument syntax works if the library supports it. ``WITH NAME``
3226
+ named argument syntax works if the library supports it. ``AS``
3227
3227
  syntax can be used to give a custom name to the imported library.
3228
3228
 
3229
3229
  Examples:
3230
3230
  | Import Library | MyLibrary |
3231
- | Import Library | ${CURDIR}/Lib.py | arg1 | named=arg2 | WITH NAME | Custom |
3231
+ | Import Library | ${CURDIR}/Lib.py | arg1 | named=arg2 | AS | Custom |
3232
3232
  """
3233
3233
  args, alias = self._split_alias(args)
3234
3234
  try:
@@ -18,12 +18,15 @@ from ast import literal_eval
18
18
  from itertools import chain
19
19
 
20
20
  from robot.api import logger
21
- from robot.utils import (get_error_message, is_dict_like, is_list_like, Matcher,
22
- NOT_SET, plural_or_not as s, seq2str, seq2str2, type_name)
21
+ from robot.utils import (is_dict_like, is_list_like, Matcher, NotSet,
22
+ plural_or_not as s, seq2str, seq2str2, type_name)
23
23
  from robot.utils.asserts import assert_equal
24
24
  from robot.version import get_version
25
25
 
26
26
 
27
+ NOT_SET = NotSet()
28
+
29
+
27
30
  class _List:
28
31
 
29
32
  def convert_to_list(self, item):
@@ -1124,7 +1127,6 @@ def _report_error(default_message, message, values=False):
1124
1127
  class Normalizer:
1125
1128
 
1126
1129
  def __init__(self, ignore_case=False, ignore_order=False, ignore_keys=None):
1127
- print(ignore_case)
1128
1130
  self.ignore_case = ignore_case
1129
1131
  if isinstance(ignore_case, str):
1130
1132
  self.ignore_key_case = ignore_case.upper() not in ('VALUE', 'VALUES')
@@ -26,9 +26,8 @@ class TkDialog(Toplevel):
26
26
 
27
27
  def __init__(self, message, value=None, **config):
28
28
  self._prevent_execution_with_timeouts()
29
- self.root = self._get_root()
30
29
  self._button_bindings = {}
31
- super().__init__(self.root)
30
+ super().__init__(self._get_root())
32
31
  self._initialize_dialog()
33
32
  self.widget = self._create_body(message, value, **config)
34
33
  self._create_buttons()
@@ -109,8 +108,8 @@ class TkDialog(Toplevel):
109
108
  return None
110
109
 
111
110
  def _close(self, event=None):
112
- # self.destroy() is not enough on Linux
113
- self.root.destroy()
111
+ self.destroy()
112
+ self.update() # Needed on linux to close the window (Issue #1466)
114
113
 
115
114
  def _right_button_clicked(self, event=None):
116
115
  self._result = self._get_right_button_value()
@@ -31,7 +31,7 @@ from .control import (Break, Continue, Error, For, ForIteration, If, IfBranch,
31
31
  Return, Try, TryBranch, Var, While, WhileIteration)
32
32
  from .fixture import create_fixture
33
33
  from .itemlist import ItemList
34
- from .keyword import Arguments, Keyword
34
+ from .keyword import Keyword
35
35
  from .message import Message, MessageLevel, Messages
36
36
  from .modelobject import DataDict, ModelObject
37
37
  from .modifier import ModelModifier
@@ -73,7 +73,7 @@ class SuiteConfigurer(SuiteVisitor):
73
73
  parts = []
74
74
  for separator, explanation, selectors in [
75
75
  (None, 'matching name', self.include_tests),
76
- ('or', 'matching tags', self.include_tags),
76
+ ('and', 'matching tags', self.include_tags),
77
77
  ('and', 'not matching tags', self.exclude_tags)
78
78
  ]:
79
79
  if selectors:
@@ -84,7 +84,7 @@ class Filter(EmptySuiteRemover):
84
84
  suite.start_time = suite.end_time = suite.elapsed_time = None
85
85
  if self.include_suites is not None:
86
86
  return self._filter_based_on_suite_name(suite)
87
- suite.tests = [t for t in suite.tests if self._test_included(t)]
87
+ self._filter_tests(suite)
88
88
  return bool(suite.suites)
89
89
 
90
90
  def _filter_based_on_suite_name(self, suite: 'TestSuite') -> bool:
@@ -96,16 +96,16 @@ class Filter(EmptySuiteRemover):
96
96
  suite.tests = []
97
97
  return True
98
98
 
99
- def _test_included(self, test: 'TestCase') -> bool:
99
+ def _filter_tests(self, suite: 'TestSuite'):
100
100
  tests, include, exclude \
101
101
  = self.include_tests, self.include_tags, self.exclude_tags
102
- if exclude is not None and exclude.match(test.tags):
103
- return False
104
- if include is not None and include.match(test.tags):
105
- return True
106
- if tests is not None and tests.match(test.name, test.full_name):
107
- return True
108
- return include is None and tests is None
102
+ t: TestCase
103
+ if tests is not None:
104
+ suite.tests = [t for t in suite.tests if tests.match(t.name, t.full_name)]
105
+ if include is not None:
106
+ suite.tests = [t for t in suite.tests if include.match(t.tags)]
107
+ if exclude is not None:
108
+ suite.tests = [t for t in suite.tests if not exclude.match(t.tags)]
109
109
 
110
110
  def __bool__(self) -> bool:
111
111
  return bool(self.include_suites is not None or
@@ -13,7 +13,7 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
 
16
- from typing import Any, Dict, List, Sequence, Tuple, TYPE_CHECKING, Union
16
+ from typing import Sequence, TYPE_CHECKING
17
17
 
18
18
  from .body import Body, BodyItem, BodyItemParent
19
19
  from .modelobject import DataDict
@@ -22,25 +22,18 @@ if TYPE_CHECKING:
22
22
  from .visitor import SuiteVisitor
23
23
 
24
24
 
25
- Arguments = Union[Sequence[Union[Any, Tuple[Any], Tuple[str, Any]]],
26
- Tuple[List[Any], Dict[str, Any]]]
27
-
28
-
29
25
  @Body.register
30
26
  class Keyword(BodyItem):
31
27
  """Base model for a single keyword.
32
28
 
33
29
  Extended by :class:`robot.running.model.Keyword` and
34
30
  :class:`robot.result.model.Keyword`.
35
-
36
- Arguments from normal data are always strings, but other types are possible in
37
- programmatic usage. See the docstrings of the extending classes for more details.
38
31
  """
39
32
  repr_args = ('name', 'args', 'assign')
40
33
  __slots__ = ['name', 'args', 'assign', 'type']
41
34
 
42
35
  def __init__(self, name: 'str|None' = '',
43
- args: Arguments = (),
36
+ args: Sequence[str] = (),
44
37
  assign: Sequence[str] = (),
45
38
  type: str = BodyItem.KEYWORD,
46
39
  parent: BodyItemParent = None):
@@ -217,7 +217,7 @@ class XmlLogger(ResultVisitor):
217
217
  if self.flatten_level == 0:
218
218
  self._writer = self._xml_writer
219
219
  self._write_list('var', kw.assign)
220
- self._write_list('arg', kw.args)
220
+ self._write_list('arg', [str(a) for a in kw.args])
221
221
  self._write_list('tag', kw.tags)
222
222
  self._writer.element('doc', kw.doc)
223
223
  if kw.timeout:
@@ -429,6 +429,8 @@ class LegacyXmlLogger(XmlLogger):
429
429
  'schemaversion': '4'}
430
430
 
431
431
  def _datetime_to_timestamp(self, dt):
432
+ if dt is None:
433
+ return None
432
434
  return dt.isoformat(' ', timespec='milliseconds').replace('-', '')
433
435
 
434
436
  def _get_start_keyword_attrs(self, kw):
@@ -56,7 +56,7 @@ class LogWriter(_LogReportWriter):
56
56
  def _write_split_log(self, index, keywords, strings, path: Path):
57
57
  with file_writer(path, usage=self.usage) as outfile:
58
58
  writer = SplitLogWriter(outfile)
59
- writer.write(keywords, strings, index, path.stem)
59
+ writer.write(keywords, strings, index, path.name)
60
60
 
61
61
 
62
62
  class ReportWriter(_LogReportWriter):
@@ -43,7 +43,7 @@ from typing import Literal, Mapping, overload, Sequence, Union, TextIO, TypeVar
43
43
  from robot import model
44
44
  from robot.model import (BodyItem, create_fixture, DataDict, Tags, TestSuites,
45
45
  TotalStatistics, TotalStatisticsBuilder)
46
- from robot.utils import is_dict_like, is_list_like, setter
46
+ from robot.utils import setter
47
47
 
48
48
  from .configurer import SuiteConfigurer
49
49
  from .messagefilter import MessageFilter
@@ -91,7 +91,6 @@ class Message(model.Message):
91
91
  return data
92
92
 
93
93
 
94
-
95
94
  class StatusMixin:
96
95
  PASS = 'PASS'
97
96
  FAIL = 'FAIL'
@@ -711,7 +710,7 @@ class Keyword(model.Keyword, StatusMixin):
711
710
  owner: 'str|None' = None,
712
711
  source_name: 'str|None' = None,
713
712
  doc: str = '',
714
- args: model.Arguments = (),
713
+ args: Sequence[str] = (),
715
714
  assign: Sequence[str] = (),
716
715
  tags: Sequence[str] = (),
717
716
  timeout: 'str|None' = None,
@@ -739,30 +738,6 @@ class Keyword(model.Keyword, StatusMixin):
739
738
  self._teardown = None
740
739
  self.body = ()
741
740
 
742
- @setter
743
- def args(self, args: model.Arguments) -> 'tuple[str, ...]':
744
- """Keyword arguments.
745
-
746
- Arguments originating from normal data are given as a list of strings.
747
- Programmatically it is possible to use also other types and named arguments
748
- can be specified using name-value tuples. Additionally, it is possible
749
- o give arguments directly as a list of positional arguments and a dictionary
750
- of named arguments. In all these cases arguments are stored as strings.
751
- """
752
- if len(args) == 2 and is_list_like(args[0]) and is_dict_like(args[1]):
753
- positional = [str(a) for a in args[0]]
754
- named = [f'{n}={v}' for n, v in args[1].items()]
755
- return tuple(positional + named)
756
- return tuple([a if isinstance(a, str) else self._arg_to_str(a) for a in args])
757
-
758
- def _arg_to_str(self, arg):
759
- if isinstance(arg, tuple):
760
- if len(arg) == 2:
761
- return f'{arg[0]}={arg[1]}'
762
- if len(arg) == 1:
763
- return str(arg[0])
764
- return str(arg)
765
-
766
741
  @setter
767
742
  def body(self, body: 'Sequence[BodyItem|DataDict]') -> Body:
768
743
  """Possible keyword body as a :class:`~.Body` object.
@@ -32,6 +32,12 @@ The public API of this module consists of the following objects:
32
32
  :mod:`robot.running.model` module. These classes are typically only needed
33
33
  in type hints.
34
34
 
35
+ * Keyword implementation related classes :class:`~robot.running.resourcemodel.UserKeyword`,
36
+ :class:`~robot.running.librarykeyword.LibraryKeyword`,
37
+ :class:`~robot.running.invalidkeyword.InvalidKeyword` and their common base class
38
+ :class:`~robot.running.keywordimplementation.KeywordImplementation`. Also these
39
+ classes are mainly needed in type hints.
40
+
35
41
  * :class:`~robot.running.builder.settings.TestDefaults` that is part of the
36
42
  `external parsing API`__ and also typically needed only in type hints.
37
43
 
@@ -43,6 +49,7 @@ the :mod:`robot.api` package.
43
49
 
44
50
  .. note:: Prior to Robot Framework 6.1, only some classes in
45
51
  :mod:`robot.running.model` were exposed via :mod:`robot.running`.
52
+ Keyword implementation related classes are new in Robot Framework 7.0.
46
53
 
47
54
  Examples
48
55
  --------
@@ -16,10 +16,11 @@
16
16
  from typing import TYPE_CHECKING
17
17
 
18
18
  from robot.errors import DataError
19
- from robot.utils import is_dict_like, is_list_like, split_from_equals
19
+ from robot.utils import is_dict_like, split_from_equals
20
20
  from robot.variables import is_dict_variable
21
21
 
22
22
  from .argumentvalidator import ArgumentValidator
23
+ from ..model import Argument
23
24
 
24
25
  if TYPE_CHECKING:
25
26
  from .argumentspec import ArgumentSpec
@@ -38,13 +39,9 @@ class ArgumentResolver:
38
39
  self.argument_validator = ArgumentValidator(spec)
39
40
 
40
41
  def resolve(self, arguments, variables=None):
41
- if len(arguments) == 2 and is_list_like(arguments[0]) and is_dict_like(arguments[1]):
42
- positional = list(arguments[0])
43
- named = list(arguments[1].items())
44
- else:
45
- positional, named = self.named_resolver.resolve(arguments, variables)
46
- positional, named = self.variable_replacer.replace(positional, named, variables)
47
- positional, named = self.dict_to_kwargs.handle(positional, named)
42
+ positional, named = self.named_resolver.resolve(arguments, variables)
43
+ positional, named = self.variable_replacer.replace(positional, named, variables)
44
+ positional, named = self.dict_to_kwargs.handle(positional, named)
48
45
  self.argument_validator.validate(positional, named, dryrun=variables is None)
49
46
  return positional, named
50
47
 
@@ -72,13 +69,8 @@ class NamedArgumentResolver:
72
69
  return positional, named
73
70
 
74
71
  def _split_named(self, arg, previous_named, variables, spec):
75
- if isinstance(arg, tuple):
76
- if len(arg) == 2 and isinstance(arg[0], str):
77
- return arg
78
- elif len(arg) == 1:
79
- return None, arg[0]
80
- else:
81
- return None, arg
72
+ if isinstance(arg, Argument):
73
+ return arg.name, arg.value
82
74
  name, value = split_from_equals(arg)
83
75
  if value is None or not self._is_named(name, previous_named, variables, spec):
84
76
  return None, arg