summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2023-04-08 10:55:39 +0200
committerRico Tzschichholz <ricotz@ubuntu.com>2023-04-08 10:59:55 +0200
commite8a81d9a49ef569b632107a07e605aaa4705d347 (patch)
treee35c36436c20718ec35ba7d3dcc49474fa12f0cc /tests
parenta4dca077641a0eabdd7677b3048174f798deaf96 (diff)
downloadvala-e8a81d9a49ef569b632107a07e605aaa4705d347.tar.gz
vala: Check type-argument count of interface prerequisites
Additionally add test case for type-argument count of class base-types
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am4
-rw-r--r--tests/semantic/class-base-type-too-few-type-arguments.test10
-rw-r--r--tests/semantic/class-base-type-too-many-type-arguments.test10
-rw-r--r--tests/semantic/interface-prerequisite-too-few-type-arguments.test10
-rw-r--r--tests/semantic/interface-prerequisite-too-many-type-arguments.test10
5 files changed, 44 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 4b473a379..2e22aa6db 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1098,6 +1098,8 @@ TESTS = \
semantic/class-base-type-invalid.test \
semantic/class-base-type-less-accessible.test \
semantic/class-base-type-multiple.test \
+ semantic/class-base-type-too-few-type-arguments.test \
+ semantic/class-base-type-too-many-type-arguments.test \
semantic/class-compact-field-class.test \
semantic/class-compact-field-lock.test \
semantic/class-compact-field-private.test \
@@ -1190,6 +1192,8 @@ TESTS = \
semantic/interface-prerequisite-invalid.test \
semantic/interface-prerequisite-less-accessible.test \
semantic/interface-prerequisite-multiple.test \
+ semantic/interface-prerequisite-too-few-type-arguments.test \
+ semantic/interface-prerequisite-too-many-type-arguments.test \
semantic/literal-expression.test \
semantic/localvariable-owned-to-unowned.test \
semantic/localvariable-var-pointer-initializer.vala \
diff --git a/tests/semantic/class-base-type-too-few-type-arguments.test b/tests/semantic/class-base-type-too-few-type-arguments.test
new file mode 100644
index 000000000..0bf477697
--- /dev/null
+++ b/tests/semantic/class-base-type-too-few-type-arguments.test
@@ -0,0 +1,10 @@
+Invalid Code
+
+interface IFoo<G> {
+}
+
+class Foo : IFoo {
+}
+
+void main () {
+}
diff --git a/tests/semantic/class-base-type-too-many-type-arguments.test b/tests/semantic/class-base-type-too-many-type-arguments.test
new file mode 100644
index 000000000..c1d8419a6
--- /dev/null
+++ b/tests/semantic/class-base-type-too-many-type-arguments.test
@@ -0,0 +1,10 @@
+Invalid Code
+
+interface IFoo<G> {
+}
+
+class Foo<K,V> : IFoo<K,V> {
+}
+
+void main () {
+}
diff --git a/tests/semantic/interface-prerequisite-too-few-type-arguments.test b/tests/semantic/interface-prerequisite-too-few-type-arguments.test
new file mode 100644
index 000000000..0e92a1649
--- /dev/null
+++ b/tests/semantic/interface-prerequisite-too-few-type-arguments.test
@@ -0,0 +1,10 @@
+Invalid Code
+
+interface IFoo<G> {
+}
+
+interface IBar : IFoo {
+}
+
+void main () {
+}
diff --git a/tests/semantic/interface-prerequisite-too-many-type-arguments.test b/tests/semantic/interface-prerequisite-too-many-type-arguments.test
new file mode 100644
index 000000000..347b6c36a
--- /dev/null
+++ b/tests/semantic/interface-prerequisite-too-many-type-arguments.test
@@ -0,0 +1,10 @@
+Invalid Code
+
+interface IFoo<G> {
+}
+
+interface IBar<K,V> : IFoo<K,V> {
+}
+
+void main () {
+}