content
diff --git a/test/markups/README.creole.html b/test/markups/README.creole.html
index ec67cd0f..cc16572f 100644
--- a/test/markups/README.creole.html
+++ b/test/markups/README.creole.html
@@ -1,8 +1,4 @@
-
H1
H2
paragraph of text that will be turned into a paragraph element. It can go over several lines with line breaks, it will be turned into a contiguous paragraph element.
You can force a linebreak in your paragraph text
thusly.
-- a list element
-
-- 2nd list element
-
pre formatted text
+H1
H2
paragraph of text that will be turned into a paragraph element. It can go over several lines with line breaks, it will be turned into a contiguous paragraph element.
You can force a linebreak in your paragraph text
thusly.
- a list element
- 2nd list element
pre formatted text
$ ls -la
total 56
diff --git a/test/markups/README.directives.rst.html b/test/markups/README.directives.rst.html
index f42c58f2..1af38ee9 100644
--- a/test/markups/README.directives.rst.html
+++ b/test/markups/README.directives.rst.html
@@ -34,9 +34,9 @@ Introduction
.. github display [on | off]
-If you pass this the "on" value, then all unknown directives
+
If you pass this the "on" value, then all unknown directives
will be displayed as literal code blocks. If you pass this
-the "off" value, then unknown directives will not be displayed.
+the "off" value, then unknown directives will not be displayed.
In addition to controlling the display of literal code blocks,
this also allows you to show comments specifically for github.
For example, somebody could place this at the top of their file:
diff --git a/test/markups/README.litcoffee.html b/test/markups/README.litcoffee.html
index 3245a0b5..4c777cda 100644
--- a/test/markups/README.litcoffee.html
+++ b/test/markups/README.litcoffee.html
@@ -3,11 +3,11 @@ Literate CoffeeScript Test
Taken from https://github.com/jashkenas/coffee-script/blob/master/test/literate.litcoffee
comment comment
-test "basic literate CoffeeScript parsing", ->
+test "basic literate CoffeeScript parsing", ->
ok yes
now with a...
-test "broken up indentation", ->
+test "broken up indentation", ->
... broken up ...
do ->
@@ -16,14 +16,14 @@ Literate CoffeeScript Test
ok yes
Code must be separated from text by a blank line.
-test "code blocks must be preceded by a blank line", ->
+test "code blocks must be preceded by a blank line", ->
The next line is part of the text and will not be executed.
fail()
ok yes
Code in backticks is not parsed and...
-test "comments in indented blocks work", ->
+test "comments in indented blocks work", ->
do ->
do ->
# Regular comment.
@@ -51,5 +51,5 @@ Literate CoffeeScript Test
Tabs work too:
-test "tabbed code", ->
+
test "tabbed code", ->
ok yes
\ No newline at end of file
diff --git a/test/markups/README.long.rst.html b/test/markups/README.long.rst.html
index 7f9e1ac3..ca55a291 100644
--- a/test/markups/README.long.rst.html
+++ b/test/markups/README.long.rst.html
@@ -6,43 +6,40 @@ Robot Framework 7.0
Robot Framework 7.0 was released on Thursday January 11, 2024. Questions and comments
related to the release can be sent to the #devel channel on Robot Framework Slack
and possible bugs submitted to the issue tracker.
-
+
@@ -93,12 +90,12 @@
Support keywords and control structures with listener version 3
def start_keyword(data: running.Keyword, result: result.Keyword):
- print(f"Keyword '{result.full_name}' used on line {data.lineno} started.")
+ print(f"Keyword '{result.full_name}' used on line {data.lineno} started.")
def end_while(data: running.While, result: result.While):
- print(f"WHILE loop on line {data.lineno} ended with status {result.status} "
- f"after {len(result.body)} iterations.")
+ print(f"WHILE loop on line {data.lineno} ended with status {result.status} "
+ f"after {len(result.body)} iterations.")
With keyword calls it is possible to also get more information about the actually
executed keyword. For example, the following listener prints some information
@@ -112,10 +109,10 @@
Support keywords and control structures with listener version 3
implementation: LibraryKeyword,
result: KeywordResult):
library = implementation.owner
- print(f"Keyword '{implementation.name}' is implemented in library "
- f"'{library.name}' at '{implementation.source}' on line "
- f"{implementation.lineno}. The library has {library.scope.name} "
- f"scope and the current instance is {library.instance}.")
+ print(f"Keyword '{implementation.name}' is implemented in library "
+ f"'{library.name}' at '{implementation.source}' on line "
+ f"{implementation.lineno}. The library has {library.scope.name} "
+ f"scope and the current instance is {library.instance}.")
As the above example already illustrated, it is even possible to get an access to
the actual library instance. This means that listeners can inspect the library
@@ -144,26 +141,25 @@
Listener version 3 is the default listener version
version 2, but we nevertheless highly recommend using the version 3 whenever
possible.
-
Libraries can register themselves as listeners by using string SELF
-
+
Libraries can register themselves as listeners by using string SELF
Listeners are typically enabled from the command line, but libraries
can register listeners as well. Often libraries themselves want to act
-as listeners, and that has earlier required using self.ROBOT_LIBRARY_LISTENER = self
+as listeners, and that has earlier required using self.ROBOT_LIBRARY_LISTENER = self
in the __init__ method. Robot Framework 7.0 makes it possible to use string
SELF (case-insensitive) for this purpose as well (#4910), which means
that a listener can be specified as a class attribute and not only in __init__.
-This is especially convenient when using the @library decorator:
+This is especially convenient when using the
@library decorator:
from robot.api.deco import keyword, library
-@library(listener='SELF')
+@library(listener='SELF')
class Example:
def start_suite(self, data, result):
...
- @keyword
+ @keyword
def example(self, arg):
...
@@ -208,7 +204,7 @@
When creating ${scalar} variables having long values, it is possible to split
the value to multiple lines. Lines are joined together with a space by default,
but that can be changed with the separator configuration option. Similarly as
-in the Variables section, it is possible to create also @{list} and &{dict}
+in the Variables section, it is possible to create also @{list} and &{dict}
variables. Unlike in the Variables section, variables can be created conditionally
using IF/ELSE structures:
@@ -228,7 +224,7 @@
List
# Creates a list with three items.
- VAR @{list} a b c
+ VAR @{list} a b c
Dictionary
# Creates a dictionary with two items.
@@ -253,7 +249,7 @@
can be passed in as normal arguments. This is illustrated by the following example
keyword:
-@keyword('Number of ${animals} should be')
+@keyword('Number of ${animals} should be')
def example(animals, count):
...
@@ -298,8 +294,7 @@
can use to avoid converting arguments manually and to get more useful Libdoc
documentation. There are two important new enhancements to it.
-Support for Literal
-
+Support for Literal
In Python, the Literal type makes it possible to type arguments so that type
checkers accept only certain values. For example, this function only accepts
strings x, y and z:
@@ -312,7 +307,7 @@ Support for Literal
example, using a keyword with the above implementation with a value xxx would
fail.
In addition to validation, arguments are also converted. For example, if an
-argument accepts Literal[-1, 0, 1], used arguments are converted to
+argument accepts Literal[-1, 0, 1], used arguments are converted to
integers and then validated. In addition to that, string matching is case, space,
underscore and hyphen insensitive. In all cases exact matches have a precedence
and the argument that is passed to the keyword is guaranteed to be in the exact
@@ -321,14 +316,13 @@
Support for Literal
Framework has supported for long time. Enum conversion has benefits like
being able to use a custom documentation and it is typically better when using
the same type multiple times. In simple cases being able to just use
-arg: Literal[...] without defining a new type is very convenient, though.
+arg: Literal[...] without defining a new type is very convenient, though.
-Support "stringified" types like 'list[int]' and 'int | float'
-
+Support "stringified" types like 'list[int]' and 'int | float'
Python's type hinting syntax has evolved so that generic types can be parameterized
like list[int] (new in Python 3.9) and unions written as int | float
(new in Python 3.10). Using these constructs with older Python versions causes
-errors, but Python type checkers support also "stringified" type hints like
+errors, but Python type checkers support also "stringified" type hints like
'list[int]' and 'int | float' that work regardless the Python version.
Support for stringified generics and unions has now been added also to
Robot Framework's argument conversion (#4711). For example,
@@ -438,12 +432,12 @@
Timestamp related changes
Examples:
<!-- Old format -->
-<msg timestamp="20231108 15:36:34.278" level="INFO">Hello world!</msg>
-<status status="PASS" starttime="20231108 15:37:35.046" endtime="20231108 15:37:35.046"/>
+<msg timestamp="20231108 15:36:34.278" level="INFO">Hello world!</msg>
+<status status="PASS" starttime="20231108 15:37:35.046" endtime="20231108 15:37:35.046"/>
<!-- New format -->
-<msg time="2023-11-08T15:36:34.278343" level="INFO">Hello world!</msg>
-<status status="PASS" start="2023-11-08T15:37:35.046153" elapsed="0.000161"/>
+<msg time="2023-11-08T15:36:34.278343" level="INFO">Hello world!</msg>
+<status status="PASS" start="2023-11-08T15:37:35.046153" elapsed="0.000161"/>
The new format is standard compliant, contains more detailed times, makes the elapsed
time directly available and makes the <status> elements over 10% shorter.
@@ -464,12 +458,12 @@
Keyword name related changes
Examples:
<!-- Old format -->
-<kw name="Log" library="BuiltIn">...</kw>
-<kw name="Number of horses should be" sourcename="Number of ${animals} should be" library="my_resource">...</kw>
+<kw name="Log" library="BuiltIn">...</kw>
+<kw name="Number of horses should be" sourcename="Number of ${animals} should be" library="my_resource">...</kw>
<!-- New format -->
-<kw name="Log" owner="BuiltIn">...</kw>
-<kw name="Number of horses should be" source_name="Number of ${animals} should be" owner="my_resource">...</kw>
+<kw name="Log" owner="BuiltIn">...</kw>
+<kw name="Number of horses should be" source_name="Number of ${animals} should be" owner="my_resource">...</kw>
Other changes
@@ -503,10 +497,8 @@ Changes related to keyword names
Old kwname is renamed to name. This is consistent with the execution side Keyword.
Old libname is renamed to generic owner.
New full_name is introduced to replace the old name.
-
-sourcename is renamed to source_name.
-
-kwname, libname and sourcename are preserved as properties. They are considered
+sourcename is renamed to source_name.
+
kwname, libname and sourcename are preserved as properties. They are considered
deprecated, but accessing them does not cause a deprecation warning yet.
The backwards incompatible part of this change is changing the meaning of the
@@ -519,16 +511,11 @@
Deprecated attributes have been removed
The following attributes that were deprecated already in Robot Framework 4.0
have been removed (#4846):
--
-
TestSuite.keywords. Use TestSuite.setup and TestSuite.teardown instead.
--
-
TestCase.keywords. Use TestCase.body, TestCase.setup and TestCase.teardown instead.
--
-
Keyword.keywords. Use Keyword.body and Keyword.teardown instead.
--
-
Keyword.children. Use Keyword.body and Keyword.teardown instead.
--
-
TestCase.critical. The whole criticality concept has been removed.
+TestSuite.keywords. Use TestSuite.setup and TestSuite.teardown instead.
+TestCase.keywords. Use TestCase.body, TestCase.setup and TestCase.teardown instead.
+Keyword.keywords. Use Keyword.body and Keyword.teardown instead.
+Keyword.children. Use Keyword.body and Keyword.teardown instead.
+TestCase.critical. The whole criticality concept has been removed.
Additionally, TestSuite.keywords and TestCase.keywords have been removed
from the execution model.
@@ -536,8 +523,7 @@
Deprecated attributes have been removed
There have been some changes also to the parsing model:
--
-
The node representing the deprecated [Return] setting has been renamed from
+
The node representing the deprecated [Return] setting has been renamed from
Return to ReturnSetting. At the same time, the node representing the
RETURN statement has been renamed from ReturnStatement to Return (#4939).
To ease transition, ReturnSetting has existed as an alias for Return starting
@@ -548,18 +534,15 @@
newer. Issue #4939 explains this in more detail and has a concrete example
how to support also older Robot Framework versions.
--
-
The node representing the Test Tags setting as well as the deprecated
+
The node representing the Test Tags setting as well as the deprecated
Force Tags setting has been renamed from ForceTags to TestTags (#4385).
ModelVisitor has special handling for the visit_ForceTags method so
that it will continue to work also after the change.
--
-
The token type used with AS (or WITH NAME) in library imports has been changed
+
The token type used with AS (or WITH NAME) in library imports has been changed
to Token.AS (#4375). Token.WITH_NAME still exists as an alias for Token.AS.
--
-
Statement type and tokens have been moved from _fields to _attributes (#4912).
+
Statement type and tokens have been moved from _fields to _attributes (#4912).
This may affect debugging the model.
@@ -567,14 +550,12 @@
The following deprecated constructs have been removed from Libdoc spec files (#4667):
--
-
datatypes have been removed from XML or JSON spec files. They were deprecated in
+ datatypes have been removed from XML or JSON spec files. They were deprecated in
favor of typedocs already in Robot Framework 5.0 (#4160).
- Type names are not anymore written to XML specs as content of the
<type> elements.
The name is available as the name attribute of <type> elements since
Robot Framework 6.1 (#4538).
--
-
types and typedocs attributes have been removed from arguments in JSON specs.
+ types and typedocs attributes have been removed from arguments in JSON specs.
The type attribute introduced in RF 6.1 (#4538) needs to be used instead.
Libdoc schema files have been updated and can be found via
@@ -599,25 +580,23 @@
When type hints are specified as strings, they must use format type, type[param],
type[p1, p2] or t1 | t2 (#4711). Using other formats will cause errors taking
keywords into use. In practice problems occur if the special characters [, ], ,
-and | occur in unexpected places. For example, arg: "Hello, world!" will cause
+and | occur in unexpected places. For example, arg: "Hello, world!" will cause
an error due to the comma.
-
-datetime, date and timedelta objects are sent over the Remote interface
+datetime, date and timedelta objects are sent over the Remote interface
differently than earlier (#4784). They all used to be converted to strings, but
nowadays datetime is sent as-is, date is converted to datetime and sent like
that, and timedelta is converted to a float by using timedelta.total_seconds().
Argument conversion support with collections.abc.ByteString has been removed (#4983).
The reason is that ByteString is deprecated and will be removed in Python 3.14.
It has not been too often needed, but if you happen to use it, you can change
-arg: ByteString to arg: bytes | bytearray and the functionality
+arg: ByteString to arg: bytes | bytearray and the functionality
stays exactly the same.
Paths passed to result file related listener version 3 methods like output_file
and log_file have been changed from strings to pathlib.Path objects (#4988).
Most of the time both kinds of paths work interchangeably, so this change is unlikely
to cause issues. If you need to handle these paths as strings, they can be converted
by using str(path).
-
-robot.utils.normalize does not anymore support bytes (#4936).
+
robot.utils.normalize does not anymore support bytes (#4936).
Deprecated accept_plain_values argument has been removed from the
timestr_to_secs utility function (#4861).
@@ -626,7 +605,7 @@
The [Return] setting for specifying the return value from user keywords has
-been "loudly" deprecated (#4876). It has been "silently" deprecated since
+been "loudly" deprecated (#4876). It has been "silently" deprecated since
Robot Framework 5.0 when the much more versatile RETURN setting was introduced
(#4078), but now using it will cause a deprecation warning. The plan is to
preserve the [Return] setting at least until Robot Framework 8.0.
@@ -652,13 +631,11 @@
-starttime, endtime and elapsed time attributes in the result model have been
+starttime, endtime and elapsed time attributes in the result model have been
silently deprecated (#4258). Accessing them does not yet cause a deprecation
warning, but users are recommended to use start_time, end_time and
elapsed_time attributes that are available since Robot Framework 6.1.
-
-kwname, libname and sourcename attributes used by the Keyword object
+kwname, libname and sourcename attributes used by the Keyword object
in the result model have been silently deprecated (#4884). New code should use
name, owner and source_name instead.
@@ -677,8 +654,7 @@
have been deprecated (
#4501). If you need some of these utils, you can copy
their code to your own tool or library. This change may affect existing
libraries and tools in the ecosystem.
-
-case_insensitive and whitespace_insensitive arguments used by some
+case_insensitive and whitespace_insensitive arguments used by some
Collections and String library keywords have been deprecated in favor of
ignore_case and ignore_whitespace. The new arguments were added for
consistency reasons (#4954) and the old arguments will continue to work
@@ -696,29 +672,22 @@
Janne Härkönen (part time).
In addition to work done by them, the community has provided some great contributions:
--
-Ygor Pontelo added async support to the
+
- Ygor Pontelo added async support to the
dynamic and hybrid library APIs (#4803) and fixed a bug with handling async
keywords when execution is stopped gracefully (#4808).
--
-Topi 'top1' Tuulensuu fixed a performance regression
+
- Topi 'top1' Tuulensuu fixed a performance regression
when using
Run Keyword so that the name of the executed keyword contains a variable
(#4659).
--
-Pasi Saikkonen added dark mode to reports
+
- Pasi Saikkonen added dark mode to reports
and logs (#3725).
--
-René added return type information to Libdoc's
+
- René added return type information to Libdoc's
HTML output (#3017), fixed
DotDict equality comparisons (#4956) and
helped finalizing the dark mode support (#3725).
--
-Robin added type hints to modules that
+
- Robin added type hints to modules that
did not yet have them under the public
robot.api package (#4841).
--
-Mark Moberts added case-insensitive list and
+
- Mark Moberts added case-insensitive list and
dictionary comparison support to the Collections library (#4343).
--
-Daniel Biehl enhanced performance of traversing
+
- Daniel Biehl enhanced performance of traversing
the parsing model using
ModelVisitor (#4934).
Big thanks to Robot Framework Foundation, to community members listed above, and to
@@ -740,560 +709,449 @@
-
-| ID |
+
| ID |
Type |
Priority |
Summary |
-
-| #3296 |
+
| #3296 |
enhancement |
critical |
Support keywords and control structures with listener version 3 |
-
-| #3761 |
+
| #3761 |
enhancement |
critical |
Native VAR syntax to create variables inside tests and keywords |
-
-| #4294 |
+
| #4294 |
enhancement |
critical |
Drop Python 3.6 and 3.7 support |
-
-| #4710 |
+
| #4710 |
enhancement |
critical |
Support library keywords with both embedded and normal arguments |
-
-| #4847 |
+
| #4847 |
enhancement |
critical |
Support JSON serialization with result model |
-
-| #4659 |
+
| #4659 |
bug |
high |
Performance regression when using Run Keyword and keyword name contains a variable |
-
-| #4921 |
+
| #4921 |
bug |
high |
-Log levels don't work correctly with robot:flatten
- |
+Log levels don't work correctly with robot:flatten |
-
-| #3725 |
+
| #3725 |
enhancement |
high |
Support dark theme with report and log |
-
-| #4258 |
+
| #4258 |
enhancement |
high |
Change timestamps from custom strings to datetime in result model and to ISO 8601 format in output.xml |
-
-| #4374 |
+
| #4374 |
enhancement |
high |
Support removing tags set globally by using -tag syntax with [Tags] setting |
-
-| #4633 |
+
| #4633 |
enhancement |
high |
-Automatic argument conversion and validation for Literal
- |
+Automatic argument conversion and validation for Literal |
-
-| #4711 |
+
| #4711 |
enhancement |
high |
Support type aliases in formats 'list[int]' and 'int | float' in argument conversion |
-
-| #4803 |
+
| #4803 |
enhancement |
high |
Async support to dynamic and hybrid library APIs |
-
-| #4808 |
+
| #4808 |
bug |
medium |
Async keywords are not stopped when execution is stopped gracefully |
-
-| #4859 |
+
| #4859 |
bug |
medium |
Parsing errors in reStructuredText files have no source |
-
-| #4880 |
+
| #4880 |
bug |
medium |
Initially empty test fails even if pre-run modifier adds content to it |
-
-| #4886 |
+
| #4886 |
bug |
medium |
-
-Set Variable If is slow if it has several conditions |
+Set Variable If is slow if it has several conditions |
-
-| #4898 |
+
| #4898 |
bug |
medium |
Resolving special variables can fail with confusing message |
-
-| #4915 |
+
| #4915 |
bug |
medium |
-
-cached_property attributes are called when importing library |
+cached_property attributes are called when importing library |
-
-| #4924 |
+
| #4924 |
bug |
medium |
WHILE on_limit missing from listener v2 attributes |
-
-| #4926 |
+
| #4926 |
bug |
medium |
-WHILE and TRY content are not removed with --removekeywords all
- |
+WHILE and TRY content are not removed with --removekeywords all |
-
-| #4945 |
+
| #4945 |
bug |
medium |
-
-TypedDict with forward references do not work in argument conversion |
+TypedDict with forward references do not work in argument conversion |
-
-| #4956 |
+
| #4956 |
bug |
medium |
-DotDict behaves inconsistent on equality checks. x == y != not x != y and not x != y == not x == y
- |
+DotDict behaves inconsistent on equality checks. x == y != not x != y and not x != y == not x == y |
-
-| #4964 |
+
| #4964 |
bug |
medium |
Variables set using Set Suite Variable with children=True cannot be properly overwritten |
-
-| #4980 |
+
| #4980 |
bug |
medium |
-DateTime library uses deprecated datetime.utcnow()
- |
+DateTime library uses deprecated datetime.utcnow() |
-
-| #4999 |
+
| #4999 |
bug |
medium |
XML Library: Double namespace during Element To String |
-
-| #5005 |
+
| #5005 |
bug |
medium |
-
-Log Variables should not consume iterables |
+Log Variables should not consume iterables |
-
-| #3017 |
+
| #3017 |
enhancement |
medium |
Add return type to Libdoc specs and HTML output |
-
-| #4103 |
+
| #4103 |
enhancement |
medium |
-Process: Change the default stdin behavior from subprocess.PIPE to None
- |
+Process: Change the default stdin behavior from subprocess.PIPE to None |
-
-| #4302 |
+
| #4302 |
enhancement |
medium |
Remove Reserved library |
-
-| #4343 |
+
| #4343 |
enhancement |
medium |
Collections: Support case-insensitive list and dictionary comparisons |
-
-| #4375 |
+
| #4375 |
enhancement |
medium |
-Change token type of AS (or WITH NAME) used with library imports to Token.AS
- |
+Change token type of AS (or WITH NAME) used with library imports to Token.AS |
-
-| #4385 |
+
| #4385 |
enhancement |
medium |
-Change the parsing model object produced by Test Tags (and Force Tags) to TestTags
- |
+Change the parsing model object produced by Test Tags (and Force Tags) to TestTags |
-
-| #4432 |
+
| #4432 |
enhancement |
medium |
Loudly deprecate singular section headers |
-
-| #4501 |
+
| #4501 |
enhancement |
medium |
Loudly deprecate old Python 2/3 compatibility layer and other deprecated utils |
-
-| #4524 |
+
| #4524 |
enhancement |
medium |
Loudly deprecate variables used as embedded arguments not matching custom patterns |
-
-| #4545 |
+
| #4545 |
enhancement |
medium |
-Support creating assigned variable name based on another variable like ${${var}} = Keyword
- |
+Support creating assigned variable name based on another variable like ${${var}} = Keyword |
-
-| #4667 |
+
| #4667 |
enhancement |
medium |
Remove deprecated constructs from Libdoc spec files |
-
-| #4685 |
+
| #4685 |
enhancement |
medium |
Deprecate SHORTEST mode being default with FOR IN ZIP loops |
-
-| #4708 |
+
| #4708 |
enhancement |
medium |
Use assing, not variable, with FOR and TRY/EXCEPT model objects when referring to assigned variables |
-
-| #4720 |
+
| #4720 |
enhancement |
medium |
Require --suite parent.suite to match the full suite name |
-
-| #4721 |
+
| #4721 |
enhancement |
medium |
Change behavior of --test and --include so that they are cumulative |
-
-| #4747 |
+
| #4747 |
enhancement |
medium |
Support [Setup] with user keywords |
-
-| #4784 |
+
| #4784 |
enhancement |
medium |
Remote: Enhance datetime, date and timedelta conversion |
-
-| #4841 |
+
| #4841 |
enhancement |
medium |
-Add typing to all modules under robot.api
- |
+Add typing to all modules under robot.api |
-
-| #4846 |
+
| #4846 |
enhancement |
medium |
Result model: Loudly deprecate not needed attributes and remove already deprecated ones |
-
-| #4872 |
+
| #4872 |
enhancement |
medium |
Control continue-on-failure mode by using recursive and non-recursive tags together |
-
-| #4876 |
+
| #4876 |
enhancement |
medium |
Loudly deprecate [Return] setting |
-
-| #4877 |
+
| #4877 |
enhancement |
medium |
-XML: Support ignoring element order with Elements Should Be Equal
- |
+XML: Support ignoring element order with Elements Should Be Equal |
-
-| #4883 |
+
| #4883 |
enhancement |
medium |
Result model: Add message to keywords and control structures and remove doc from controls |
-
-| #4884 |
+
| #4884 |
enhancement |
medium |
Result model: Enhance storing keyword name |
-
-| #4896 |
+
| #4896 |
enhancement |
medium |
Support separator=<value> configuration option with scalar variables in Variables section |
-
-| #4903 |
+
| #4903 |
enhancement |
medium |
Support argument conversion and named arguments with dynamic variable files |
-
-| #4905 |
+
| #4905 |
enhancement |
medium |
Support creating variable name based on another variable like ${${VAR}} in Variables section |
-
-| #4910 |
+
| #4910 |
enhancement |
medium |
Make listener v3 the default listener API |
-
-| #4912 |
+
| #4912 |
enhancement |
medium |
-Parsing model: Move type and tokens from _fields to _attributes
- |
+Parsing model: Move type and tokens from _fields to _attributes |
-
-| #4930 |
+
| #4930 |
enhancement |
medium |
BuiltIn: New Reset Log Level keyword for resetting the log level to the original value |
-
-| #4939 |
+
| #4939 |
enhancement |
medium |
-Parsing model: Rename Return to ReturnSetting and ReturnStatement to Return
- |
+Parsing model: Rename Return to ReturnSetting and ReturnStatement to Return |
-
-| #4942 |
+
| #4942 |
enhancement |
medium |
Add public argument conversion API for libraries and other tools |
-
-| #4952 |
+
| #4952 |
enhancement |
medium |
Collections: Make ignore_order and ignore_keys recursive |
-
-| #4960 |
+
| #4960 |
enhancement |
medium |
-Support integer conversion with strings representing whole number floats like '1.0' and '2e10'
- |
+Support integer conversion with strings representing whole number floats like '1.0' and '2e10' |
-
-| #4976 |
+
| #4976 |
enhancement |
medium |
Support string SELF (case-insenstive) when library registers itself as listener |
-
-| #4979 |
+
| #4979 |
enhancement |
medium |
Add robot.result.TestSuite.to/from_xml methods |
-
-| #4982 |
+
| #4982 |
enhancement |
medium |
DateTime: Support datetime.date as an input format with date related keywords |
-
-| #4983 |
+
| #4983 |
enhancement |
medium |
-Type conversion: Remove support for deprecated ByteString
- |
+Type conversion: Remove support for deprecated ByteString |
-
-| #5000 |
+
| #5000 |
enhancement |
medium |
Nicer API for setting keyword call arguments programmatically |
-
-| #4934 |
+
| #4934 |
--- |
medium |
Enhance performance of visiting parsing model |
-
-| #4621 |
+
| #4621 |
bug |
low |
OperatingSystem library docs have broken link / title |
-
-| #4798 |
+
| #4798 |
bug |
low |
-
---removekeywords passed doesn't remove test setup and teardown |
+--removekeywords passed doesn't remove test setup and teardown |
-
-| #4867 |
+
| #4867 |
bug |
low |
Original order of dictionaries is not preserved when they are pretty printed in log messages |
-
-| #4870 |
+
| #4870 |
bug |
low |
User keyword teardown missing from running model JSON schema |
-
-| #4904 |
+
| #4904 |
bug |
low |
Importing static variable file with arguments does not fail |
-
-| #4913 |
+
| #4913 |
bug |
low |
Trace log level logs arguments twice for embedded arguments |
-
-| #4927 |
+
| #4927 |
bug |
low |
WARN level missing from the log level selector in log.html |
-
-| #4967 |
+
| #4967 |
bug |
low |
Variables are not resolved in keyword name in WUKS error message |
-
-| #4861 |
+
| #4861 |
enhancement |
low |
Remove deprecated accept_plain_values from timestr_to_secs utility function |
-
-| #4862 |
+
| #4862 |
enhancement |
low |
Deprecate elapsed_time_to_string accepting time as milliseconds |
-
-| #4864 |
+
| #4864 |
enhancement |
low |
Process: Make warning about processes hanging if output buffers get full more visible |
-
-| #4885 |
+
| #4885 |
enhancement |
low |
Add full_name to replace longname to suite and test objects |
-
-| #4900 |
+
| #4900 |
enhancement |
low |
Make keywords and control structures in log look more like original data |
-
-| #4922 |
+
| #4922 |
enhancement |
low |
Change the log level of Set Log Level message from INFO to DEBUG |
-
-| #4933 |
+
| #4933 |
enhancement |
low |
Type conversion: Ignore hyphens when matching enum members |
-
-| #4935 |
+
| #4935 |
enhancement |
low |
Use casefold, not lower, when comparing strings case-insensitively |
-
-| #4936 |
+
| #4936 |
enhancement |
low |
Remove bytes support from robot.utils.normalize function |
-
-| #4954 |
+
| #4954 |
enhancement |
low |
-Collections and String: Add ignore_case as alias for case_insensitive
- |
+Collections and String: Add ignore_case as alias for case_insensitive |
-
-| #4958 |
+
| #4958 |
enhancement |
low |
Document robot_running and dry_run_active properties of the BuiltIn library in the User Guide |
-
-| #4975 |
+
| #4975 |
enhancement |
low |
-Support times and x suffixes with WHILE limit to make it more compatible with Wait Until Keyword Succeeds
- |
+Support times and x suffixes with WHILE limit to make it more compatible with Wait Until Keyword Succeeds |
-
-| #4988 |
+
| #4988 |
enhancement |
low |
Change paths passed to listener v3 methods to pathlib.Path instances |
diff --git a/test/markups/README.mediawiki.html b/test/markups/README.mediawiki.html
index e92accfd..12768dc6 100644
--- a/test/markups/README.mediawiki.html
+++ b/test/markups/README.mediawiki.html
@@ -1,9 +1,9 @@
-» JRuby Project Wiki Home Page
-
Embedding JRuby
+» JRuby Project Wiki Home Page
+
Embedding JRuby
Using Java from Ruby is JRuby's best-known feature---but you can also go in the other direction, and use Ruby from Java. There are several different ways to do this. You can execute entire Ruby scripts, call individual Ruby methods, or even implement a Java interface in Ruby (thus allowing you to treat Ruby objects like Java ones). We refer to all these techniques generically as "embedding." This section will explain how to embed JRuby in your Java project.
-
-
-Table of Contents
+
+
-
+
-Red Bridge (JRuby Embed)
+Red Bridge (JRuby Embed)
one-<two
- a-b
-
-JRuby has long had a private embedding API, which was closely tied to the runtime's internals and therefore changed frequently as JRuby evolved. Since version 1.4, however, we have also provided a more stable public API, known as Red Bridge or JRuby Embed. Existing Java programs written to the legacy API should still work, but we strongly recommend Red Bridge for all new projects.
+ a-b
+
+JRuby has long had a private embedding API, which was closely tied to the runtime's internals and therefore changed frequently as JRuby evolved. Since version 1.4, however, we have also provided a more stable public API, known as Red Bridge or JRuby Embed. Existing Java programs written to the legacy API should still work, but we strongly recommend Red Bridge for all new projects.
-Features of Red Bridge
+Features of Red Bridge
-Red Bridge consists of two layers: Embed Core on the bottom, and implementations of JSR223 and BSF on top. Embed Core is JRuby-specific, and can take advantage of much of JRuby's power. JSR223 and BSF are more general interfaces that provide a common ground across scripting languages.
+ Red Bridge consists of two layers: Embed Core on the bottom, and implementations of JSR223 and BSF on top. Embed Core is JRuby-specific, and can take advantage of much of JRuby's power. JSR223 and BSF are more general interfaces that provide a common ground across scripting languages.
Which API should you use? For projects where Ruby is the only scripting language involved, we recommend Embed Core for the following reasons:
-
+
- With Embed Core, you can create several Ruby environments in one JVM, and configure them individually (via
org.jruby.RubyInstanceConfig. With the other APIs, configuration options can only be set globally, via the System properties.
- Embed Core offers several shortcuts, such as loading scripts from a
java.io.InputStream, or returning Java-friendly objects from Ruby code. These allow you to skip a lot of boilerplate.
For projects requiring multiple scripting languages, JSR223 is a good fit. Though the API is language-independent, JRuby's implementation of it allows you to set some Ruby-specific options. In particular, you can control the threading model of the scripting engine, the lifetime of local variables, compilation mode, and how line numbers are displayed.
-
-The full API documentation has all the gory details. It's worth talking about a couple of the finer points here.
+
+The full API documentation has all the gory details. It's worth talking about a couple of the finer points here.
-Previous Embedding JRuby Page
+Previous Embedding JRuby Page
-We recommend using Embed Core; however, if you're maintaining code that uses the old API, you can find its documentation on the legacy embedding[1] page.
+ We recommend using Embed Core; however, if you're maintaining code that uses the old API, you can find its documentation on the legacy embedding[1] page.
-References
+References
--
-^ This link goes nowhere.
\ No newline at end of file
+-
+^ This link goes nowhere.
\ No newline at end of file
diff --git a/test/markups/README.org.html b/test/markups/README.org.html
index 458024af..c3909dfa 100644
--- a/test/markups/README.org.html
+++ b/test/markups/README.org.html
@@ -1,28 +1,19 @@
org-ruby
-1 Description
+1 Description
Helpful Ruby routines for parsing orgmode files. The most
significant thing this library does today is convert orgmode files
to textile. Currently, you cannot do much to customize the
conversion. The supplied textile conversion is optimized for
- extracting “content” from the orgfile as opposed to “metadata.”
-2 History
-2.1 2014-02-08: Version 0.9.0
+ extracting “content” from the orgfile as opposed to “metadata.”
+2 History
+2.1 2014-02-08: Version 0.9.0
- - Let’s make sure
#+INCLUDE: is not supported
+ - Let’s make sure
#+INCLUDE: is not supported
- And confirm that syntax highlight is supported
@@ -30,18 +21,18 @@ 2.1 2014-02-08: Version 0.9.0
module GitHub
module Markup
- VERSION = 'test'
+ VERSION = 'test'
Version = VERSION
end
end
-2.2 2009-12-30: Version 0.5.1
+2.2 2009-12-30: Version 0.5.1
- - Minor enhancement: Recognize lines starting with “:” as examples.
+ - Minor enhancement: Recognize lines starting with “:” as examples.
- Minor enhancement: Recognize #+BEGIN_SRC as source blocks
- - Minor enhancement: Add “src” and “example” classes to <pre> blocks.
+ - Minor enhancement: Add “src” and “example” classes to <pre> blocks.
-2.3 2009-12-30: Version 0.5.0
+2.3 2009-12-30: Version 0.5.0
- Parse (but not necessarily use) in-buffer settings. The following
in-buffer settings are used:
@@ -56,7 +47,7 @@
2.3 2009-12-30: Version 0.5.0
the tree to export
- - Rewrite “file:(blah).org” links to “http:(blah).html” links. This
+
- Rewrite “file:(blah).org” links to “http:(blah).html” links. This
makes the inter-links to other org-mode files work.
- Uses <th> tags inside table rows that precede table separators.
- Bugfixes:
@@ -65,7 +56,7 @@
2.3 2009-12-30: Version 0.5.0
-2.4 2009-12-29: Version 0.4.2
+2.4 2009-12-29: Version 0.4.2
- Got rid of the extraneous newline at the start of code blocks.
- Everything now shows up in code blocks, even org-mode metadata.
@@ -76,59 +67,59 @@ 2.4 2009-12-29: Version 0.4.2
-2.5 2009-12-29: Version 0.4.1
+2.5 2009-12-29: Version 0.4.1
- HTML is now escaped by default
- org-mode comments will show up in a code block.
-2.6 2009-12-29: Version 0.4
+2.6 2009-12-29: Version 0.4
-2.7 2009-12-27: Version 0.3
+2.7 2009-12-27: Version 0.3
- - Uses rubypants to get better typography (smart quotes, ellipses, etc…).
+ - Uses rubypants to get better typography (smart quotes, ellipses, etc…).
- Fixed bugs:
- Tables and lists did not get properly closed at the end of file
- - You couldn’t do inline formatting inside table cells
+ - You couldn’t do inline formatting inside table cells
- Characters in PRE blocks were not HTML escaped.
-2.8 2009-12-26: Version 0.2
+2.8 2009-12-26: Version 0.2
- Added
to_html output on the parser.
- Added support for the full range of inline markup: bold,
- italic,
code, verbatim, underline, strikethrough.
+ italic, code, verbatim, underline, strikethrough.
- Lots of refactoring to make the code more maintainable.
-2.9 2009-12-23: Version 0.1
+2.9 2009-12-23: Version 0.1
- Added support for block code, like this:
def flush!
- @logger.debug "FLUSH ==========> #{@output_type}"
+ @logger.debug "FLUSH ==========> #{@output_type}"
if (@output_type == :blank) then
- @output << "\n"
+ @output << "\n"
elsif (@buffer.length > 0) then
if @cancel_modifier then
- @output << "p. " if @output_type == :paragraph
+ @output << "p. " if @output_type == :paragraph
@cancel_modifier = false
end
@output << @paragraph_modifier if (@paragraph_modifier and not sticky_modifier?)
- @output << @buffer.textile_substitution << "\n"
+ @output << @buffer.textile_substitution << "\n"
end
- @buffer = ""
+ @buffer = ""
end
diff --git a/test/markups/README.pod.html b/test/markups/README.pod.html
index 63caf6bc..96f2cf2b 100644
--- a/test/markups/README.pod.html
+++ b/test/markups/README.pod.html
@@ -1,46 +1,42 @@
-Matrixy
+Matrixy
-INTRODUCTION
+INTRODUCTION
This is a port of the MATLAB/Octave programming language to Parrot. See the ROADMAP file for more information on the status of this project, and what else needs to be done.
-ABOUT
+ABOUT
Primary goals are:
-IMPLEMENTATION
+IMPLEMENTATION
This project is broken into three primary components:
--
-
The first is the parser, located in the src/parser/ directory. The parser proper is composed of three source files, grammar.pg which is a Perl6Grammar file, and actions.pm which is the associated actions file written in NQP, and grammar-oper.pm which is the operator precedence parser. In addition, several helper functions used by the parser are located in src/internals.
+ The first is the parser, located in the src/parser/ directory. The parser proper is composed of three source files, grammar.pg which is a Perl6Grammar file, and actions.pm which is the associated actions file written in NQP, and grammar-oper.pm which is the operator precedence parser. In addition, several helper functions used by the parser are located in src/internals.
--
-
The second component is the library of builtin functions in the src/builtins/ directory. These functions are, currently, written primarily in PIR. Function names prefixed with an underscore are "private" functions for use with the parser. Other functions should have names which are the same as names for regular MATLAB or Octave functions, since they will be available to the HLL. These are also separated into different namespaces depending on visibility and utility.
+ The second component is the library of builtin functions in the src/builtins/ directory. These functions are, currently, written primarily in PIR. Function names prefixed with an underscore are "private" functions for use with the parser. Other functions should have names which are the same as names for regular MATLAB or Octave functions, since they will be available to the HLL. These are also separated into different namespaces depending on visibility and utility.
--
-
A number of library functions are written in M, or mostly M with some inline PIR code in toolbox/.
+ A number of library functions are written in M, or mostly M with some inline PIR code in toolbox/.
-DEPENDENCIES
+DEPENDENCIES
Matrixy depends on these dependencies:
-Parrot
+Parrot
To get a proper version of Parrot to build Matrixy, you will need to check out and build Parrot from source:
@@ -49,28 +45,28 @@ Parrot
perl Configure.pl
make && make test && make install-dev
-Parrot-Linear-Algebra
+Parrot-Linear-Algebra
The linear algebra package for Parrot is available separately and provides functionality required by Matrixy. This includes matrix data types and matrix manipulation libraries
-BUILDING
+BUILDING
Once all dependencies are in place, you can build Matrixy using this sequence of commands:
perl Configure.pl
nmake test
-TODO
+TODO
* Parser
* Standard Builtins
* Test against Octave Test Suite.
-BUGS
+BUGS
Lots!
-CONTACT
+
If you need to contact the Matrixy team, go to the project home page at:
diff --git a/test/markups/README.rdoc.html b/test/markups/README.rdoc.html
index 93770dde..996dc23e 100644
--- a/test/markups/README.rdoc.html
+++ b/test/markups/README.rdoc.html
@@ -1,12 +1,9 @@
-
This is an absolute link. So is this: github.com
-This is a relative link. So is this: rawr.html
\ No newline at end of file
+This is a relative link. So is this: rawr.html
\ No newline at end of file
diff --git a/test/markups/README.rst.html b/test/markups/README.rst.html
index 7a0f8327..a3b5e4b0 100644
--- a/test/markups/README.rst.html
+++ b/test/markups/README.rst.html
@@ -1,11 +1,11 @@
Header 1
-Subtitle
+Subtitle
Example text.
-
+
@@ -19,42 +19,34 @@
The UTF-8 quote character in this table used to cause python to go boom. Now docutils just silently ignores it.
-Things that are Awesome (on a scale of 1-11)
+Things that are Awesome (on a scale of 1-11)
-
-| Thing |
+ | Thing |
Awesomeness |
-
-| Icecream |
+ | Icecream |
7 |
-
-| Honey Badgers |
+ | Honey Badgers |
10.5 |
-
-| Nickelback |
+ | Nickelback |
-2 |
-
-| Iron Man |
+ | Iron Man |
10 |
-
-| Iron Man 2 |
+ | Iron Man 2 |
3 |
-
-| Tabular Data |
+ | Tabular Data |
5 |
-
-| Made up ratings |
+ | Made up ratings |
11 |
@@ -82,24 +74,19 @@
-
-| Travis |
+ | Travis |
http://travis-ci.org/tony/pullv |
-
-| Docs |
+ | Docs |
http://pullv.rtfd.org |
-
-| API |
+ | API |
http://pullv.readthedocs.org/en/latest/api.html |
-
-| Issues |
+ | Issues |
https://github.com/tony/pullv/issues |
-
-| Source |
+ | Source |
https://github.com/tony/pullv |
@@ -115,25 +102,17 @@
| 123456789 123456789 123456789 123456789 123456789 1: |
-
-| |
-Uh-oh! This name is too long! |
+ | | Uh-oh! This name is too long! |
-
-| 123456789 123456789 123456789 123456789 1234567890: |
-this is a long name,
+ | | 123456789 123456789 123456789 123456789 1234567890: | this is a long name,
but no problem! |
-
-| 123456789 12345: |
-this is not so long, but long enough for the default! |
+ | 123456789 12345: | this is not so long, but long enough for the default! |
-
-| 123456789 1234: |
-this should work even with the default :) |
+ | 123456789 1234: | this should work even with the default :) |
- someone@somewhere.org
+ someone@somewhere.org
Press Ctrl+C to quit
- RAW HTML! p {color:blue;}
\ No newline at end of file
+ RAW HTML!
\ No newline at end of file
diff --git a/test/markups/README.rst.txt.html b/test/markups/README.rst.txt.html
index 6d5d0675..0accc78e 100644
--- a/test/markups/README.rst.txt.html
+++ b/test/markups/README.rst.txt.html
@@ -13,24 +13,19 @@ Header 2
-
-| Travis |
+ | Travis |
http://travis-ci.org/tony/pullv |
-
-| Docs |
+ | Docs |
http://pullv.rtfd.org |
-
-| API |
+ | API |
http://pullv.readthedocs.org/en/latest/api.html |
-
-| Issues |
+ | Issues |
https://github.com/tony/pullv/issues |
-
-| Source |
+ | Source |
https://github.com/tony/pullv |
diff --git a/test/markups/README.toc.asciidoc.html b/test/markups/README.toc.asciidoc.html
index 4e32869a..a692ce33 100644
--- a/test/markups/README.toc.asciidoc.html
+++ b/test/markups/README.toc.asciidoc.html
@@ -1,16 +1,14 @@
Document Title
-
- Contents
+
- Section A
+ Section A
- Subsection A-1
+Subsection A-1
- Subsection A-2
+Subsection A-2
- Section B
+ Section B
- Subsection B-1
+Subsection B-1
- Subsection B-2
+Subsection B-2
diff --git a/test/markups/README.toc.rst.html b/test/markups/README.toc.rst.html
index c5b3ecbb..8e37a9e4 100644
--- a/test/markups/README.toc.rst.html
+++ b/test/markups/README.toc.rst.html
@@ -1,23 +1,22 @@
-
+
- 1 Introduction
+ 1 Introduction
- 1.1 What is pycparser?
+ 1.1 What is pycparser?
pycparser is a parser for the C language, written in pure Python. It is a
module designed to be easily integrated into applications that need to parse
C source code.
- 1.2 What is it good for?
+ 1.2 What is it good for?
Anything that needs C code to be parsed. The following are some uses for
pycparser, taken from real user reports:
|