summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2022-06-08 11:54:27 -0700
committerGitHub <noreply@github.com>2022-06-08 11:54:27 -0700
commit1146920bc9ed9bef2b5bb91b3cdec4700eb09881 (patch)
treee8d94a3aad0d204f7c33f38b42b9e03d862cc3c8 /tests
parentff2ae7e0c1b48fa222f14dc84f15d0178ed056a1 (diff)
Add smoke test for language server. (#2266)
Diffstat (limited to 'tests')
-rw-r--r--tests/language-server/robustness-1.slang11
-rw-r--r--tests/language-server/robustness-1.slang.expected.txt9
-rw-r--r--tests/language-server/robustness-2.slang16
-rw-r--r--tests/language-server/robustness-2.slang.expected.txt12
-rw-r--r--tests/language-server/robustness-3.slang12
-rw-r--r--tests/language-server/robustness-3.slang.expected.txt12
-rw-r--r--tests/language-server/robustness-4.slang5
-rw-r--r--tests/language-server/robustness-4.slang.expected.txt3
-rw-r--r--tests/language-server/smoke.slang33
-rw-r--r--tests/language-server/smoke.slang.expected.txt25
-rw-r--r--tests/language-server/vector-member.slang7
-rw-r--r--tests/language-server/vector-member.slang.expected.txt6
12 files changed, 151 insertions, 0 deletions
diff --git a/tests/language-server/robustness-1.slang b/tests/language-server/robustness-1.slang
new file mode 100644
index 000000000..fa9036900
--- /dev/null
+++ b/tests/language-server/robustness-1.slang
@@ -0,0 +1,11 @@
+//TEST:LANG_SERVER:
+//
+// tests empty subscript argument.
+
+void main()
+{
+//HOVER:8,13
+ float3 arr[3];
+ arr[].;
+
+}
diff --git a/tests/language-server/robustness-1.slang.expected.txt b/tests/language-server/robustness-1.slang.expected.txt
new file mode 100644
index 000000000..4bfd5a31d
--- /dev/null
+++ b/tests/language-server/robustness-1.slang.expected.txt
@@ -0,0 +1,9 @@
+--------
+range: 7,11 - 7,14
+content:
+```
+vector<float,3>[3] arr
+```
+{REDACTED}.slang(8)
+
+
diff --git a/tests/language-server/robustness-2.slang b/tests/language-server/robustness-2.slang
new file mode 100644
index 000000000..bd73d25ed
--- /dev/null
+++ b/tests/language-server/robustness-2.slang
@@ -0,0 +1,16 @@
+//TEST:LANG_SERVER:
+//
+// tests broken generic parameter.
+
+void main()
+{
+ float3 x
+ vector<float,3> y;
+
+}
+
+enum Kind
+{
+//HOVER:15,6
+ Foo
+}
diff --git a/tests/language-server/robustness-2.slang.expected.txt b/tests/language-server/robustness-2.slang.expected.txt
new file mode 100644
index 000000000..2236aea91
--- /dev/null
+++ b/tests/language-server/robustness-2.slang.expected.txt
@@ -0,0 +1,12 @@
+--------
+range: 14,4 - 14,7
+content:
+```
+Kind Kind.Foo
+```
+
+
+
+{REDACTED}.slang(15)
+
+
diff --git a/tests/language-server/robustness-3.slang b/tests/language-server/robustness-3.slang
new file mode 100644
index 000000000..29835eb70
--- /dev/null
+++ b/tests/language-server/robustness-3.slang
@@ -0,0 +1,12 @@
+//TEST:LANG_SERVER:
+//
+// tests broken subscript decl.
+//HOVER:7,24
+struct MyType
+{
+ __subscript(int index)
+ {
+ get(){return index;}
+ se
+ }
+}
diff --git a/tests/language-server/robustness-3.slang.expected.txt b/tests/language-server/robustness-3.slang.expected.txt
new file mode 100644
index 000000000..000ad6add
--- /dev/null
+++ b/tests/language-server/robustness-3.slang.expected.txt
@@ -0,0 +1,12 @@
+--------
+range: 6,20 - 6,25
+content:
+```
+int index
+```
+
+
+
+{REDACTED}.slang(7)
+
+
diff --git a/tests/language-server/robustness-4.slang b/tests/language-server/robustness-4.slang
new file mode 100644
index 000000000..d1f110f5c
--- /dev/null
+++ b/tests/language-server/robustness-4.slang
@@ -0,0 +1,5 @@
+//TEST:LANG_SERVER:
+//
+//Broken syntax
+//HOVER:1,1
+[]
diff --git a/tests/language-server/robustness-4.slang.expected.txt b/tests/language-server/robustness-4.slang.expected.txt
new file mode 100644
index 000000000..dd2c29b31
--- /dev/null
+++ b/tests/language-server/robustness-4.slang.expected.txt
@@ -0,0 +1,3 @@
+--------
+null
+
diff --git a/tests/language-server/smoke.slang b/tests/language-server/smoke.slang
new file mode 100644
index 000000000..194902586
--- /dev/null
+++ b/tests/language-server/smoke.slang
@@ -0,0 +1,33 @@
+//TEST(smoke):LANG_SERVER:
+//COMPLETE:31,21
+//HOVER:25,30
+//SIGNATURE:25,40
+interface IFoo
+{
+ /**
+ Returns the sum of the contents.
+ */
+ int getSum();
+}
+
+struct MyType : IFoo
+{
+ int getSum() { return 0; }
+}
+
+struct Pair<T:IFoo, U: IFoo> : IFoo
+{
+ T first;
+ U second;
+ /**
+ Returns the sum of the contents.
+ */
+ int getSum() { return first.getSum() + second.getSum(); }
+}
+
+void m()
+{
+ Pair<MyType, Pair<MyType, MyType>> v;
+ v.first = v.second.first;
+
+}
diff --git a/tests/language-server/smoke.slang.expected.txt b/tests/language-server/smoke.slang.expected.txt
new file mode 100644
index 000000000..5f0bd3915
--- /dev/null
+++ b/tests/language-server/smoke.slang.expected.txt
@@ -0,0 +1,25 @@
+--------
+first: 6 ().;:,<>[]{}-*/%+=&|!
+second: 6 ().;:,<>[]{}-*/%+=&|!
+getSum: 2 ([
+--------
+range: 24,26 - 24,31
+content:
+```
+Pair.T Pair<Pair.T, Pair.U>.first
+```
+
+
+
+{REDACTED}.slang(20)
+
+--------
+activeParameter: 0
+activeSignature: 0
+func IFoo.getSum() -> int:
+
+Returns the sum of the contents.
+
+{REDACTED}.slang(10)
+
+
diff --git a/tests/language-server/vector-member.slang b/tests/language-server/vector-member.slang
new file mode 100644
index 000000000..5d624e56d
--- /dev/null
+++ b/tests/language-server/vector-member.slang
@@ -0,0 +1,7 @@
+//TEST:LANG_SERVER:
+void f()
+{
+ float4 v;
+//COMPLETE:6,7
+ v.
+}
diff --git a/tests/language-server/vector-member.slang.expected.txt b/tests/language-server/vector-member.slang.expected.txt
new file mode 100644
index 000000000..d93d9183f
--- /dev/null
+++ b/tests/language-server/vector-member.slang.expected.txt
@@ -0,0 +1,6 @@
+--------
+x: 6 float ().;:,<>[]{}-*/%+=&|!
+y: 6 float ().;:,<>[]{}-*/%+=&|!
+z: 6 float ().;:,<>[]{}-*/%+=&|!
+w: 6 float ().;:,<>[]{}-*/%+=&|!
+