summaryrefslogtreecommitdiff
path: root/tests/micropython/const2.py
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2016-09-27 13:03:53 +1000
committerDamien George <damien.p.george@gmail.com>2016-09-27 13:03:53 +1000
commit38b54b65d4b504339cd16c88175c31f257a68f3a (patch)
treec7a4f7a3532a6ab86fc3a514952dc4c4e8e0c3eb /tests/micropython/const2.py
parent3f0c1c24528d8ce818434d8b553136d315b0d548 (diff)
tests/micropython: Add tests for const names being replaced in parser.
Diffstat (limited to 'tests/micropython/const2.py')
-rw-r--r--tests/micropython/const2.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/micropython/const2.py b/tests/micropython/const2.py
new file mode 100644
index 000000000..fb4588435
--- /dev/null
+++ b/tests/micropython/const2.py
@@ -0,0 +1,32 @@
+# check that consts are not replaced in anything except standalone identifiers
+
+X = const(1)
+Y = const(2)
+Z = const(3)
+
+# import that uses a constant
+import micropython as X
+print(globals()['X'])
+
+# function name that matches a constant
+def X():
+ print('function X', X)
+globals()['X']()
+
+# arguments that match a constant
+def f(X, *Y, **Z):
+ pass
+f(1)
+
+# class name that matches a constant
+class X:
+ def f(self):
+ print('class X', X)
+globals()['X']().f()
+
+# constant within a class
+class A:
+ C1 = const(4)
+ def X(self):
+ print('method X', Y, C1, self.C1)
+A().X()