Use ScopedFieldTrials in FieldTrialsTest

Resetting the global state between runs was previously handled by a
RAII type, but the semantics of that type changed to remove this
behavior in [1].

[1] https://webrtc-review.googlesource.com/c/src/+/276269

Bug: webrtc:14731, webrtc:14705
Change-Id: I8425cb71f49ea000434d500e0b3978324e4c3195
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/285782
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38800}
diff --git a/api/BUILD.gn b/api/BUILD.gn
index dfb2aa1..7d76433 100644
--- a/api/BUILD.gn
+++ b/api/BUILD.gn
@@ -1367,6 +1367,7 @@
       "../rtc_base/containers:flat_set",
       "../rtc_base/task_utils:repeating_task",
       "../system_wrappers:field_trial",
+      "../test:field_trial",
       "../test:fileutils",
       "../test:rtc_expect_death",
       "../test:test_support",
diff --git a/api/field_trials_unittest.cc b/api/field_trials_unittest.cc
index 7366775..804b52a 100644
--- a/api/field_trials_unittest.cc
+++ b/api/field_trials_unittest.cc
@@ -17,6 +17,7 @@
 #include "api/transport/field_trial_based_config.h"
 #include "rtc_base/containers/flat_set.h"
 #include "system_wrappers/include/field_trial.h"
+#include "test/field_trial.h"
 #include "test/gmock.h"
 #include "test/gtest.h"
 
@@ -29,7 +30,7 @@
 
 using ::testing::NotNull;
 using ::webrtc::field_trial::FieldTrialsAllowedInScopeForTesting;
-using ::webrtc::field_trial::InitFieldTrialsFromString;
+using ::webrtc::test::ScopedFieldTrials;
 
 TEST(FieldTrialsTest, EmptyStringHasNoEffect) {
   FieldTrialsAllowedInScopeForTesting k({"MyCoolTrial"});
@@ -54,8 +55,7 @@
 
 TEST(FieldTrialsTest, FieldTrialsDoesNotReadGlobalString) {
   FieldTrialsAllowedInScopeForTesting k({"MyCoolTrial", "MyUncoolTrial"});
-  static constexpr char s[] = "MyCoolTrial/Enabled/MyUncoolTrial/Disabled/";
-  InitFieldTrialsFromString(s);
+  ScopedFieldTrials g("MyCoolTrial/Enabled/MyUncoolTrial/Disabled/");
   FieldTrials f("");
   f.RegisterKeysForTesting({"MyCoolTrial", "MyUncoolTrial"});
 
@@ -72,7 +72,7 @@
 
 TEST(FieldTrialsTest, FieldTrialsRestoresGlobalStringAfterDestruction) {
   static constexpr char s[] = "SomeString/Enabled/";
-  InitFieldTrialsFromString(s);
+  ScopedFieldTrials g(s);
   {
     FieldTrials f("SomeOtherString/Enabled/");
     EXPECT_STREQ(webrtc::field_trial::GetFieldTrialString(),
@@ -140,8 +140,7 @@
 
 TEST(FieldTrialsTest, FieldTrialBasedConfigReadsGlobalString) {
   FieldTrialsAllowedInScopeForTesting k({"MyCoolTrial", "MyUncoolTrial"});
-  static constexpr char s[] = "MyCoolTrial/Enabled/MyUncoolTrial/Disabled/";
-  InitFieldTrialsFromString(s);
+  ScopedFieldTrials g("MyCoolTrial/Enabled/MyUncoolTrial/Disabled/");
   FieldTrialBasedConfig f;
   f.RegisterKeysForTesting({"MyCoolTrial", "MyUncoolTrial"});