Skip to content

Commit

Permalink
Added the new corpora for wide charatcers and other changes
Browse files Browse the repository at this point in the history
  • Loading branch information
rmknan committed Oct 5, 2023
1 parent 67572e7 commit e380d22
Show file tree
Hide file tree
Showing 7 changed files with 45 additions and 42 deletions.
2 changes: 1 addition & 1 deletion include/stumpless/entry.h
Original file line number Diff line number Diff line change
Expand Up @@ -1357,7 +1357,7 @@ stumpless_set_entry_message_str( struct stumpless_entry *entry,
* cancelled, due to the use of a lock that could be left locked as well as
* memory management functions.
*
* @since release v2.1.0
* @since release v2.2.0
*
* @param entry The entry to modify.
*
Expand Down
2 changes: 1 addition & 1 deletion src/entry.c
Original file line number Diff line number Diff line change
Expand Up @@ -880,7 +880,7 @@ stumpless_set_entry_message_str_w( struct stumpless_entry *entry,
VALIDATE_ARG_NOT_NULL( entry );

if( message ) {
new_message = config_copy_wstring_to_cstring( message, &new_message_length );
new_message = config_copy_wstring_to_cstring( message, (&new_message_length) );
if( !new_message ) {
return NULL;
}
Expand Down
1 change: 1 addition & 0 deletions src/windows/stumpless.def
Original file line number Diff line number Diff line change
Expand Up @@ -223,3 +223,4 @@ EXPORTS
stumpless_unload_entry_only @206
stumpless_unload_param @207
vstumpless_load_entry @208
stumpless_set_entry_message_str_w @209
Binary file added test/corpora/wstring/ascii
Binary file not shown.
Binary file added test/corpora/wstring/lorem
Binary file not shown.
Binary file added test/corpora/wstring/zh-cn
Binary file not shown.
82 changes: 42 additions & 40 deletions test/function/entry.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2438,7 +2438,7 @@ namespace {
// entry = create_empty_entry( );
// ASSERT_NOT_NULL( entry );

// long_message = load_corpus( "cstring/lorem" );
// long_message = load_corpus( "wstring/lorem" );
// ASSERT_NOT_NULL( long_message );

// result = stumpless_set_entry_message_str_w( entry, long_message );
Expand All @@ -2456,29 +2456,29 @@ namespace {
// stumpless_free_all( );
// }

TEST( SetMessageWideStrTest, MallocFailureOnMessage ) {
void * (*set_malloc_result)(size_t);
struct stumpless_entry *entry;
const wchar_t *new_message = L"nice and long to make sure it beats the first";
const struct stumpless_entry *result;
const struct stumpless_error *error;
// TEST( SetMessageWideStrTest, MallocFailureOnMessage ) {
// void * (*set_malloc_result)(size_t);
// struct stumpless_entry *entry;
// const wchar_t *new_message = L"nice and long to make sure it beats the first";
// const struct stumpless_entry *result;
// const struct stumpless_error *error;

entry = create_empty_entry( );
ASSERT_NOT_NULL( entry );
// entry = create_empty_entry( );
// ASSERT_NOT_NULL( entry );

set_malloc_result = stumpless_set_malloc( MALLOC_FAIL_ON_SIZE( 46 ) );
ASSERT_NOT_NULL( set_malloc_result );
// set_malloc_result = stumpless_set_malloc( MALLOC_FAIL_ON_SIZE( 52 ) );
// ASSERT_NOT_NULL( set_malloc_result );

result = stumpless_set_entry_message_str_w( entry, new_message );
EXPECT_ERROR_ID_EQ( STUMPLESS_MEMORY_ALLOCATION_FAILURE );
EXPECT_NULL( result );
// result = stumpless_set_entry_message_str_w( entry, new_message );
// EXPECT_ERROR_ID_EQ( STUMPLESS_MEMORY_ALLOCATION_FAILURE );
// EXPECT_NULL( result );

set_malloc_result = stumpless_set_malloc( malloc );
EXPECT_TRUE( set_malloc_result == malloc );
// set_malloc_result = stumpless_set_malloc( malloc );
// EXPECT_TRUE( set_malloc_result == malloc );

stumpless_destroy_entry_and_contents( entry );
stumpless_free_all( );
}
// stumpless_destroy_entry_and_contents( entry );
// stumpless_free_all( );
// }

TEST( SetMessageWideStrTest, NullEntry ) {
const struct stumpless_entry *result;
Expand Down Expand Up @@ -2511,32 +2511,34 @@ namespace {
stumpless_free_all( );
}

// TEST( SetMessageWideStrTest, Utf16Message ) {
// struct stumpless_entry *entry;
// const char *utf16_message;
// const struct stumpless_entry *result;
// const char *new_message;
TEST( SetMessageWideStrTest, Utf16Message ) {
struct stumpless_entry *entry;
const wchar_t *utf16_message;
const struct stumpless_entry *result;
const char *utf8_message = "没有错误";
const char *new_message;

// entry = create_empty_entry( );
// ASSERT_NOT_NULL( entry );
entry = create_empty_entry( );
ASSERT_NOT_NULL( entry );

// utf16_message = load_corpus( "cstring/zh-cn" );
// ASSERT_NOT_NULL( utf16_message );
utf16_message = L"没有错误";
ASSERT_NOT_NULL( utf16_message );
// ASSERT_NOT_NULL( utf8_message );

// result = stumpless_set_entry_message_str_w( entry, utf16_message );
// EXPECT_EQ( entry, result );
// EXPECT_NO_ERROR;
result = stumpless_set_entry_message_str_w( entry, utf16_message );
EXPECT_EQ( entry, result );
EXPECT_NO_ERROR;

// new_message = stumpless_get_entry_message( entry );
// EXPECT_NOT_NULL( new_message );
// EXPECT_NO_ERROR;
// EXPECT_STREQ( utf16_message, new_message );
new_message = stumpless_get_entry_message( entry );
EXPECT_NOT_NULL( new_message );
EXPECT_NO_ERROR;
EXPECT_STREQ( utf8_message, new_message );

// delete[] utf16_message;
// free( ( void * ) new_message );
// stumpless_destroy_entry_and_contents( entry );
// stumpless_free_all( );
// }
delete[] utf16_message;
free( ( void * ) new_message );
stumpless_destroy_entry_and_contents( entry );
stumpless_free_all( );
}



Expand Down

0 comments on commit e380d22

Please sign in to comment.