TRX/test/main.c

78 lines
2.6 KiB
C
Raw Normal View History

2021-03-07 15:12:48 +01:00
#include "config.h"
#include "test.h"
2021-03-07 15:59:00 +01:00
#include <stdlib.h>
#include <string.h>
2021-03-07 15:12:48 +01:00
2021-03-07 15:59:00 +01:00
void test_empty_config()
2021-03-07 15:12:48 +01:00
{
2021-03-07 15:59:00 +01:00
T1MReadConfigFromJson("");
2021-03-07 15:12:48 +01:00
ASSERT_INT_EQUAL(T1MConfig.disable_healing_between_levels, 0);
ASSERT_INT_EQUAL(T1MConfig.disable_medpacks, 0);
ASSERT_INT_EQUAL(T1MConfig.disable_magnums, 0);
ASSERT_INT_EQUAL(T1MConfig.disable_uzis, 0);
ASSERT_INT_EQUAL(T1MConfig.disable_shotgun, 0);
ASSERT_INT_EQUAL(T1MConfig.enable_enemy_healthbar, 1);
ASSERT_INT_EQUAL(T1MConfig.enable_enhanced_look, 1);
ASSERT_INT_EQUAL(T1MConfig.enable_enhanced_ui, 1);
ASSERT_INT_EQUAL(T1MConfig.enable_shotgun_flash, 1);
ASSERT_INT_EQUAL(T1MConfig.enable_numeric_keys, 1);
ASSERT_INT_EQUAL(T1MConfig.enable_tr3_sidesteps, 1);
ASSERT_INT_EQUAL(T1MConfig.enable_cheats, 0);
ASSERT_INT_EQUAL(T1MConfig.enable_braid, 0);
ASSERT_INT_EQUAL(
T1MConfig.healthbar_showing_mode, T1M_BSM_FLASHING_OR_DEFAULT);
ASSERT_INT_EQUAL(T1MConfig.healthbar_location, T1M_BL_TOP_LEFT);
ASSERT_INT_EQUAL(T1MConfig.healthbar_color, T1M_BC_RED);
ASSERT_INT_EQUAL(T1MConfig.airbar_showing_mode, T1M_BSM_DEFAULT);
ASSERT_INT_EQUAL(T1MConfig.airbar_location, T1M_BL_TOP_RIGHT);
ASSERT_INT_EQUAL(T1MConfig.airbar_color, T1M_BC_BLUE);
ASSERT_INT_EQUAL(T1MConfig.enemy_healthbar_location, T1M_BL_BOTTOM_LEFT);
ASSERT_INT_EQUAL(T1MConfig.enemy_healthbar_color, T1M_BC_GREY);
ASSERT_INT_EQUAL(T1MConfig.fix_key_triggers, 1);
ASSERT_INT_EQUAL(T1MConfig.fix_end_of_level_freeze, 1);
ASSERT_INT_EQUAL(T1MConfig.fix_tihocan_secret_sound, 1);
ASSERT_INT_EQUAL(T1MConfig.fix_pyramid_secret_trigger, 1);
ASSERT_INT_EQUAL(T1MConfig.fix_hardcoded_secret_counts, 1);
ASSERT_INT_EQUAL(T1MConfig.fix_illegal_gun_equip, 1);
ASSERT_INT_EQUAL(T1MConfig.fov_value, 65);
ASSERT_INT_EQUAL(T1MConfig.fov_vertical, 1);
}
2021-03-07 15:59:00 +01:00
void test_config_override()
{
FILE* fp = fopen("Tomb1Main.json5", "rb");
ASSERT_OK(!!fp);
fseek(fp, 0, SEEK_END);
int cfg_size = ftell(fp);
fseek(fp, 0, SEEK_SET);
char* cfg_data = malloc(cfg_size);
ASSERT_OK(!!cfg_data);
fread(cfg_data, 1, cfg_size, fp);
fclose(fp);
char* tmp = strstr(cfg_data, "enable_cheats\": false");
ASSERT_OK(!!tmp);
tmp = strstr(tmp, "false");
ASSERT_OK(!!tmp);
memcpy(tmp, "true ", 5);
T1MReadConfigFromJson("");
ASSERT_INT_EQUAL(T1MConfig.enable_cheats, 0);
T1MReadConfigFromJson(cfg_data);
ASSERT_INT_EQUAL(T1MConfig.enable_cheats, 1);
free(cfg_data);
}
2021-03-07 15:12:48 +01:00
int main(int argc, char* argv[])
{
2021-03-07 15:59:00 +01:00
test_empty_config();
test_config_override();
2021-03-07 15:12:48 +01:00
TEST_RESULTS();
}