kicad/thirdparty/sentry-native/tests/unit/test_options.c

55 lines
1.7 KiB
C

#include "sentry_options.h"
#include "sentry_testsupport.h"
SENTRY_TEST(options_sdk_name_defaults)
{
sentry_options_t *options = sentry_options_new();
// when nothing is set
// then both sdk name and user agent should default to the build time
// directives
TEST_CHECK_STRING_EQUAL(
sentry_options_get_sdk_name(options), SENTRY_SDK_NAME);
TEST_CHECK_STRING_EQUAL(
sentry_options_get_user_agent(options), SENTRY_SDK_USER_AGENT);
sentry_options_free(options);
}
SENTRY_TEST(options_sdk_name_custom)
{
sentry_options_t *options = sentry_options_new();
// when the sdk name is set to a custom string
const int result
= sentry_options_set_sdk_name(options, "sentry.native.android.flutter");
// both the sdk_name and user_agent should reflect this change
TEST_CHECK_INT_EQUAL(result, 0);
TEST_CHECK_STRING_EQUAL(
sentry_options_get_sdk_name(options), "sentry.native.android.flutter");
TEST_CHECK_STRING_EQUAL(sentry_options_get_user_agent(options),
"sentry.native.android.flutter/" SENTRY_SDK_VERSION);
sentry_options_free(options);
}
SENTRY_TEST(options_sdk_name_invalid)
{
sentry_options_t *options = sentry_options_new();
// when the sdk name is set to an invalid value
const char *sdk_name = NULL;
const int result = sentry_options_set_sdk_name(options, sdk_name);
// then the value should be ignored
TEST_CHECK_INT_EQUAL(result, 1);
TEST_CHECK_STRING_EQUAL(
sentry_options_get_sdk_name(options), SENTRY_SDK_NAME);
TEST_CHECK_STRING_EQUAL(
sentry_options_get_user_agent(options), SENTRY_SDK_USER_AGENT);
sentry_options_free(options);
}