| // Copyright 2016 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. | 
 |  | 
 | #ifndef BASE_TEST_SCOPED_COMMAND_LINE_H_ | 
 | #define BASE_TEST_SCOPED_COMMAND_LINE_H_ | 
 |  | 
 | #include "base/command_line.h" | 
 |  | 
 | namespace base { | 
 | namespace test { | 
 |  | 
 | // Helper class to restore the original command line at the end of the scope. | 
 | // NOTE: In most unit tests, the command line is automatically restored per | 
 | //       test, so this class is not necessary if the command line applies to | 
 | //       the entire single test. | 
 | class ScopedCommandLine final { | 
 |  public: | 
 |   ScopedCommandLine(); | 
 |   ~ScopedCommandLine(); | 
 |  | 
 |   // Gets the command line for the current process. | 
 |   // NOTE: Do not name this GetCommandLine as this will conflict with Windows's | 
 |   //       GetCommandLine and get renamed to GetCommandLineW. | 
 |   CommandLine* GetProcessCommandLine(); | 
 |  | 
 |  private: | 
 |   const CommandLine original_command_line_; | 
 | }; | 
 |  | 
 | }  // namespace test | 
 | }  // namespace base | 
 |  | 
 | #endif  // BASE_TEST_SCOPED_COMMAND_LINE_H_ |