Make theme tests compile in Visual Studio 2017

This commit is contained in:
Haoyu Qiu 2022-08-06 13:47:56 +08:00
parent 9be7c49a5d
commit eb176b135a

View file

@ -49,16 +49,24 @@ public:
struct DataEntry {
Theme::DataType type;
Variant value;
} const valid_data[Theme::DATA_TYPE_MAX] = {
} valid_data[Theme::DATA_TYPE_MAX] = {
{ Theme::DATA_TYPE_COLOR, Color() },
{ Theme::DATA_TYPE_CONSTANT, 42 },
{ Theme::DATA_TYPE_FONT, Ref<Font>(memnew(BitmapFont)) },
{ Theme::DATA_TYPE_ICON, Ref<Texture>(memnew(ImageTexture)) },
{ Theme::DATA_TYPE_STYLEBOX, Ref<StyleBox>(memnew(StyleBoxFlat)) },
{ Theme::DATA_TYPE_FONT, Variant() },
{ Theme::DATA_TYPE_ICON, Variant() },
{ Theme::DATA_TYPE_STYLEBOX, Variant() },
};
const StringName valid_item_name = "valid_item_name";
const StringName valid_type_name = "ValidTypeName";
// Part of `valid_data` initialization is moved here so that it compiles in Visual Studio 2017.
// See issue #63975.
Fixture() {
valid_data[Theme::DATA_TYPE_FONT].value = Ref<Font>(memnew(BitmapFont));
valid_data[Theme::DATA_TYPE_ICON].value = Ref<Texture>(memnew(ImageTexture));
valid_data[Theme::DATA_TYPE_STYLEBOX].value = Ref<StyleBox>(memnew(StyleBoxFlat));
}
};
bool test_good_theme_type_names() {