// Duplicate trials with the same value is fine
EXPECT_THAT(FieldTrials::Create("Audio/Enabled/Audio/Enabled/"), NotNull());
EXPECT_THAT(FieldTrials::Create("Audio/Enabled/B/C/Audio/Enabled/"),
NotNull());
}
// Empty trial or group
EXPECT_THAT(FieldTrials::Create("Audio//"), IsNull());
EXPECT_THAT(FieldTrials::Create("/Enabled/"), IsNull());
EXPECT_THAT(FieldTrials::Create("//"), IsNull());
EXPECT_THAT(FieldTrials::Create("//Enabled"), IsNull());
// Duplicate trials with different values is not fine
EXPECT_THAT(FieldTrials::Create("Audio/Enabled/Audio/Disabled/"), IsNull());
EXPECT_THAT(FieldTrials::Create("Audio/Enabled/B/C/Audio/Disabled/"),
IsNull());
EXPECT_THAT(FieldTrials::Create("Audio/Enabled/Audio/Disabled/"), IsNull());
EXPECT_THAT(FieldTrials::Create("Audio/Enabled/B/C/Audio/Disabled/"),
IsNull());
}
TEST(FieldTrialsTest, StringfiyMentionsKeysAndValues) { // Exact format of the stringification is undefined.
EXPECT_THAT(absl::StrCat(FieldTrials("Audio/Enabled/Video/Value/")),
AllOf(HasSubstr("Audio"), HasSubstr("Enabled"),
HasSubstr("Video"), HasSubstr("Value")));
}
// Has never been read, modifyable
f.Set("Audio", "Disabled");
EXPECT_EQ(f.Lookup("Audio"), "Disabled");
// A copy can be modified.
FieldTrials c(f);
c.Set("Audio", "Enabled");
#if RTC_DCHECK_IS_ON && GTEST_HAS_DEATH_TEST && !defined(WEBRTC_ANDROID) // But FieldTrials that have been read from, // must not be modified (as documented in FieldTrialsView).
EXPECT_DEATH(f.Set("Audio", "Enabled"), ""); #endif
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.