Revision: 2838
Author: KariHusa
Date: Tue Apr 6 03:35:22 2010
Log: Initial tests for kwarg support, issue 215.
http://code.google.com/p/robotframework/source/detail?r=2838
Added:
/trunk/atest/robot/core/keywords/kwargs.txt
/trunk/atest/testdata/core/keywords/kwargs.txt
/trunk/atest/testresources/testlibs/KwargsLibrary.py
=======================================
--- /dev/null
+++ /trunk/atest/robot/core/keywords/kwargs.txt Tue Apr 6 03:35:22 2010
@@ -0,0 +1,22 @@
+*** Settings ***
+Suite Setup Run Tests ${EMPTY} core/keywords/kwargs.txt
+Force Tags regression pybot jybot
+Resource ../../../resources/resource.txt
+
+*** Test Cases ***
+
+Simple Kwarg
+ Check Test Case ${TESTNAME}
+
+Substitution Starts From The End
+ Check Test Case ${TESTNAME}
+
+Equals Sign In Kwarg Value
+ Check Test Case ${TESTNAME}
+
+Using non-existing kwarg
+ Check Test Case ${TESTNAME}
+
+Escaping Kwarg
+ Check Test Case ${TESTNAME}
+
=======================================
--- /dev/null
+++ /trunk/atest/testdata/core/keywords/kwargs.txt Tue Apr 6 03:35:22 2010
@@ -0,0 +1,39 @@
+*** Settings ***
+Library KwargsLibrary
+
+*** Test Cases ***
+Simple Kwarg
+ ${ret}= one kw arg foo=bar
+ should be equal ${ret} foo=bar
+ ${ret}= Two Kw Args fst=bar snd=quux
+ Should Be Equal ${ret} fst=bar, snd=quux
+ ${ret}= Two Kw Args snd=quux fst=bar
+ Should Be Equal ${ret} fst=bar, snd=quux
+
+Substitution Starts From The End
+ ${ret}= Four Kw Args a=foo bar d=quux
+ Should Be Equal ${ret} a=a=foo, b=bar, c=None, d=quux
+
+Equals Sign In Kwarg Value
+ ${ret}= one kw arg foo=bar=quux
+ should be equal ${ret} foo=bar=quux
+
+Using non-existing kwarg
+ ${ret}= one kw arg keijo=not kwarg
+ should be equal ${ret} foo=keijo=not kwarg
+
+Escaping Kwarg
+ ${ret}= one kw arg foo=bar\\=quux
+ should be equal ${ret} foo=bar\\=quux
+ ${ret}= one kw arg foo\\=bar
+ should be equal ${ret} foo=foo=bar
+
+Kwargs in User Keyword
+ ${ret}= Uk With Kwargs ukfoo=foo ukbar=Bar
+ Should Be Equal ${ret} ukfoo=foo, ukbar=Bar
+
+*** Keywords ***
+Uk With Kwargs
+ [arguments] ${ukfoo}= ${ukbar}=
+ [return] ukfoo=${ukfoo}, ukbar=${ukbar}
+
=======================================
--- /dev/null
+++ /trunk/atest/testresources/testlibs/KwargsLibrary.py Tue Apr 6
03:35:22 2010
@@ -0,0 +1,11 @@
+class KwargsLibrary(object):
+
+ def onekwarg(self, foo=None):
+ return 'foo=%s' % foo
+
+ def twokwargs(self, fst=None, snd=None):
+ return 'fst=%s, snd=%s' % (fst, snd)
+
+ def fourkwargs(self, a=None, b=None, c=None, d=None):
+ return 'a=%s, b=%s, c=%s, d=%s' % (a, b, c, d)
+