diff --git a/tests/Makefile b/tests/Makefile
index 716600fa7af4ce1b5d126fd1a0da5ebfc8c2527f..6b056b4dc1df7d785fbc3730731b24ea545f5122 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -103,7 +103,9 @@ EXPECT_NAMES=\
 	wchar/wcsstr \
 	wchar/wcstod \
 	wchar/wcstok \
-	wchar/wcstol
+	wchar/wcstol \
+	wctype/towlower \
+	wctype/towupper
 	# TODO: Fix these
 	# mkfifo
 
diff --git a/tests/expected/wctype/towlower.stderr b/tests/expected/wctype/towlower.stderr
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/tests/expected/wctype/towlower.stdout b/tests/expected/wctype/towlower.stdout
new file mode 100644
index 0000000000000000000000000000000000000000..fdbf17836f58634b1ce97733dbf097e5043aaf8d
--- /dev/null
+++ b/tests/expected/wctype/towlower.stdout
@@ -0,0 +1,2 @@
+HaLf WiDe ChAr StRiNg!
+half wide char string!
diff --git a/tests/expected/wctype/towupper.stderr b/tests/expected/wctype/towupper.stderr
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/tests/expected/wctype/towupper.stdout b/tests/expected/wctype/towupper.stdout
new file mode 100644
index 0000000000000000000000000000000000000000..a09771e7bcd520d2e6c5ff1cd717393036c6b636
--- /dev/null
+++ b/tests/expected/wctype/towupper.stdout
@@ -0,0 +1,2 @@
+HaLf WiDe ChAr StRiNg!
+HALF WIDE CHAR STRING!
diff --git a/tests/wctype/towlower.c b/tests/wctype/towlower.c
new file mode 100644
index 0000000000000000000000000000000000000000..a99d4252bd56696a045358f93ab5696ccd897e7f
--- /dev/null
+++ b/tests/wctype/towlower.c
@@ -0,0 +1,12 @@
+#include <stdio.h>
+#include <wchar.h>
+#include <wctype.h>
+
+int main() {
+    wchar_t *str = L"HaLf WiDe ChAr StRiNg!\n";
+    fputws(str, stdout);
+    for (int i = 0; i < wcslen(str); i++) {
+        putwchar(towlower(str[i]));
+    }
+    return 0;
+}
\ No newline at end of file
diff --git a/tests/wctype/towupper.c b/tests/wctype/towupper.c
new file mode 100644
index 0000000000000000000000000000000000000000..61fb09edf4f2e458dfdea505a269688e71d43eae
--- /dev/null
+++ b/tests/wctype/towupper.c
@@ -0,0 +1,12 @@
+#include <stdio.h>
+#include <wchar.h>
+#include <wctype.h>
+
+int main() {
+    wchar_t *str = L"HaLf WiDe ChAr StRiNg!\n";
+    fputws(str, stdout);
+    for (int i = 0; i < wcslen(str); i++) {
+        putwchar(towupper(str[i]));
+    }
+    return 0;
+}
\ No newline at end of file