|
23 | 23 | #include "absl/strings/str_cat.h" |
24 | 24 | #include "absl/types/span.h" |
25 | 25 | #include "google/protobuf/compiler/command_line_interface_tester.h" |
| 26 | +#include "google/protobuf/cpp_features.pb.h" |
| 27 | +#include "editions/edition_defaults_test_utils.h" |
26 | 28 | #include "google/protobuf/unittest_features.pb.h" |
27 | 29 | #include "google/protobuf/unittest_invalid_features.pb.h" |
28 | 30 |
|
@@ -2339,15 +2341,14 @@ TEST_F(CommandLineInterfaceTest, EditionDefaultsWithUnstable) { |
2339 | 2341 | ExpectNoErrors(); |
2340 | 2342 |
|
2341 | 2343 | FeatureSetDefaults defaults = ReadEditionDefaults("defaults"); |
2342 | | - EXPECT_EQ(defaults.defaults_size(), 5); |
2343 | | - EXPECT_EQ(defaults.defaults(4).edition(), EDITION_UNSTABLE); |
2344 | | - EXPECT_EQ(defaults.defaults(4) |
2345 | | - .overridable_features() |
| 2344 | + const auto unstable_defaults = FindEditionDefault(defaults, EDITION_UNSTABLE); |
| 2345 | + ASSERT_TRUE(unstable_defaults.has_value()); |
| 2346 | + EXPECT_EQ(unstable_defaults->edition(), EDITION_UNSTABLE); |
| 2347 | + EXPECT_EQ(unstable_defaults->overridable_features() |
2346 | 2348 | .GetExtension(pb::test) |
2347 | 2349 | .new_unstable_feature(), |
2348 | 2350 | pb::UnstableEnumFeature::UNSTABLE2); |
2349 | | - EXPECT_EQ(defaults.defaults(4) |
2350 | | - .overridable_features() |
| 2351 | + EXPECT_EQ(unstable_defaults->overridable_features() |
2351 | 2352 | .GetExtension(pb::test) |
2352 | 2353 | .unstable_existing_feature(), |
2353 | 2354 | pb::UnstableEnumFeature::UNSTABLE3); |
@@ -2442,40 +2443,45 @@ TEST_F(CommandLineInterfaceTest, EditionDefaultsWithExtension) { |
2442 | 2443 | FeatureSetDefaults defaults = ReadEditionDefaults("defaults"); |
2443 | 2444 | EXPECT_EQ(defaults.minimum_edition(), EDITION_PROTO2); |
2444 | 2445 | EXPECT_EQ(defaults.maximum_edition(), EDITION_99999_TEST_ONLY); |
2445 | | - ASSERT_EQ(defaults.defaults_size(), 8); |
2446 | | - EXPECT_EQ(defaults.defaults(0).edition(), EDITION_LEGACY); |
2447 | | - EXPECT_EQ(defaults.defaults(2).edition(), EDITION_2023); |
2448 | | - EXPECT_EQ(defaults.defaults(3).edition(), EDITION_2024); |
2449 | | - EXPECT_EQ(defaults.defaults(4).edition(), EDITION_UNSTABLE); |
2450 | | - EXPECT_EQ(defaults.defaults(5).edition(), EDITION_99997_TEST_ONLY); |
2451 | | - EXPECT_EQ(defaults.defaults(6).edition(), EDITION_99998_TEST_ONLY); |
2452 | | - EXPECT_EQ(defaults.defaults(0) |
2453 | | - .fixed_features() |
| 2446 | + EXPECT_EQ(FindEditionDefault(defaults, EDITION_LEGACY)->edition(), |
| 2447 | + EDITION_LEGACY); |
| 2448 | + EXPECT_EQ(FindEditionDefault(defaults, EDITION_2023)->edition(), |
| 2449 | + EDITION_2023); |
| 2450 | + EXPECT_EQ(FindEditionDefault(defaults, EDITION_2024)->edition(), |
| 2451 | + EDITION_2024); |
| 2452 | + EXPECT_EQ(FindEditionDefault(defaults, EDITION_UNSTABLE)->edition(), |
| 2453 | + EDITION_UNSTABLE); |
| 2454 | + EXPECT_EQ(FindEditionDefault(defaults, EDITION_99997_TEST_ONLY)->edition(), |
| 2455 | + EDITION_99997_TEST_ONLY); |
| 2456 | + EXPECT_EQ(FindEditionDefault(defaults, EDITION_99998_TEST_ONLY)->edition(), |
| 2457 | + EDITION_99998_TEST_ONLY); |
| 2458 | + EXPECT_EQ(FindEditionDefault(defaults, EDITION_LEGACY) |
| 2459 | + ->fixed_features() |
2454 | 2460 | .GetExtension(pb::test) |
2455 | 2461 | .file_feature(), |
2456 | 2462 | pb::EnumFeature::VALUE1); |
2457 | | - EXPECT_EQ(defaults.defaults(2) |
2458 | | - .overridable_features() |
| 2463 | + EXPECT_EQ(FindEditionDefault(defaults, EDITION_2023) |
| 2464 | + ->overridable_features() |
2459 | 2465 | .GetExtension(pb::test) |
2460 | 2466 | .file_feature(), |
2461 | 2467 | pb::EnumFeature::VALUE3); |
2462 | | - EXPECT_EQ(defaults.defaults(3) |
2463 | | - .overridable_features() |
| 2468 | + EXPECT_EQ(FindEditionDefault(defaults, EDITION_2024) |
| 2469 | + ->overridable_features() |
2464 | 2470 | .GetExtension(pb::test) |
2465 | 2471 | .file_feature(), |
2466 | 2472 | pb::EnumFeature::VALUE3); |
2467 | | - EXPECT_EQ(defaults.defaults(4) |
2468 | | - .overridable_features() |
| 2473 | + EXPECT_EQ(FindEditionDefault(defaults, EDITION_UNSTABLE) |
| 2474 | + ->overridable_features() |
2469 | 2475 | .GetExtension(pb::test) |
2470 | 2476 | .new_unstable_feature(), |
2471 | 2477 | pb::UnstableEnumFeature::UNSTABLE2); |
2472 | | - EXPECT_EQ(defaults.defaults(5) |
2473 | | - .overridable_features() |
| 2478 | + EXPECT_EQ(FindEditionDefault(defaults, EDITION_99997_TEST_ONLY) |
| 2479 | + ->overridable_features() |
2474 | 2480 | .GetExtension(pb::test) |
2475 | 2481 | .file_feature(), |
2476 | 2482 | pb::EnumFeature::VALUE4); |
2477 | | - EXPECT_EQ(defaults.defaults(6) |
2478 | | - .overridable_features() |
| 2483 | + EXPECT_EQ(FindEditionDefault(defaults, EDITION_99998_TEST_ONLY) |
| 2484 | + ->overridable_features() |
2479 | 2485 | .GetExtension(pb::test) |
2480 | 2486 | .file_feature(), |
2481 | 2487 | pb::EnumFeature::VALUE5); |
|
0 commit comments