Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemathinc
GitHub Repository: sagemathinc/python-wasm
Path: blob/main/python/pylang/test/scoped_flags.py
1396 views
1
# vim:fileencoding=utf-8
2
# License: BSD Copyright: 2016, Kovid Goyal <kovid at kovidgoyal.net>
3
4
a = {1: 1}
5
assrt.ok(not isinstance(a, dict))
6
7
from __python__ import dict_literals, overload_getitem
8
9
a = {1: 1}
10
assrt.ok(isinstance(a, dict))
11
assrt.equal(a[1], 1)
12
a[2] = 2
13
assrt.equal(a[2], 2)
14
assrt.deepEqual(list(a.keys()), [1, 2])
15
from __python__ import no_dict_literals, no_overload_getitem
16
17
a = {1: 1}
18
assrt.ok(not isinstance(a, dict))
19
20
21
def f():
22
from __python__ import dict_literals
23
a = {1: 1}
24
assrt.ok(isinstance(a, dict))
25
26
27
a = {1: 1}
28
assrt.ok(not isinstance(a, dict))
29
30
31
class S:
32
from __python__ import bound_methods
33
34
def __init__(self):
35
self.a = 3
36
37
def val(self):
38
return self.a if self else None
39
40
41
f = S().val
42
assrt.equal(f(), S().val())
43
44
45
class U:
46
def __init__(self):
47
self.a = 3
48
49
def val(self):
50
return self.a if self else None
51
52
53
f = U().val
54
assrt.equal(f(), None)
55
56
57
class C:
58
def __init__(self):
59
self.a = 3
60
61
def uval1(self):
62
return self.a if self else None
63
64
from __python__ import bound_methods
65
66
def bval(self):
67
return self.a
68
69
from __python__ import no_bound_methods
70
71
def uval2(self):
72
return self.a if self else None
73
74
75
c = C()
76
u1, u2 = c.uval1, c.uval2
77
f = c.bval
78
assrt.equal(u1(), None)
79
assrt.equal(u2(), None)
80
assrt.equal(f(), 3)
81
82