TestWctype.cpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /*
  2. * Copyright (c) 2021, the SerenityOS developers
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #include <LibTest/TestCase.h>
  7. #include <wctype.h>
  8. TEST_CASE(wctype)
  9. {
  10. // Test that existing properties return non-zero wctypes.
  11. EXPECT(wctype("alnum") != 0);
  12. EXPECT(wctype("alpha") != 0);
  13. EXPECT(wctype("blank") != 0);
  14. EXPECT(wctype("cntrl") != 0);
  15. EXPECT(wctype("digit") != 0);
  16. EXPECT(wctype("graph") != 0);
  17. EXPECT(wctype("lower") != 0);
  18. EXPECT(wctype("print") != 0);
  19. EXPECT(wctype("punct") != 0);
  20. EXPECT(wctype("space") != 0);
  21. EXPECT(wctype("upper") != 0);
  22. EXPECT(wctype("xdigit") != 0);
  23. // Test that invalid properties return the "invalid" wctype (0).
  24. EXPECT(wctype("") == 0);
  25. EXPECT(wctype("abc") == 0);
  26. }
  27. TEST_CASE(wctrans)
  28. {
  29. // Test that existing character mappings return non-zero wctrans values.
  30. EXPECT(wctrans("tolower") != 0);
  31. EXPECT(wctrans("toupper") != 0);
  32. // Test that invalid character mappings return the "invalid" wctrans value (0).
  33. EXPECT(wctrans("") == 0);
  34. EXPECT(wctrans("abc") == 0);
  35. }