summaryrefslogtreecommitdiffstatshomepage
path: root/tests/basics
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2016-05-07 22:02:46 +0100
committerDamien George <damien.p.george@gmail.com>2016-05-07 22:02:46 +0100
commit470c429ee126dee1742d0e83480b3187a7ce0170 (patch)
tree1c9c11edb9a8e9819a289162073ef5a4b1926797 /tests/basics
parent12dd8df3756d58af2f4d1f54eefd90f1ce1e0dbe (diff)
downloadmicropython-470c429ee126dee1742d0e83480b3187a7ce0170.tar.gz
micropython-470c429ee126dee1742d0e83480b3187a7ce0170.zip
py/runtime: Properly handle passing user mappings to ** keyword args.
Diffstat (limited to 'tests/basics')
-rw-r--r--tests/basics/fun_calldblstar3.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/basics/fun_calldblstar3.py b/tests/basics/fun_calldblstar3.py
new file mode 100644
index 0000000000..4367e68df7
--- /dev/null
+++ b/tests/basics/fun_calldblstar3.py
@@ -0,0 +1,16 @@
+# test passing a user-defined mapping as the argument to **
+
+def foo(**kw):
+ print(sorted(kw.items()))
+
+class Mapping:
+ def keys(self):
+ return ['a', 'b', 'c']
+
+ def __getitem__(self, key):
+ if key == 'a':
+ return 1
+ else:
+ return 2
+
+foo(**Mapping())