text: // Copyright 2017 The Chromium Authors. All rights reserved.
  // Use of this source code is governed by a BSD-style license that can be
  // found in the LICENSE file.
  
  #include "components/prefs/persistent_pref_store.h"
  
  #include "base/bind.h"
  #include "base/run_loop.h"
  #include "base/sequence_checker_impl.h"
  #include "base/test/scoped_task_environment.h"
  #include "testing/gtest/include/gtest/gtest.h"
  
  void TestCommitPendingWriteWithCallback(
      PersistentPrefStore* store,
      base::test::ScopedTaskEnvironment* scoped_task_environment) {
    base::RunLoop run_loop;
    base::SequenceCheckerImpl sequence_checker;
    store->CommitPendingWrite(base::BindOnce(
        [](base::SequenceCheckerImpl* sequence_checker, base::RunLoop* run_loop) {
          EXPECT_TRUE(sequence_checker->CalledOnValidSequence());
          run_loop->Quit();
        },
        base::Unretained(&sequence_checker), base::Unretained(&run_loop)));
    scoped_task_environment->RunUntilIdle();
    run_loop.Run();
  }
  