summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/diagnostics/interfaces/interface-override.slang28
-rw-r--r--tests/language-server/override-completion.slang16
2 files changed, 44 insertions, 0 deletions
diff --git a/tests/diagnostics/interfaces/interface-override.slang b/tests/diagnostics/interfaces/interface-override.slang
new file mode 100644
index 000000000..12539895b
--- /dev/null
+++ b/tests/diagnostics/interfaces/interface-override.slang
@@ -0,0 +1,28 @@
+//DIAGNOSTIC_TEST:SIMPLE(filecheck=CHECK):
+
+interface IBase
+{
+ int f();
+}
+
+interface IDerived : IBase
+{
+ //CHECK-DAG: ([[# @LINE+1]]): error 30311:
+ __init() {}
+
+ property int value{
+ get;
+
+ //CHECK-DAG: ([[# @LINE+1]]): error 30311:
+ set{ }
+ }
+
+ __subscript(int index)->int
+ {
+ //CHECK-DAG: ([[# @LINE+1]]): error 30311:
+ get{}
+ }
+
+ //CHECK-DAG: ([[# @LINE+1]]): error 30312:
+ override int f() {}
+} \ No newline at end of file
diff --git a/tests/language-server/override-completion.slang b/tests/language-server/override-completion.slang
new file mode 100644
index 000000000..7cfd52b3e
--- /dev/null
+++ b/tests/language-server/override-completion.slang
@@ -0,0 +1,16 @@
+//TEST:LANG_SERVER(filecheck=CHECK):
+interface IBar{}
+interface IFoo
+{
+ int eval();
+ void execute<int z,T:IBar>(int x);
+}
+
+struct Impl : IFoo
+{
+//COMPLETE:12,14
+ override
+}
+
+//CHECK-DAG: int eval
+//CHECK-DAG: void execute<int z, T> \ No newline at end of file