summaryrefslogtreecommitdiff
path: root/tests/language-server
diff options
context:
space:
mode:
Diffstat (limited to 'tests/language-server')
-rw-r--r--tests/language-server/completion-sorting-1.slang18
-rw-r--r--tests/language-server/completion-sorting-2.slang19
-rw-r--r--tests/language-server/completion-sorting-3.slang16
-rw-r--r--tests/language-server/completion-sorting-4.slang16
-rw-r--r--tests/language-server/completion-sorting-5.slang16
5 files changed, 85 insertions, 0 deletions
diff --git a/tests/language-server/completion-sorting-1.slang b/tests/language-server/completion-sorting-1.slang
new file mode 100644
index 000000000..974413451
--- /dev/null
+++ b/tests/language-server/completion-sorting-1.slang
@@ -0,0 +1,18 @@
+//TEST:LANG_SERVER(filecheck=CHECK):
+
+// Test that completion candidates are sorted according to context.
+
+enum Fruit { Orange, Apple, Banana }
+enum Color { Red, Green, Blue }
+void expect(Fruit e) {}
+void expect(Color e) {}
+
+
+void test()
+{
+//COMPLETE:14,15
+ Fruit t = // should list `Fruit` first.
+
+}
+
+// CHECK: Fruit:{{.*}}sort(0:Fruit) \ No newline at end of file
diff --git a/tests/language-server/completion-sorting-2.slang b/tests/language-server/completion-sorting-2.slang
new file mode 100644
index 000000000..7cf62af71
--- /dev/null
+++ b/tests/language-server/completion-sorting-2.slang
@@ -0,0 +1,19 @@
+//TEST:LANG_SERVER(filecheck=CHECK):
+
+// Test that completion candidates are sorted according to context.
+
+enum Fruit { Orange, Apple, Banana }
+enum Color { Red, Green, Blue }
+void expect(Fruit e) {}
+void expect(Color e) {}
+
+
+void test()
+{
+//COMPLETE:14,12
+ expect(); // should list `Fruit` and `Color` first.
+
+}
+
+// CHECK: Fruit:{{.*}}sort(0:Fruit)
+// CHECK: Color:{{.*}}sort(0:Color) \ No newline at end of file
diff --git a/tests/language-server/completion-sorting-3.slang b/tests/language-server/completion-sorting-3.slang
new file mode 100644
index 000000000..da633cf21
--- /dev/null
+++ b/tests/language-server/completion-sorting-3.slang
@@ -0,0 +1,16 @@
+//TEST:LANG_SERVER(filecheck=CHECK):
+
+// Test that completion candidates are sorted according to context.
+
+enum Fruit { Orange, Apple, Banana }
+struct MyType<Fruit v> {}
+
+
+void test()
+{
+//COMPLETE:12,12
+ MyType< // should list `Fruit` first.
+
+}
+
+// CHECK: Fruit:{{.*}}sort(0:Fruit) \ No newline at end of file
diff --git a/tests/language-server/completion-sorting-4.slang b/tests/language-server/completion-sorting-4.slang
new file mode 100644
index 000000000..9e9f2b15c
--- /dev/null
+++ b/tests/language-server/completion-sorting-4.slang
@@ -0,0 +1,16 @@
+//TEST:LANG_SERVER(filecheck=CHECK):
+
+// Test that completion candidates are sorted according to context.
+
+int myHelper() { return 0; }
+
+
+void test(int p)
+{
+//COMPLETE:11,13
+ int x =
+
+}
+
+// CHECK: p:{{.*}}sort(1:p)
+// CHECK: myHelper:{{.*}}sort(1:myHelper) \ No newline at end of file
diff --git a/tests/language-server/completion-sorting-5.slang b/tests/language-server/completion-sorting-5.slang
new file mode 100644
index 000000000..cdbc40130
--- /dev/null
+++ b/tests/language-server/completion-sorting-5.slang
@@ -0,0 +1,16 @@
+//TEST:LANG_SERVER(filecheck=CHECK):
+
+// Test that completion candidates are sorted according to context.
+
+int myHelper() { return 0; }
+
+
+void test(int p)
+{
+//COMPLETE:11,17
+ int x = p +
+
+}
+
+// CHECK: p:{{.*}}sort(1:p)
+// CHECK: myHelper:{{.*}}sort(1:myHelper) \ No newline at end of file