robotframework 7.0rc2__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.0rc2 → robotframework-7.0.1}/INSTALL.rst +35 -35
  2. {robotframework-7.0rc2/src/robotframework.egg-info → robotframework-7.0.1}/PKG-INFO +5 -3
  3. {robotframework-7.0rc2 → robotframework-7.0.1}/README.rst +3 -1
  4. {robotframework-7.0rc2 → robotframework-7.0.1}/setup.py +1 -1
  5. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/api/interfaces.py +14 -10
  6. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/conf/languages.py +45 -0
  7. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/common.css +17 -0
  8. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/log.html +0 -26
  9. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/jsonbuilder.py +1 -1
  10. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/model.py +1 -1
  11. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/robotbuilder.py +1 -1
  12. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/xmlbuilder.py +1 -1
  13. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/BuiltIn.py +8 -4
  14. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/Collections.py +5 -3
  15. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/String.py +2 -2
  16. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/XML.py +2 -7
  17. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/dialogs_py.py +3 -4
  18. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/__init__.py +1 -1
  19. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/configurer.py +1 -1
  20. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/filter.py +9 -9
  21. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/keyword.py +2 -9
  22. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/xmllogger.py +3 -1
  23. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/reporting/logreportwriters.py +1 -1
  24. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/model.py +2 -27
  25. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/__init__.py +7 -0
  26. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/arguments/argumentresolver.py +7 -15
  27. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/arguments/typeconverters.py +11 -1
  28. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/arguments/typeinfo.py +48 -16
  29. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/arguments/typeinfoparser.py +48 -28
  30. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/bodyrunner.py +1 -1
  31. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/builder/transformers.py +3 -3
  32. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/invalidkeyword.py +5 -0
  33. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/librarykeyword.py +3 -3
  34. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/model.py +32 -28
  35. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/namespace.py +4 -0
  36. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/resourcemodel.py +1 -1
  37. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/timeouts/__init__.py +6 -2
  38. robotframework-7.0.1/src/robot/running/timeouts/nosupport.py +25 -0
  39. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/userkeywordrunner.py +2 -0
  40. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/__init__.py +1 -1
  41. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/misc.py +1 -2
  42. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/notset.py +2 -3
  43. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/version.py +1 -1
  44. {robotframework-7.0rc2 → robotframework-7.0.1/src/robotframework.egg-info}/PKG-INFO +5 -3
  45. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robotframework.egg-info/SOURCES.txt +1 -0
  46. {robotframework-7.0rc2 → robotframework-7.0.1}/AUTHORS.rst +0 -0
  47. {robotframework-7.0rc2 → robotframework-7.0.1}/BUILD.rst +0 -0
  48. {robotframework-7.0rc2 → robotframework-7.0.1}/CONTRIBUTING.rst +0 -0
  49. {robotframework-7.0rc2 → robotframework-7.0.1}/COPYRIGHT.txt +0 -0
  50. {robotframework-7.0rc2 → robotframework-7.0.1}/LICENSE.txt +0 -0
  51. {robotframework-7.0rc2 → robotframework-7.0.1}/MANIFEST.in +0 -0
  52. {robotframework-7.0rc2 → robotframework-7.0.1}/setup.cfg +0 -0
  53. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/__init__.py +0 -0
  54. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/__main__.py +0 -0
  55. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/api/__init__.py +0 -0
  56. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/api/deco.py +0 -0
  57. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/api/exceptions.py +0 -0
  58. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/api/logger.py +0 -0
  59. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/api/parsing.py +0 -0
  60. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/api/py.typed +0 -0
  61. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/conf/__init__.py +0 -0
  62. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/conf/gatherfailed.py +0 -0
  63. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/conf/settings.py +0 -0
  64. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/errors.py +0 -0
  65. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/__init__.py +0 -0
  66. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/common/__init__.py +0 -0
  67. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/common/js_disabled.css +0 -0
  68. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/common/storage.js +0 -0
  69. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/htmlfilewriter.py +0 -0
  70. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/jsonwriter.py +0 -0
  71. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/lib/__init__.py +0 -0
  72. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/lib/jquery.highlight.min.js +0 -0
  73. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/lib/jquery.min.js +0 -0
  74. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/lib/jquery.tablesorter.min.js +0 -0
  75. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/lib/jquery.tmpl.min.js +0 -0
  76. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/lib/jsxcompressor.min.js +0 -0
  77. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/libdoc/__init__.py +0 -0
  78. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/libdoc/doc_formatting.css +0 -0
  79. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/libdoc/libdoc.css +0 -0
  80. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/libdoc/libdoc.html +0 -0
  81. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/libdoc/print.css +0 -0
  82. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/libdoc/pygments.css +0 -0
  83. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/__init__.py +0 -0
  84. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/doc_formatting.css +0 -0
  85. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/fileloading.js +0 -0
  86. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/log.css +0 -0
  87. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/log.js +0 -0
  88. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/model.js +0 -0
  89. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/print.css +0 -0
  90. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/report.css +0 -0
  91. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/report.html +0 -0
  92. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/testdata.js +0 -0
  93. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/util.js +0 -0
  94. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/rebot/view.js +0 -0
  95. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/template.py +0 -0
  96. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/testdoc/__init__.py +0 -0
  97. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/testdoc/testdoc.css +0 -0
  98. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/htmldata/testdoc/testdoc.html +0 -0
  99. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdoc.py +0 -0
  100. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/__init__.py +0 -0
  101. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/builder.py +0 -0
  102. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/consoleviewer.py +0 -0
  103. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/datatypes.py +0 -0
  104. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/htmlutils.py +0 -0
  105. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/htmlwriter.py +0 -0
  106. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/jsonwriter.py +0 -0
  107. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/output.py +0 -0
  108. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/standardtypes.py +0 -0
  109. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/writer.py +0 -0
  110. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libdocpkg/xmlwriter.py +0 -0
  111. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/DateTime.py +0 -0
  112. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/Dialogs.py +0 -0
  113. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/Easter.py +0 -0
  114. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/OperatingSystem.py +0 -0
  115. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/Process.py +0 -0
  116. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/Remote.py +0 -0
  117. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/Screenshot.py +0 -0
  118. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/Telnet.py +0 -0
  119. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/libraries/__init__.py +0 -0
  120. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/body.py +0 -0
  121. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/control.py +0 -0
  122. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/fixture.py +0 -0
  123. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/itemlist.py +0 -0
  124. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/message.py +0 -0
  125. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/metadata.py +0 -0
  126. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/modelobject.py +0 -0
  127. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/modifier.py +0 -0
  128. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/namepatterns.py +0 -0
  129. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/statistics.py +0 -0
  130. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/stats.py +0 -0
  131. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/suitestatistics.py +0 -0
  132. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/tags.py +0 -0
  133. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/tagsetter.py +0 -0
  134. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/tagstatistics.py +0 -0
  135. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/testcase.py +0 -0
  136. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/testsuite.py +0 -0
  137. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/totalstatistics.py +0 -0
  138. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/model/visitor.py +0 -0
  139. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/__init__.py +0 -0
  140. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/console/__init__.py +0 -0
  141. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/console/dotted.py +0 -0
  142. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/console/highlighting.py +0 -0
  143. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/console/quiet.py +0 -0
  144. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/console/verbose.py +0 -0
  145. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/debugfile.py +0 -0
  146. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/filelogger.py +0 -0
  147. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/librarylogger.py +0 -0
  148. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/listeners.py +0 -0
  149. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/logger.py +0 -0
  150. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/loggerapi.py +0 -0
  151. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/loggerhelper.py +0 -0
  152. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/output.py +0 -0
  153. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/pyloggingconf.py +0 -0
  154. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/output/stdoutlogsplitter.py +0 -0
  155. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/__init__.py +0 -0
  156. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/lexer/__init__.py +0 -0
  157. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/lexer/blocklexers.py +0 -0
  158. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/lexer/context.py +0 -0
  159. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/lexer/lexer.py +0 -0
  160. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/lexer/settings.py +0 -0
  161. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/lexer/statementlexers.py +0 -0
  162. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/lexer/tokenizer.py +0 -0
  163. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/lexer/tokens.py +0 -0
  164. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/model/__init__.py +0 -0
  165. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/model/blocks.py +0 -0
  166. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/model/statements.py +0 -0
  167. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/model/visitor.py +0 -0
  168. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/parser/__init__.py +0 -0
  169. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/parser/blockparsers.py +0 -0
  170. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/parser/fileparser.py +0 -0
  171. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/parser/parser.py +0 -0
  172. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/parsing/suitestructure.py +0 -0
  173. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/pythonpathsetter.py +0 -0
  174. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/rebot.py +0 -0
  175. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/reporting/__init__.py +0 -0
  176. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/reporting/expandkeywordmatcher.py +0 -0
  177. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/reporting/jsbuildingcontext.py +0 -0
  178. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/reporting/jsexecutionresult.py +0 -0
  179. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/reporting/jsmodelbuilders.py +0 -0
  180. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/reporting/jswriter.py +0 -0
  181. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/reporting/outputwriter.py +0 -0
  182. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/reporting/resultwriter.py +0 -0
  183. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/reporting/stringcache.py +0 -0
  184. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/reporting/xunitwriter.py +0 -0
  185. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/__init__.py +0 -0
  186. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/configurer.py +0 -0
  187. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/executionerrors.py +0 -0
  188. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/executionresult.py +0 -0
  189. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/flattenkeywordmatcher.py +0 -0
  190. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/keywordremover.py +0 -0
  191. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/merger.py +0 -0
  192. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/messagefilter.py +0 -0
  193. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/modeldeprecation.py +0 -0
  194. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/resultbuilder.py +0 -0
  195. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/suiteteardownfailed.py +0 -0
  196. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/visitor.py +0 -0
  197. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/result/xmlelementhandlers.py +0 -0
  198. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/run.py +0 -0
  199. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/arguments/__init__.py +0 -0
  200. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/arguments/argumentconverter.py +0 -0
  201. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/arguments/argumentmapper.py +0 -0
  202. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/arguments/argumentparser.py +0 -0
  203. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/arguments/argumentspec.py +0 -0
  204. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/arguments/argumentvalidator.py +0 -0
  205. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/arguments/customconverters.py +0 -0
  206. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/arguments/embedded.py +0 -0
  207. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/arguments/typevalidator.py +0 -0
  208. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/builder/__init__.py +0 -0
  209. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/builder/builders.py +0 -0
  210. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/builder/parsers.py +0 -0
  211. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/builder/settings.py +0 -0
  212. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/context.py +0 -0
  213. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/dynamicmethods.py +0 -0
  214. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/importer.py +0 -0
  215. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/keywordfinder.py +0 -0
  216. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/keywordimplementation.py +0 -0
  217. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/librarykeywordrunner.py +0 -0
  218. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/libraryscopes.py +0 -0
  219. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/outputcapture.py +0 -0
  220. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/randomizer.py +0 -0
  221. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/runkwregister.py +0 -0
  222. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/signalhandler.py +0 -0
  223. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/status.py +0 -0
  224. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/statusreporter.py +0 -0
  225. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/suiterunner.py +0 -0
  226. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/testlibraries.py +0 -0
  227. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/timeouts/posix.py +0 -0
  228. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/running/timeouts/windows.py +0 -0
  229. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/testdoc.py +0 -0
  230. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/application.py +0 -0
  231. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/argumentparser.py +0 -0
  232. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/asserts.py +0 -0
  233. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/charwidth.py +0 -0
  234. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/compress.py +0 -0
  235. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/connectioncache.py +0 -0
  236. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/dotdict.py +0 -0
  237. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/encoding.py +0 -0
  238. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/encodingsniffer.py +0 -0
  239. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/error.py +0 -0
  240. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/escaping.py +0 -0
  241. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/etreewrapper.py +0 -0
  242. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/filereader.py +0 -0
  243. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/frange.py +0 -0
  244. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/htmlformatters.py +0 -0
  245. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/importer.py +0 -0
  246. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/markuputils.py +0 -0
  247. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/markupwriters.py +0 -0
  248. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/match.py +0 -0
  249. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/normalizing.py +0 -0
  250. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/platform.py +0 -0
  251. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/recommendations.py +0 -0
  252. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/restreader.py +0 -0
  253. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/robotenv.py +0 -0
  254. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/robotinspect.py +0 -0
  255. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/robotio.py +0 -0
  256. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/robotpath.py +0 -0
  257. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/robottime.py +0 -0
  258. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/robottypes.py +0 -0
  259. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/setter.py +0 -0
  260. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/sortable.py +0 -0
  261. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/text.py +0 -0
  262. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/typehints.py +0 -0
  263. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/utils/unic.py +0 -0
  264. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/variables/__init__.py +0 -0
  265. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/variables/assigner.py +0 -0
  266. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/variables/evaluation.py +0 -0
  267. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/variables/filesetter.py +0 -0
  268. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/variables/finders.py +0 -0
  269. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/variables/notfound.py +0 -0
  270. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/variables/replacer.py +0 -0
  271. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/variables/resolvable.py +0 -0
  272. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/variables/scopes.py +0 -0
  273. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/variables/search.py +0 -0
  274. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/variables/store.py +0 -0
  275. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/variables/tablesetter.py +0 -0
  276. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robot/variables/variables.py +0 -0
  277. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robotframework.egg-info/dependency_links.txt +0 -0
  278. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robotframework.egg-info/entry_points.txt +0 -0
  279. {robotframework-7.0rc2 → robotframework-7.0.1}/src/robotframework.egg-info/top_level.txt +0 -0
  280. {robotframework-7.0rc2 → 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.0rc2
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.0rc2.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.0rc2'
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 = ['偽', '無効', 'いいえ', 'オフ']
@@ -6,6 +6,7 @@
6
6
  --link-color: #15c;
7
7
  --link-hover-color: #61c;
8
8
  --highlight-color: #eee;
9
+ --target-color: #f9f9f9;
9
10
  --pass-color: #97bd61;
10
11
  --fail-color: #ce3e01;
11
12
  --warn-color: #fed84f;
@@ -28,6 +29,7 @@
28
29
  --link-color: #8cc4ff;
29
30
  --link-hover-color: #bb86fc;
30
31
  --highlight-color: #002b36;
32
+ --target-color: #1a252e;
31
33
  --pass-link-color: #97bd61;
32
34
  --warn-link-color: #fed84f;
33
35
  --fail-link-color: #ff9b8f;
@@ -343,3 +345,18 @@ th.stats-col-graph:hover {
343
345
  [data-theme="light"] .dark-mode-icon {
344
346
  display: block;
345
347
  }
348
+
349
+ @keyframes highlight {
350
+ 0% {
351
+ background: var(--primary-color)
352
+ }
353
+ 100% {
354
+ background: var(--target-color);
355
+ }
356
+ }
357
+
358
+ :target {
359
+ background: var(--target-color);
360
+ transition: background 0.3s;
361
+ animation: highlight 4s;
362
+ }
@@ -91,31 +91,6 @@ function drawErrorsRecursively(errors, target) {
91
91
  // Errors may have moved scroll position. Resetting location re-scrolls.
92
92
  if (window.location.hash)
93
93
  window.location.replace(window.location.hash);
94
- highlightLinkTarget();
95
- }
96
- }
97
-
98
- function highlightLinkTarget() {
99
- if (window.location.hash) {
100
- var target = $(window.location.hash);
101
- highlight(target);
102
- }
103
- }
104
-
105
- function highlight(element, color) {
106
- var darkMode = theme.getPreference() === 'dark';
107
- var startingColor = darkMode ? 52 : 242;
108
- var endingColor = darkMode ? 39 : 255;
109
-
110
- if (color === undefined)
111
- color = startingColor;
112
-
113
- if (color > endingColor) {
114
- element.css({'background-color': 'rgb('+color+','+color+','+color+')'});
115
- color = darkMode ? color - 2 : color + 2;
116
- setTimeout(function () { highlight(element, color); }, 300);
117
- } else {
118
- element.css({'background-color': ''});
119
94
  }
120
95
  }
121
96
 
@@ -133,7 +108,6 @@ function makeElementVisible(id) {
133
108
  expandFailed(window.testdata.findLoaded(util.last(ids)));
134
109
  window.location.hash = id;
135
110
  document.getElementById(id).scrollIntoView();
136
- highlightLinkTarget();
137
111
  }
138
112
  });
139
113
  }
@@ -109,7 +109,7 @@ class JsonDocBuilder:
109
109
  if data.get('typedoc'):
110
110
  type_docs[data['name']] = data['typedoc']
111
111
  nested = [self._parse_type_info(typ, type_docs) for typ in data.get('nested', ())]
112
- return TypeInfo(data['name'], None, nested=nested)
112
+ return TypeInfo(data['name'], None, nested=nested or None)
113
113
 
114
114
  def _parse_legacy_type_info(self, types):
115
115
  return TypeInfo.from_sequence(types) if types else None
@@ -212,5 +212,5 @@ class KeywordDoc(Sortable):
212
212
  return None
213
213
  return {'name': type.name,
214
214
  'typedoc': type_docs.get(type.name),
215
- 'nested': [self._type_to_dict(t, type_docs) for t in type.nested],
215
+ 'nested': [self._type_to_dict(t, type_docs) for t in type.nested or ()],
216
216
  'union': type.is_union}
@@ -89,7 +89,7 @@ class LibraryDocBuilder:
89
89
  def _yield_infos(self, info: TypeInfo):
90
90
  if not info.is_union:
91
91
  yield info
92
- for nested in info.nested:
92
+ for nested in info.nested or ():
93
93
  yield from self._yield_infos(nested)
94
94
 
95
95
 
@@ -119,7 +119,7 @@ class XmlDocBuilder:
119
119
  type_docs[name] = type_elem.get('typedoc')
120
120
  nested = [self._parse_type_info(child, type_docs)
121
121
  for child in type_elem.findall('type')]
122
- return TypeInfo(name, None, nested=nested)
122
+ return TypeInfo(name, None, nested=nested or None)
123
123
 
124
124
  def _parse_legacy_type_info(self, type_elems, type_docs):
125
125
  types = []
@@ -17,6 +17,7 @@ import difflib
17
17
  import re
18
18
  import time
19
19
  from collections import OrderedDict
20
+ from collections.abc import Sequence
20
21
 
21
22
  from robot.api import logger, SkipExecution
22
23
  from robot.api.deco import keyword
@@ -1540,12 +1541,15 @@ class _Variables(_BuiltInBase):
1540
1541
  value = variables[name]
1541
1542
  try:
1542
1543
  if name[0] == '@':
1543
- value = list(value)
1544
+ if isinstance(value, Sequence):
1545
+ value = list(value)
1546
+ else: # Don't consume iterables.
1547
+ name = '$' + name[1:]
1544
1548
  if name[0] == '&':
1545
1549
  value = OrderedDict(value)
1546
1550
  except RERAISED_EXCEPTIONS:
1547
1551
  raise
1548
- except:
1552
+ except Exception:
1549
1553
  name = '$' + name[1:]
1550
1554
  return name, value
1551
1555
 
@@ -3219,12 +3223,12 @@ class _Misc(_BuiltInBase):
3219
3223
  operating systems.
3220
3224
 
3221
3225
  It is possible to pass arguments to the imported library and also
3222
- named argument syntax works if the library supports it. ``WITH NAME``
3226
+ named argument syntax works if the library supports it. ``AS``
3223
3227
  syntax can be used to give a custom name to the imported library.
3224
3228
 
3225
3229
  Examples:
3226
3230
  | Import Library | MyLibrary |
3227
- | Import Library | ${CURDIR}/Lib.py | arg1 | named=arg2 | WITH NAME | Custom |
3231
+ | Import Library | ${CURDIR}/Lib.py | arg1 | named=arg2 | AS | Custom |
3228
3232
  """
3229
3233
  args, alias = self._split_alias(args)
3230
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')
@@ -644,9 +644,9 @@ class String:
644
644
 
645
645
  Examples:
646
646
  | ${ignore first} = | Get Substring | ${string} | 1 | |
647
- | ${ignore last} = | Get Substring | ${string} | | -1 |
647
+ | ${ignore last} = | Get Substring | ${string} | 0 | -1 |
648
648
  | ${5th to 10th} = | Get Substring | ${string} | 4 | 10 |
649
- | ${first two} = | Get Substring | ${string} | | 1 |
649
+ | ${first two} = | Get Substring | ${string} | 0 | 1 |
650
650
  | ${last two} = | Get Substring | ${string} | -2 | |
651
651
  """
652
652
  start = self._convert_to_index(start, 'start')
@@ -94,8 +94,6 @@ class XML:
94
94
  escaped by doubling it (``\\\\``). Using the built-in variable ``${/}``
95
95
  naturally works too.
96
96
 
97
- Note: Support for XML as bytes is new in Robot Framework 3.2.
98
-
99
97
  = Using lxml =
100
98
 
101
99
  By default, this library uses Python's standard
@@ -432,8 +430,6 @@ class XML:
432
430
  | `Parse XML` | ${XML} | keep_clark_notation=${EMPTY} | # Empty string is false. |
433
431
  | `Parse XML` | ${XML} | keep_clark_notation=${FALSE} | # Python ``False`` is false. |
434
432
 
435
- Considering ``OFF`` and ``0`` false is new in Robot Framework 3.1.
436
-
437
433
  == Pattern matching ==
438
434
 
439
435
  Some keywords, for example `Elements Should Match`, support so called
@@ -449,9 +445,6 @@ class XML:
449
445
  Unlike with glob patterns normally, path separator characters ``/`` and
450
446
  ``\\`` and the newline character ``\\n`` are matches by the above
451
447
  wildcards.
452
-
453
- Support for brackets like ``[abc]`` and ``[!a-z]`` is new in
454
- Robot Framework 3.1
455
448
  """
456
449
  ROBOT_LIBRARY_SCOPE = 'GLOBAL'
457
450
  ROBOT_LIBRARY_VERSION = get_version()
@@ -1316,6 +1309,8 @@ class XML:
1316
1309
  See also `Log Element` and `Save XML`.
1317
1310
  """
1318
1311
  source = self.get_element(source, xpath)
1312
+ if self.lxml_etree:
1313
+ source = self._ns_stripper.unstrip(source)
1319
1314
  string = self.etree.tostring(source, encoding='UTF-8').decode('UTF-8')
1320
1315
  string = re.sub(r'^<\?xml .*\?>', '', string).strip()
1321
1316
  if encoding:
@@ -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