From e9615065acd86735758c579a892c070d8186bc90 Mon Sep 17 00:00:00 2001
From: oddcoder <ahmedsoliman@oddcoder.com>
Date: Sun, 26 Apr 2020 19:05:50 +0200
Subject: [PATCH] Add tests for both wcsncasecmp and wcscasecmp

---
 tests/Makefile                          |  2 ++
 tests/expected/wchar/wcscasecmp.stderr  |  0
 tests/expected/wchar/wcscasecmp.stdout  |  4 ++++
 tests/expected/wchar/wcsncasecmp.stderr |  0
 tests/expected/wchar/wcsncasecmp.stdout |  5 +++++
 tests/wchar/wcscasecmp.c                | 11 +++++++++++
 tests/wchar/wcsncasecmp.c               | 12 ++++++++++++
 7 files changed, 34 insertions(+)
 create mode 100644 tests/expected/wchar/wcscasecmp.stderr
 create mode 100644 tests/expected/wchar/wcscasecmp.stdout
 create mode 100644 tests/expected/wchar/wcsncasecmp.stderr
 create mode 100644 tests/expected/wchar/wcsncasecmp.stdout
 create mode 100644 tests/wchar/wcscasecmp.c
 create mode 100644 tests/wchar/wcsncasecmp.c

diff --git a/tests/Makefile b/tests/Makefile
index 6b056b4dc..eec484b07 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 000000000..e69de29bb
diff --git a/tests/expected/wchar/wcscasecmp.stdout b/tests/expected/wchar/wcscasecmp.stdout
new file mode 100644
index 000000000..fdd11f655
--- /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 000000000..e69de29bb
diff --git a/tests/expected/wchar/wcsncasecmp.stdout b/tests/expected/wchar/wcsncasecmp.stdout
new file mode 100644
index 000000000..6a4bd43fc
--- /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 000000000..7241be198
--- /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 000000000..d0e815fe6
--- /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));
+}
-- 
GitLab