Serenity Operating System
at master 58 lines 1.7 kB view raw
1/* 2 * Copyright (c) 2022, the SerenityOS developers. 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#include <LibTest/TestCase.h> 8#include <wchar.h> 9 10TEST_CASE(swprint_no_format) 11{ 12 wchar_t buffer[256]; 13 size_t len = swprintf(buffer, 64, L"Well, hello friends!"); 14 15 VERIFY(wcscmp(buffer, L"Well, hello friends!") == 0); 16 VERIFY(wcscmp(buffer, L"Well, hello friends") != 0); 17 VERIFY(wcslen(buffer) == len); 18} 19 20TEST_CASE(swprint_single_wchar_argument) 21{ 22 wchar_t buffer[256]; 23 size_t len = swprintf(buffer, 64, L"Well, %ls friends!", L"hello"); 24 25 VERIFY(wcscmp(buffer, L"Well, hello friends!") == 0); 26 VERIFY(wcscmp(buffer, L"Well, hello friends") != 0); 27 VERIFY(wcslen(buffer) == len); 28} 29 30TEST_CASE(swprint_single_char_argument) 31{ 32 wchar_t buffer[256]; 33 size_t len = swprintf(buffer, 64, L"Well, %s friends!", "hello"); 34 35 VERIFY(wcscmp(buffer, L"Well, hello friends!") == 0); 36 VERIFY(wcscmp(buffer, L"Well, hello friends") != 0); 37 VERIFY(wcslen(buffer) == len); 38} 39 40TEST_CASE(swprint_single_narrow_char_argument) 41{ 42 wchar_t buffer[256]; 43 size_t len = swprintf(buffer, 64, L"Well, %hs friends!", "hello"); 44 45 VERIFY(wcscmp(buffer, L"Well, hello friends!") == 0); 46 VERIFY(wcscmp(buffer, L"Well, hello friends") != 0); 47 VERIFY(wcslen(buffer) == len); 48} 49 50TEST_CASE(swprint_mixed_arguments) 51{ 52 wchar_t buffer[256]; 53 size_t len = swprintf(buffer, 64, L"Well, %ls friends! %hs is less then %s.", L"hello", "10", "20"); 54 55 VERIFY(wcscmp(buffer, L"Well, hello friends! 10 is less then 20.") == 0); 56 VERIFY(wcscmp(buffer, L"Well, hello friends! 10 is less then 2.") != 0); 57 VERIFY(wcslen(buffer) == len); 58}