3dc324d3f1
This adds the Python files in the tests/ directory to be formatted with ./tools/codeformat.py. The basics/ subdirectory is excluded for now so we aren't changing too much at once. In a few places `# fmt: off`/`# fmt: on` was used where the code had special formatting for readability or where the test was actually testing the specific formatting.
93 lines
1.5 KiB
Python
93 lines
1.5 KiB
Python
print("Now comes the language constructions tests.")
|
|
|
|
# function
|
|
def test_func():
|
|
def test_sub_func():
|
|
print("test_function")
|
|
|
|
test_sub_func()
|
|
|
|
|
|
# closure
|
|
def test_closure(msg):
|
|
def make_closure():
|
|
print(msg)
|
|
|
|
return make_closure
|
|
|
|
|
|
# exception
|
|
def test_exception():
|
|
try:
|
|
raise Exception("test_exception")
|
|
|
|
except Exception:
|
|
pass
|
|
|
|
finally:
|
|
pass
|
|
|
|
|
|
# listcomp
|
|
def test_listcomp():
|
|
print("test_listcomp", [x for x in range(3)])
|
|
|
|
|
|
# lambda
|
|
def test_lambda():
|
|
func_obj_1 = lambda a, b: a + b
|
|
print(func_obj_1(10, 20))
|
|
|
|
|
|
# import
|
|
def test_import():
|
|
from sys_settrace_subdir import trace_importme
|
|
|
|
trace_importme.dummy()
|
|
trace_importme.saysomething()
|
|
|
|
|
|
# class
|
|
class TLClass:
|
|
def method():
|
|
pass
|
|
|
|
pass
|
|
|
|
|
|
def test_class():
|
|
class TestClass:
|
|
__anynum = -9
|
|
|
|
def method(self):
|
|
print("test_class_method")
|
|
self.__anynum += 1
|
|
|
|
def prprty_getter(self):
|
|
return self.__anynum
|
|
|
|
def prprty_setter(self, what):
|
|
self.__anynum = what
|
|
|
|
prprty = property(prprty_getter, prprty_setter)
|
|
|
|
cls = TestClass()
|
|
cls.method()
|
|
print("test_class_property", cls.prprty)
|
|
cls.prprty = 12
|
|
print("test_class_property", cls.prprty)
|
|
|
|
|
|
def run_tests():
|
|
test_func()
|
|
test_closure_inst = test_closure("test_closure")
|
|
test_closure_inst()
|
|
test_exception()
|
|
test_listcomp()
|
|
test_lambda()
|
|
test_class()
|
|
test_import()
|
|
|
|
|
|
print("And it's done!")
|