2 new revisions:
Revision: 3206ecb960f5
Branch: default
Author: Jussi Malinen <[email protected]>
Date: Mon Dec 2 12:16:02 2013 UTC
Log: Document kwargs on java...
http://code.google.com/p/robotframework/source/detail?r=3206ecb960f5
Revision: f679db2110e7
Branch: default
Author: Jussi Malinen <[email protected]>
Date: Mon Dec 2 12:16:11 2013 UTC
Log: regen
http://code.google.com/p/robotframework/source/detail?r=f679db2110e7
==============================================================================
Revision: 3206ecb960f5
Branch: default
Author: Jussi Malinen <[email protected]>
Date: Mon Dec 2 12:16:02 2013 UTC
Log: Document kwargs on java
Update issue 1583
Document kwargs on java
http://code.google.com/p/robotframework/source/detail?r=3206ecb960f5
Modified:
/doc/userguide/src/ExtendingRobotFramework/CreatingTestLibraries.rst
=======================================
--- /doc/userguide/src/ExtendingRobotFramework/CreatingTestLibraries.rst
Fri Nov 29 22:29:06 2013 UTC
+++ /doc/userguide/src/ExtendingRobotFramework/CreatingTestLibraries.rst
Mon Dec 2 12:16:02 2013 UTC
@@ -722,8 +722,9 @@
:code:`**kwargs` syntax. How to use the syntax in the test data is
discussed
in `Free keyword arguments`_ section under `Creating test cases`_. In this
section we take a look at how to actually use it in custom test libraries.
-Because Java does not have similar keyword argument concept, this
functionality
-is only available with Python based libraries.
+
+Starting from Robot Framework 2.8.3, also Java libraries support the free
+keyword arguments.
If you are already familiar how kwargs work with Python, understanding how
they work with Robot Framework test libraries is rather simple. The example
@@ -735,7 +736,17 @@
for name, value in stuff.items():
print name, value
-.. table:: Using keywords with python :code:`**kwargs`
+
+Or the same in Java:
+
+.. sourcecode:: java
+
+ public void exampleKeyword(Map<String, Object> stuff):
+ for (String key: stuff.keySet())
+ System.out.println(key + " " + stuff.get(key));
+
+
+.. table:: Using keywords with :code:`**kwargs`
:class: example
==================== ================ ============== ==============
===========================
@@ -754,6 +765,8 @@
The following examples illustrate how normal arguments, varargs, and kwargs
work together.
+The example keyword in python:
+
.. sourcecode:: python
def various_args(arg, *varargs, **kwargs):
@@ -763,6 +776,18 @@
for name, value in kwargs.items():
print 'kwarg:', name, value
+and the same keyword implemented in java:
+
+.. sourcecode:: java
+
+ public void exampleKeyword(String arg, List<String> varargs,
Map<String, Object> kwargs):
+ System.out.println("arg:" + arg);
+ for (String varg: varargs)
+ System.out.println("vararg:" + varg);
+ for (String key: kwargs.keySet())
+ System.out.println(key + " " + kwargs.get(key));
+
+
.. table:: Using defaults, varargs, and kwargs together
:class: example
==============================================================================
Revision: f679db2110e7
Branch: default
Author: Jussi Malinen <[email protected]>
Date: Mon Dec 2 12:16:11 2013 UTC
Log: regen
http://code.google.com/p/robotframework/source/detail?r=f679db2110e7
Modified:
/doc/userguide/RobotFrameworkUserGuide.html
=======================================
--- /doc/userguide/RobotFrameworkUserGuide.html Mon Dec 2 09:19:06 2013 UTC
+++ /doc/userguide/RobotFrameworkUserGuide.html Mon Dec 2 12:16:11 2013 UTC
@@ -13011,9 +13011,9 @@
<p>Robot Framework 2.8 added the support for free keyword arguments using
Python's
<span class="code">**kwargs</span> syntax. How to use the syntax in the
test data is discussed
in <a class="reference internal" href="#free-keyword-arguments">Free
keyword arguments</a> section under <a class="reference internal"
href="#creating-test-cases">Creating test cases</a>. In this
-section we take a look at how to actually use it in custom test libraries.
-Because Java does not have similar keyword argument concept, this
functionality
-is only available with Python based libraries.</p>
+section we take a look at how to actually use it in custom test
libraries.</p>
+<p>Starting from Robot Framework 2.8.3, also Java libraries support the
free
+keyword arguments.</p>
<p>If you are already familiar how kwargs work with Python, understanding
how
they work with Robot Framework test libraries is rather simple. The example
below shows the basic functionality.</p>
@@ -13021,8 +13021,13 @@
<span class="k">for</span> <span class="n">name</span><span
class="p">,</span> <span class="n">value</span> <span class="ow">in</span>
<span class="n">stuff</span><span class="o">.</span><span
class="n">items</span><span class="p">():</span>
<span class="k">print</span> <span class="n">name</span><span
class="p">,</span> <span class="n">value</span>
</pre></div>
+<p>Or the same in Java:</p>
+<div class="highlight"><pre><span class="kd">public</span> <span
class="kt">void</span> <span class="nf">exampleKeyword</span><span
class="o">(</span><span class="n">Map</span><span
class="o"><</span><span class="n">String</span><span class="o">,</span>
<span class="n">Object</span><span class="o">></span> <span
class="n">stuff</span><span class="o">):</span>
+ <span class="k">for</span> <span class="o">(</span><span
class="n">String</span> <span class="nl">key:</span> <span
class="n">stuff</span><span class="o">.</span><span
class="na">keySet</span><span class="o">())</span>
+ <span class="n">System</span><span class="o">.</span><span
class="na">out</span><span class="o">.</span><span
class="na">println</span><span class="o">(</span><span class="n">key</span>
<span class="o">+</span> <span class="s">" "</span> <span
class="o">+</span> <span class="n">stuff</span><span
class="o">.</span><span class="na">get</span><span class="o">(</span><span
class="n">key</span><span class="o">));</span>
+</pre></div>
<table border="1" class="example docutils">
-<caption>Using keywords with python <span
class="code">**kwargs</span></caption>
+<caption>Using keywords with <span class="code">**kwargs</span></caption>
<colgroup>
<col width="22%" />
<col width="18%" />
@@ -13060,6 +13065,7 @@
like <span class="code">foo\=quux</span>.</p>
<p>The following examples illustrate how normal arguments, varargs, and
kwargs
work together.</p>
+<p>The example keyword in python:</p>
<div class="highlight"><pre><span class="k">def</span> <span
class="nf">various_args</span><span class="p">(</span><span
class="n">arg</span><span class="p">,</span> <span class="o">*</span><span
class="n">varargs</span><span class="p">,</span> <span
class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
<span class="k">print</span> <span
class="s">'arg:'</span><span class="p">,</span> <span
class="n">arg</span>
<span class="k">for</span> <span class="n">value</span> <span
class="ow">in</span> <span class="n">varargs</span><span class="p">:</span>
@@ -13067,6 +13073,14 @@
<span class="k">for</span> <span class="n">name</span><span
class="p">,</span> <span class="n">value</span> <span class="ow">in</span>
<span class="n">kwargs</span><span class="o">.</span><span
class="n">items</span><span class="p">():</span>
<span class="k">print</span> <span
class="s">'kwarg:'</span><span class="p">,</span> <span
class="n">name</span><span class="p">,</span> <span class="n">value</span>
</pre></div>
+<p>and the same keyword implemented in java:</p>
+<div class="highlight"><pre><span class="kd">public</span> <span
class="kt">void</span> <span class="nf">exampleKeyword</span><span
class="o">(</span><span class="n">String</span> <span
class="n">arg</span><span class="o">,</span> <span
class="n">List</span><span class="o"><</span><span
class="n">String</span><span class="o">></span> <span
class="n">varargs</span><span class="o">,</span> <span
class="n">Map</span><span class="o"><</span><span
class="n">String</span><span class="o">,</span> <span
class="n">Object</span><span class="o">></span> <span
class="n">kwargs</span><span class="o">):</span>
+ <span class="n">System</span><span class="o">.</span><span
class="na">out</span><span class="o">.</span><span
class="na">println</span><span class="o">(</span><span
class="s">"arg:"</span> <span class="o">+</span> <span
class="n">arg</span><span class="o">);</span>
+ <span class="k">for</span> <span class="o">(</span><span
class="n">String</span> <span class="nl">varg:</span> <span
class="n">varargs</span><span class="o">)</span>
+ <span class="n">System</span><span class="o">.</span><span
class="na">out</span><span class="o">.</span><span
class="na">println</span><span class="o">(</span><span
class="s">"vararg:"</span> <span class="o">+</span> <span
class="n">varg</span><span class="o">);</span>
+ <span class="k">for</span> <span class="o">(</span><span
class="n">String</span> <span class="nl">key:</span> <span
class="n">kwargs</span><span class="o">.</span><span
class="na">keySet</span><span class="o">())</span>
+ <span class="n">System</span><span class="o">.</span><span
class="na">out</span><span class="o">.</span><span
class="na">println</span><span class="o">(</span><span class="n">key</span>
<span class="o">+</span> <span class="s">" "</span> <span
class="o">+</span> <span class="n">kwargs</span><span
class="o">.</span><span class="na">get</span><span class="o">(</span><span
class="n">key</span><span class="o">));</span>
+</pre></div>
<table border="1" class="example docutils">
<caption>Using defaults, varargs, and kwargs together</caption>
<colgroup>
@@ -17670,7 +17684,7 @@
<div class="footer">
<hr class="footer" />
<p>Generated by <a class="reference external"
href="http://docutils.sourceforge.net/rst.html">reStructuredText</a>.
Syntax highlighting by <a class="reference external"
href="http://pygments.org/">Pygments</a>.</p>
-<p>Generated on: 2013-12-02 09:16 UTC.
+<p>Generated on: 2013-12-02 12:14 UTC.
</p>
</div>
--
---
You received this message because you are subscribed to the Google Groups "robotframework-commit" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.