summaryrefslogtreecommitdiffstatshomepage
path: root/tests/basics/dict-intern.py
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-04-28 12:11:57 +0100
committerDamien George <damien.p.george@gmail.com>2014-04-28 12:11:57 +0100
commit186e463a9ea5f1f1cabd928ba363fb3f0c0de4dc (patch)
tree923762d60483b13ba2b989ded7b2353f8ae20476 /tests/basics/dict-intern.py
parent185f9c1c4652cfe44b8c4df12f524933dbe04dc5 (diff)
downloadmicropython-186e463a9ea5f1f1cabd928ba363fb3f0c0de4dc.tar.gz
micropython-186e463a9ea5f1f1cabd928ba363fb3f0c0de4dc.zip
py: Fix bug in map lookup of interned string vs non-interned.
Had choice of either interning or forcing full equality comparison, and chose latter. See comments in mp_map_lookup. Addresses issue #523.
Diffstat (limited to 'tests/basics/dict-intern.py')
-rw-r--r--tests/basics/dict-intern.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/basics/dict-intern.py b/tests/basics/dict-intern.py
new file mode 100644
index 0000000000..93efb2da8a
--- /dev/null
+++ b/tests/basics/dict-intern.py
@@ -0,0 +1,15 @@
+# check that interned strings are compared against non-interned strings
+
+di = {"key1": "value"}
+
+# lookup interned string
+k = "key1"
+print(k in di)
+
+# lookup non-interned string
+k2 = "key" + "1"
+print(k == k2)
+print(k2 in di)
+
+# lookup non-interned string
+print("".join(['k', 'e', 'y', '1']) in di)