summaryrefslogtreecommitdiffstatshomepage
path: root/tests/basics/fun-defargs.py
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-02-01 15:05:04 +0200
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-02-01 15:38:22 +0200
commit90750029df8d7fd24600cc4fe4c98a5b80731f28 (patch)
tree7e04bc8f0a079b79a7efcd634615ef3204f3f0ac /tests/basics/fun-defargs.py
parent532f2c30f66c9ff1e4f2aded29b98ba0db5ec341 (diff)
downloadmicropython-90750029df8d7fd24600cc4fe4c98a5b80731f28.tar.gz
micropython-90750029df8d7fd24600cc4fe4c98a5b80731f28.zip
Implement default function arguments (for Python functions).
TODO: Decide if we really need separate bytecode for creating functions with default arguments - we would need same for closures, then there're keywords arguments too. Having all combinations is a small exponential explosion, likely we need just 2 cases - simplest (no defaults, no kw), and full - defaults & kw.
Diffstat (limited to 'tests/basics/fun-defargs.py')
-rw-r--r--tests/basics/fun-defargs.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/basics/fun-defargs.py b/tests/basics/fun-defargs.py
new file mode 100644
index 0000000000..0666b8c494
--- /dev/null
+++ b/tests/basics/fun-defargs.py
@@ -0,0 +1,20 @@
+def fun1(val=5):
+ print(5)
+
+fun1()
+fun1(10)
+
+def fun2(p1, p2=100, p3="foo"):
+ print(p1, p2, p3)
+
+fun2(1)
+fun2(1, None)
+fun2(0, "bar", 200)
+try:
+ fun2()
+except TypeError:
+ print("TypeError")
+try:
+ fun2(1, 2, 3, 4)
+except TypeError:
+ print("TypeError")