Explorar o código

Add test cases for accessing parent elements from child class

strank %!s(int64=3) %!d(string=hai) anos
pai
achega
7d48afa96d

+ 40 - 0
modules/gdscript/tests/scripts/parser/features/class_inheritance_access.gd

@@ -0,0 +1,40 @@
+# Test access visibility of parent elements in nested class architectures.
+class Parent:
+	const parent_const := 1
+
+	var parent_variable := 2
+
+	signal parent_signal
+
+	var parent_attribute: int:
+		get:
+			return 3
+
+	func parent_func():
+		return 4
+
+	class Nested:
+		const nested_const := 5
+
+
+class Child extends Parent:
+	func child_test():
+		print(parent_const)
+		print(self.parent_const)
+		print(parent_variable)
+		print(self.parent_variable)
+		print(parent_signal.get_name())
+		print(self.parent_signal.get_name())
+		print(parent_attribute)
+		print(self.parent_attribute)
+		print(parent_func.get_method())
+		print(self.parent_func.get_method())
+		print(parent_func())
+		print(self.parent_func())
+		print(Nested.nested_const)
+		print(self.Nested.nested_const)
+		print(Parent.Nested.nested_const)
+
+
+func test():
+	Child.new().child_test()

+ 16 - 0
modules/gdscript/tests/scripts/parser/features/class_inheritance_access.out

@@ -0,0 +1,16 @@
+GDTEST_OK
+1
+1
+2
+2
+parent_signal
+parent_signal
+3
+3
+parent_func
+parent_func
+4
+4
+5
+5
+5