diff --git a/tests/Makefile b/tests/Makefile
index 6b056b4dc1df7d785fbc3730731b24ea545f5122..eec484b0789d2c752087b76adbb8516909fbda18 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -104,6 +104,8 @@ EXPECT_NAMES=\
 	wchar/wcstod \
 	wchar/wcstok \
 	wchar/wcstol \
+	wchar/wcscasecmp \
+	wchar/wcsncasecmp \
 	wctype/towlower \
 	wctype/towupper
 	# TODO: Fix these
diff --git a/tests/expected/wchar/wcscasecmp.stderr b/tests/expected/wchar/wcscasecmp.stderr
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/tests/expected/wchar/wcscasecmp.stdout b/tests/expected/wchar/wcscasecmp.stdout
new file mode 100644
index 0000000000000000000000000000000000000000..fdd11f65524a65fda12e6ed6864fe20afe4042e3
--- /dev/null
+++ b/tests/expected/wchar/wcscasecmp.stdout
@@ -0,0 +1,4 @@
+wcscasecmp(s1, s1) = 0
+wcscasecmp(s1, s2) = -1
+wcscasecmp(s2, s1) = 1
+wcscasecmp(s2, s2) = 0
diff --git a/tests/expected/wchar/wcsncasecmp.stderr b/tests/expected/wchar/wcsncasecmp.stderr
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/tests/expected/wchar/wcsncasecmp.stdout b/tests/expected/wchar/wcsncasecmp.stdout
new file mode 100644
index 0000000000000000000000000000000000000000..6a4bd43fc4c0885261cf55bf5ac4abf6e5479fec
--- /dev/null
+++ b/tests/expected/wchar/wcsncasecmp.stdout
@@ -0,0 +1,5 @@
+wcsncasecmp(s1, s1, 17) = 0
+wcsncasecmp(s1, s2, 17) = -1
+wcsncasecmp(s2, s1, 17) = 1
+wcsncasecmp(s2, s1, 15) = 0
+wcsncasecmp(s1, s2, 0) = 0
diff --git a/tests/wchar/wcscasecmp.c b/tests/wchar/wcscasecmp.c
new file mode 100644
index 0000000000000000000000000000000000000000..7241be198a5b6a24bf1c1ade97afc84611f31000
--- /dev/null
+++ b/tests/wchar/wcscasecmp.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+#include <wchar.h>
+
+int main() {
+  wchar_t *s1 = L"ThIs Is StRiNg 1.";
+  wchar_t *s2 = L"tHiS iS sTrInG 2.";
+  printf("wcscasecmp(s1, s1) = %d\n", wcscasecmp(s1, s1));
+  printf("wcscasecmp(s1, s2) = %d\n", wcscasecmp(s1, s2));
+  printf("wcscasecmp(s2, s1) = %d\n", wcscasecmp(s2, s1));
+  printf("wcscasecmp(s2, s2) = %d\n", wcscasecmp(s2, s2));
+}
diff --git a/tests/wchar/wcsncasecmp.c b/tests/wchar/wcsncasecmp.c
new file mode 100644
index 0000000000000000000000000000000000000000..d0e815fe6e1bcf566509f2ad100fd0407514dff8
--- /dev/null
+++ b/tests/wchar/wcsncasecmp.c
@@ -0,0 +1,12 @@
+#include <stdio.h>
+#include <wchar.h>
+
+int main() {
+  wchar_t *s1 = L"This is string 1.";
+  wchar_t *s2 = L"This is string 2.";
+  printf("wcsncasecmp(s1, s1, 17) = %d\n", wcsncasecmp(s1, s1, 17));
+  printf("wcsncasecmp(s1, s2, 17) = %d\n", wcsncasecmp(s1, s2, 17));
+  printf("wcsncasecmp(s2, s1, 17) = %d\n", wcsncasecmp(s2, s1, 17));
+  printf("wcsncasecmp(s2, s1, 15) = %d\n", wcsncasecmp(s2, s1, 15));
+  printf("wcsncasecmp(s1, s2, 0) = %d\n", wcsncasecmp(s1, s2, 0));
+}