Revision: 3653
Author: pekka.klarck
Date: Fri May 28 16:05:30 2010
Log: After BuiltIn.log changes messages logged by Repeat Keyword itself are
logged as messages to it and not to keywords it executes. Much better that
way too.
http://code.google.com/p/robotframework/source/detail?r=3653
Added:
/trunk/atest/robot/standard_libraries/builtin/repeat_keyword.txt
/trunk/atest/testdata/standard_libraries/builtin/repeat_keyword.txt
Deleted:
/trunk/atest/robot/standard_libraries/builtin/repeat_keyword.html
/trunk/atest/testdata/standard_libraries/builtin/repeat_keyword.html
=======================================
--- /dev/null
+++ /trunk/atest/robot/standard_libraries/builtin/repeat_keyword.txt Fri
May 28 16:05:30 2010
@@ -0,0 +1,65 @@
+*** Settings ***
+Suite Setup Run Tests ${EMPTY}
standard_libraries/builtin/repeat_keyword.txt
+Force Tags pybot jybot regression
+Resource atest_resource.txt
+
+*** Test Cases ***
+Times As String
+ ${tc} = Check Test Case ${TEST NAME}
+ Check Repeated Messages ${tc.kws[0]} 2 Hello, repeating world!
+
+Times As Integer
+ ${tc} = Check Test Case ${TEST NAME}
+ Check Repeated Messages ${tc.kws[0]} 42 This works too!!
+
+Times With 'times' Postfix
+ ${tc} = Check Test Case ${TEST NAME}
+ Check Repeated Messages ${tc.kws[0]} 3 This is done 3 times
+ Check Repeated Messages ${tc.kws[1]} 2 Case and space insensitive
+
+Times With 'x' Postfix
+ ${tc} = Check Test Case ${TEST NAME}
+ Check Repeated Messages ${tc.kws[0]} 10 Close to old repeating
syntax
+ Check Repeated Messages ${tc.kws[1]} 1 Case and space
+
+Zero And Negative Times
+ ${tc} = Check Test Case ${TEST NAME}
+ Check Repeated Messages ${tc.kws[0]} 0
+ Check Repeated Messages ${tc.kws[2]} 0
+
+Invalid Times
+ Check Test Case Invalid Times 1
+ Check Test Case Invalid Times 2
+
+Repeat Keyword Arguments As Variables
+ ${tc} = Check Test Case ${TEST_NAME}
+ Check Repeated Keyword Name ${tc.kws[1]} 2 BuiltIn.Should Be Equal
+ Check Repeated Keyword Name ${tc.kws[3]} 42 BuiltIn.Should Be Equal
+ Check Repeated Keyword Name ${tc.kws[5]} 10 BuiltIn.No Operation
+ Check Repeated Keyword Name ${tc.kws[7]} 1 BuiltIn.Should Be Equal
+
+Repeated Keyword As Non-existing Variable
+ Check Test Case ${TEST_NAME}
+
+Argument To Repeated Keyword As Non-existing Variable
+ Check Test Case ${TEST_NAME}
+
+Repeated Keyword Failing
+ Check Test Case Repeated Keyword Failing Immediately
+ Check Test Case Repeated Keyword Failing On Third Round
+
+*** Keywords ***
+Check Repeated Messages
+ [Arguments] ${kw} ${count} ${msg}=${None}
+ Should Be Equal As Integers ${kw.kw_count} ${count}
+ :FOR ${i} IN RANGE ${count}
+ \ Check Log Message ${kw.msgs[${i}]} Repeating keyword, round
${i+1}/${count}
+ \ Check Log Message ${kw.kws[${i}].msgs[0]} ${msg}
+ Run Keyword If ${count} == 0 Check Log Message ${kw.msgs[0]}
Keyword 'This is not executed' repeated zero times
+ Run Keyword If ${count} != 0 Should Be Equal As Integers
${kw.msg_count} ${count}
+
+Check Repeated Keyword Name
+ [Arguments] ${kw} ${count} ${name}=${None}
+ Should Be Equal As Integers ${kw.kw_count} ${count}
+ :FOR ${i} IN RANGE ${count}
+ \ Should Be Equal ${kw.kws[${i}].name} ${name}
=======================================
--- /dev/null
+++ /trunk/atest/testdata/standard_libraries/builtin/repeat_keyword.txt Fri
May 28 16:05:30 2010
@@ -0,0 +1,65 @@
+*** Settings ***
+
+*** Variables ***
+${COUNT} 0
+
+*** Test Cases ***
+Times As String
+ Repeat Keyword 2 Log Hello, repeating world!
+
+Times As Integer
+ Repeat Keyword ${42} Log This works too!!
+
+Times With 'times' Postfix
+ Repeat Keyword 3 times Log This is done 3 times
+ Repeat Keyword 2TimeS Log Case and space insensitive
+
+Times With 'x' Postfix
+ Repeat Keyword 10 x Log Close to old repeating syntax
+ Repeat Keyword ${1}X Log Case and space
+
+Zero And Negative Times
+ Repeat Keyword 0 times This is not executed
+ ${name} = Set Variable This is not executed
+ Repeat Keyword ${-1} ${name} ${nonex}
+
+Invalid Times 1
+ [Documentation] FAIL STARTS: '1.3' cannot be converted to an integer:
ValueError:
+ Repeat Keyword ${1.3} Log Not an integer
+
+Invalid Times 2
+ [Documentation] FAIL STARTS: 'notaninteger' cannot be converted to an
integer: ValueError:
+ Repeat Keyword Not an integer No Operation
+
+Repeat Keyword Arguments As Variables
+ ${kw} ${arg} = Set Variable Should Be Equal Hello, world!
+ Repeat Keyword 2 times ${kw} ${arg} Hello, world!
+ ${escaped} = Set Variable \\ and \${notvar}
+ Repeat Keyword 42 times ${kw} ${escaped} \\ and \${notvar}
+ @{items} = Set Variable 10 times No Operation
+ Repeat Keyword @{items}
+ @{items} = Set Variable ${kw} ${escaped} \\ and \${notvar}
+ Repeat Keyword 1x @{items}
+
+Repeated Keyword As Non-existing Variable
+ [Documentation] FAIL Non-existing variable '\${non-existing}'.
+ Repeat Keyword 1 x ${non-existing}
+
+Argument To Repeated Keyword As Non-existing Variable
+ [Documentation] FAIL Non-existing variable '\${nonex}'.
+ Repeat Keyword 1 x Log ${nonex}
+
+Repeated Keyword Failing Immediately
+ [Documentation] FAIL Immediate failure
+ Repeat Keyword 1000 times Fail Immediate failure
+
+Repeated Keyword Failing On Third Round
+ [Documentation] FAIL '3 < 3' should be true
+ Repeat Keyword 1000 times Keyword Failing On Third Run
+
+*** Keywords ***
+Keyword Failing On Third Run
+ ${COUNT} = Evaluate ${COUNT} + 1
+ Should Be True ${COUNT} < 3
+ Set Suite Variable $COUNT
+
=======================================
--- /trunk/atest/robot/standard_libraries/builtin/repeat_keyword.html Thu
May 6 03:01:28 2010
+++ /dev/null
@@ -1,492 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="generator" content="RobotIDE">
-<style type="text/css">
-html {
- font-family: Arial,Helvetica,sans-serif;
- background-color: white;
- color: black;
-}
-p {
- max-width: 60em;
-}
-table {
- border-collapse: collapse;
- empty-cells: show;
- margin: 1em 0em;
- border: 0.1em solid black;
-}
-th, td {
- border-style: solid;
- border-width: 0.05em 0.1em;
- border-color: black;
- padding: 0.1em 0.2em;
- height: 1.5em;
-}
-th {
- background-color: rgb(192, 192, 192);
- color: black;
- border-width: 0.1em;
- font-weight: bold;
- text-align: center;
- text-transform: capitalize;
- letter-spacing: 0.1em;
-}
-/* Widths of named columns */
-col.name {
- width: 10em;
-}
-.action, .value, .arg {
- width: 15em;
-}
-/* Properties for the name column
-- td:first-child should work in CSS 2.1 avare browsers (tested in Firefox)
-- col.name is against specs but works in IE
-*/
-td:first-child, col.name {
- background-color: rgb(240, 240, 240);
- text-transform: capitalize;
- letter-spacing: 0.1em;
-}
-/* required for IE */
-th {
- font-style: normal;
-}
-</style>
-<title>Repeat Keyword</title></head>
-
-
-<body>
-<h1>Repeat Keyword</h1>
-
-<table border="1">
-<colgroup span="99"><col class="name"><col class="value"
span="4"></colgroup>
-<tbody><tr>
-<th>Setting</th>
-<th>Value</th>
-<th>Value</th>
-<th>Value</th>
-<th>Value</th>
-</tr>
-<tr>
-<td>Documentation</td>
-<td>\</td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td>Force Tags</td>
-<td>pybot</td>
-<td>jybot</td>
-<td>regression</td>
-<td></td>
-</tr>
-<tr>
-<td>Suite Setup</td>
-<td>Run Tests</td>
-<td></td>
-<td>standard_libraries/builtin/repeat_keyword.html</td>
-<td></td>
-</tr>
-<tr>
-<td>Resource</td>
-<td>atest_resource.txt</td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-</tbody></table>
-
-<table border="1">
-<colgroup span="99"><col class="name"><col class="value"
span="4"></colgroup>
-<tbody><tr>
-<th>Variable</th>
-<th>Value</th>
-<th>Value</th>
-<th>Value</th>
-<th>Value</th>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-</tbody></table>
-
-<table border="1">
-<colgroup span="99"><col class="name"><col class="action"><col class="arg"
span="3"></colgroup>
-<tbody><tr>
-<th>Test Case</th>
-<th>Action</th>
-<th>Argument</th>
-<th>Argument</th>
-<th>Argument</th>
-</tr>
-<tr>
-<td><a name="test_Times As String">Times As String</a></td>
-<td>${tc} =</td>
-<td>Check Test Case</td>
-<td>${TEST NAME}</td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>Check Repeated Messages</td>
-<td>${tc.kws[0]}</td>
-<td>2</td>
-<td>Hello, repeating world!</td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td><a name="test_Times As Integer">Times As Integer</a></td>
-<td>${tc} =</td>
-<td>Check Test Case</td>
-<td>${TEST NAME}</td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>Check Repeated Messages</td>
-<td>${tc.kws[0]}</td>
-<td>42</td>
-<td>This works too!!</td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td><a name="test_Times With 'times' Postfix">Times With 'times'
Postfix</a></td>
-<td>${tc} =</td>
-<td>Check Test Case</td>
-<td>${TEST NAME}</td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>Check Repeated Messages</td>
-<td>${tc.kws[0]}</td>
-<td>3</td>
-<td>This is done 3 times</td>
-</tr>
-<tr>
-<td></td>
-<td>Check Repeated Messages</td>
-<td>${tc.kws[1]}</td>
-<td>2</td>
-<td>Case and space insensitive</td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td><a name="test_Times With 'x' Postfix">Times With 'x' Postfix</a></td>
-<td>${tc} =</td>
-<td>Check Test Case</td>
-<td>${TEST NAME}</td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>Check Repeated Messages</td>
-<td>${tc.kws[0]}</td>
-<td>10</td>
-<td>Close to old repeating syntax</td>
-</tr>
-<tr>
-<td></td>
-<td>Check Repeated Messages</td>
-<td>${tc.kws[1]}</td>
-<td>1</td>
-<td>Case and space</td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td><a name="test_Zero And Negative Times">Zero And Negative Times</a></td>
-<td>${tc} =</td>
-<td>Check Test Case</td>
-<td>${TEST NAME}</td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>Check Repeated Messages</td>
-<td>${tc.kws[0]}</td>
-<td>0</td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>Check Repeated Messages</td>
-<td>${tc.kws[2]}</td>
-<td>0</td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td><a name="test_Invalid Times">Invalid Times</a></td>
-<td>Check Test Case</td>
-<td>Invalid Times 1</td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>Check Test Case</td>
-<td>Invalid Times 2</td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td><a name="test_Repeat Keyword Arguments As Variables">Repeat Keyword
Arguments As Variables</a></td>
-<td>${tc} =</td>
-<td>Check Test Case</td>
-<td>${TEST_NAME}</td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>Check Repeated Keyword Name</td>
-<td>${tc.kws[1]}</td>
-<td>2</td>
-<td>BuiltIn.Should Be Equal</td>
-</tr>
-<tr>
-<td></td>
-<td>Check Repeated Keyword Name</td>
-<td>${tc.kws[3]}</td>
-<td>42</td>
-<td>BuiltIn.Should Be Equal</td>
-</tr>
-<tr>
-<td></td>
-<td>Check Repeated Keyword Name</td>
-<td>${tc.kws[5]}</td>
-<td>10</td>
-<td>BuiltIn.No Operation</td>
-</tr>
-<tr>
-<td></td>
-<td>Check Repeated Keyword Name</td>
-<td>${tc.kws[7]}</td>
-<td>1</td>
-<td>BuiltIn.Should Be Equal</td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td><a name="test_Repeated Keyword As Non-existing Variable">Repeated
Keyword As Non-existing Variable</a></td>
-<td>Check Test Case</td>
-<td>${TEST_NAME}</td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td><a name="test_Argument To Repeated Keyword As Non-existing
Variable">Argument To Repeated Keyword As Non-existing Variable</a></td>
-<td>Check Test Case</td>
-<td>${TEST_NAME}</td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td><a name="test_Repeated Keyword Failing">Repeated Keyword
Failing</a></td>
-<td>Check Test Case</td>
-<td>Repeated Keyword Failing Immediately</td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>Check Test Case</td>
-<td>Repeated Keyword Failing On Third Round</td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-</tbody></table>
-
-<table border="1">
-<colgroup span="99"><col class="name"><col class="action"><col class="arg"
span="3"></colgroup>
-<tbody><tr>
-<th>Keyword</th>
-<th>Action</th>
-<th>Argument</th>
-<th>Argument</th>
-<th>Argument</th>
-</tr>
-<tr>
-<td><a name="keyword_Check Repeated Messages">Check Repeated
Messages</a></td>
-<td>[Arguments]</td>
-<td>${kw}</td>
-<td>${count}</td>
-<td>${msg}=${None}</td>
-</tr>
-<tr>
-<td></td>
-<td>Should Be Equal As Integers</td>
-<td>${kw.kw_count}</td>
-<td>${count}</td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>:: FOR</td>
-<td>${i}</td>
-<td>IN RANGE</td>
-<td>${count}</td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td>Check Log Message</td>
-<td>${kw.kws[${i}].msgs[0]}</td>
-<td>Repeating keyword, round ${i+1}/${count}</td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td>Check Log Message</td>
-<td>${kw.kws[${i}].msgs[1]}</td>
-<td>${msg}</td>
-</tr>
-<tr>
-<td></td>
-<td>Run Keyword If</td>
-<td>${count} == 0</td>
-<td>Check Log Message</td>
-<td>${kw.msgs[0]}</td>
-</tr>
-<tr>
-<td></td>
-<td>...</td>
-<td>Keyword 'This is not executed' repeated zero times</td>
-<td></td>
-<td></td>
-</tr>
-<tr><td></td><td>Run Keyword If</td><td>${count} != 0</td><td>Should Be
Equal As Integers</td><td>${kw.msg_count}</td></tr><tr>
-<td></td>
-<td>...</td>
-<td>0</td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td><a name="keyword_Check Repeated Keyword Name">Check Repeated Keyword
Name</a></td>
-<td>[Arguments]</td>
-<td>${kw}</td>
-<td>${count}</td>
-<td>${name}=${None}</td>
-</tr>
-<tr>
-<td></td>
-<td>Should Be Equal As Integers</td>
-<td>${kw.kw_count}</td>
-<td>${count}</td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>:: FOR</td>
-<td>${i}</td>
-<td>IN RANGE</td>
-<td>${count}</td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td>Should Be Equal</td>
-<td>${kw.kws[${i}].name}</td>
-<td>${name}</td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-</tbody></table>
-
-</body></html>
=======================================
--- /trunk/atest/testdata/standard_libraries/builtin/repeat_keyword.html
Wed May 26 23:39:53 2010
+++ /dev/null
@@ -1,504 +0,0 @@
-
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="generator" content="RobotIDE" />
-<style type="text/css">
-html {
- font-family: Arial,Helvetica,sans-serif;
- background-color: white;
- color: black;
-}
-p {
- max-width: 60em;
-}
-table {
- border-collapse: collapse;
- empty-cells: show;
- margin: 1em 0em;
- border: 0.1em solid black;
-}
-th, td {
- border-style: solid;
- border-width: 0.05em 0.1em;
- border-color: black;
- padding: 0.1em 0.2em;
- height: 1.5em;
-}
-th {
- background-color: rgb(192, 192, 192);
- color: black;
- border-width: 0.1em;
- font-weight: bold;
- text-align: center;
- text-transform: capitalize;
- letter-spacing: 0.1em;
-}
-/* Widths of named columns */
-col.name {
- width: 10em;
-}
-.action, .value, .arg {
- width: 15em;
-}
-/* Properties for the name column
-- td:first-child should work in CSS 2.1 avare browsers (tested in Firefox)
-- col.name is against specs but works in IE
-*/
-td:first-child, col.name {
- background-color: rgb(240, 240, 240);
- text-transform: capitalize;
- letter-spacing: 0.1em;
-}
-/* required for IE */
-th {
- font-style: normal;
-}
-</style>
-<title>Repeat Keyword</title>
-</head>
-<body>
-<h1>Repeat Keyword</h1>
-
-<table border="1">
-<colgroup span="99">
-<col class="name">
-<col class="value" span="4"></colgroup>
-<tr>
-<th>Setting</th>
-<th>Value</th>
-<th>Value</th>
-<th>Value</th>
-<th>Value</th>
-</tr>
-<tr>
-<td>Documentation</td>
-<td>\</td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-</table>
-
-<table border="1">
-<colgroup span="99">
-<col class="name">
-<col class="value" span="4"></colgroup>
-<tr>
-<th>Variable</th>
-<th>Value</th>
-<th>Value</th>
-<th>Value</th>
-<th>Value</th>
-</tr>
-<tr>
-<td>${COUNT}</td>
-<td>0</td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-</table>
-
-<table border="1">
-<colgroup span="99">
-<col class="name">
-<col class="action">
-<col class="arg" span="3"></colgroup>
-<tr>
-<th>Test Case</th>
-<th>Action</th>
-<th>Argument</th>
-<th>Argument</th>
-<th>Argument</th>
-</tr>
-<tr>
-<td><a name="test_Times As String">Times As String</a></td>
-<td>Repeat Keyword</td>
-<td>2</td>
-<td>Log</td>
-<td>Hello, repeating world!</td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td><a name="test_Times As Integer">Times As Integer</a></td>
-<td>Repeat Keyword</td>
-<td>${42}</td>
-<td>Log</td>
-<td>This works too!!</td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td><a name="test_Times With 'times' Postfix">Times With 'times'
Postfix</a></td>
-<td>Repeat Keyword</td>
-<td>3 times</td>
-<td>Log</td>
-<td>This is done 3 times</td>
-</tr>
-<tr>
-<td></td>
-<td>Repeat Keyword</td>
-<td>2TimeS</td>
-<td>Log</td>
-<td>Case and space insensitive</td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td><a name="test_Times With 'x' Postfix">Times With 'x' Postfix</a></td>
-<td>Repeat Keyword</td>
-<td>10 x</td>
-<td>Log</td>
-<td>Close to old repeating syntax</td>
-</tr>
-<tr>
-<td></td>
-<td>Repeat Keyword</td>
-<td>${1}X</td>
-<td>Log</td>
-<td>Case and space</td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td><a name="test_Zero And Negative Times">Zero And Negative Times</a></td>
-<td>Repeat Keyword</td>
-<td>0 times</td>
-<td>This is not executed</td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>${name} =</td>
-<td>Set Variable</td>
-<td>This is not executed</td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>Repeat Keyword</td>
-<td>${-1}</td>
-<td>${name}</td>
-<td>${nonex}</td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td><a name="test_Invalid Times 1">Invalid Times 1</a></td>
-<td>[Documentation]</td>
-<td>FAIL STARTS: '1.3' cannot be converted to an integer: ValueError:</td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>Repeat Keyword</td>
-<td>${1.3}</td>
-<td>Log</td>
-<td>Not an integer</td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td><a name="test_Invalid Times 2">Invalid Times 2</a></td>
-<td>[Documentation]</td>
-<td>FAIL STARTS: 'notaninteger' cannot be converted to an integer:
ValueError:</td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>Repeat Keyword</td>
-<td>Not an integer</td>
-<td>No Operation</td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td><a name="test_Repeat Keyword Arguments As Variables">Repeat Keyword
Arguments As Variables</a></td>
-<td>${kw}</td>
-<td>${arg} =</td>
-<td>Set Variable</td>
-<td>Should Be Equal</td>
-</tr>
-<tr>
-<td></td>
-<td>...</td>
-<td>Hello, world!</td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>Repeat Keyword</td>
-<td>2 times</td>
-<td>${kw}</td>
-<td>${arg}</td>
-</tr>
-<tr>
-<td></td>
-<td>...</td>
-<td>Hello, world!</td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>${escaped} =</td>
-<td>Set Variable</td>
-<td>\\ and \${notvar}</td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>Repeat Keyword</td>
-<td>42 times</td>
-<td>${kw}</td>
-<td>${escaped}</td>
-</tr>
-<tr>
-<td></td>
-<td>...</td>
-<td>\\ and \${notvar}</td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>@{items} =</td>
-<td>Set Variable</td>
-<td>10 times</td>
-<td>No Operation</td>
-</tr>
-<tr>
-<td></td>
-<td>Repeat Keyword</td>
-<td>@{items}</td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>@{items} =</td>
-<td>Set Variable</td>
-<td>${kw}</td>
-<td>${escaped}</td>
-</tr>
-<tr>
-<td></td>
-<td>...</td>
-<td>\\ and \${notvar}</td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>Repeat Keyword</td>
-<td>1x</td>
-<td>@{items}</td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td><a name="test_Repeated Keyword As Non-existing Variable">Repeated
Keyword As Non-existing Variable</a></td>
-<td>[Documentation]</td>
-<td>FAIL Non-existing variable '\${non-existing}'.</td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>Repeat Keyword</td>
-<td>1 x</td>
-<td>${non-existing}</td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td><a name="test_Argument To Repeated Keyword As Non-existing
Variable">Argument To Repeated Keyword As Non-existing Variable</a></td>
-<td>[Documentation]</td>
-<td>FAIL Non-existing variable '\${nonex}'.</td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>Repeat Keyword</td>
-<td>1 x</td>
-<td>Log</td>
-<td>${nonex}</td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td><a name="test_Repeated Keyword Failing Immediately">Repeated Keyword
Failing Immediately</a></td>
-<td>[Documentation]</td>
-<td>FAIL Immediate failure</td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>Repeat Keyword</td>
-<td>1000 times</td>
-<td>Fail</td>
-<td>Immediate failure</td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td><a name="test_Repeated Keyword Failing On Third Round">Repeated
Keyword Failing On Third Round</a></td>
-<td>[Documentation]</td>
-<td>FAIL '3 < 3' should be true</td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>Repeat Keyword</td>
-<td>1000 times</td>
-<td>Keyword Failing On Third Run</td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-</table>
-
-<table border="1">
-<colgroup span="99">
-<col class="name">
-<col class="action">
-<col class="arg" span="3"></colgroup>
-<tr>
-<th>Keyword</th>
-<th>Action</th>
-<th>Argument</th>
-<th>Argument</th>
-<th>Argument</th>
-</tr>
-<tr>
-<td><a name="keyword_Keyword Failing On Third Run">Keyword Failing On
Third Run</a></td>
-<td>${COUNT} =</td>
-<td>Evaluate</td>
-<td>${COUNT} + 1</td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>Should Be True</td>
-<td>${COUNT} < 3</td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>Set Suite Variable</td>
-<td>$COUNT</td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-</table>
-
-</body>
-</html>