1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef COMPONENTS_DATA_REDUCTION_PROXY_BROWSER_DATA_REDUCTION_PROXY_PARAMS_TEST_UTILS_H_
6 #define COMPONENTS_DATA_REDUCTION_PROXY_BROWSER_DATA_REDUCTION_PROXY_PARAMS_TEST_UTILS_H_
8 #include "components/data_reduction_proxy/browser/data_reduction_proxy_params.h"
10 namespace data_reduction_proxy
{
12 class TestDataReductionProxyParams
: public DataReductionProxyParams
{
14 // Used to emulate having constants defined by the preprocessor.
19 HAS_FALLBACK_ORIGIN
= 0x4,
20 HAS_SSL_ORIGIN
= 0x08,
21 HAS_ALT_ORIGIN
= 0x10,
22 HAS_ALT_FALLBACK_ORIGIN
= 0x20,
24 HAS_EVERYTHING
= 0xff,
27 TestDataReductionProxyParams(int flags
,
28 unsigned int has_definitions
);
29 bool init_result() const;
31 // Test values to replace the values specified in preprocessor defines.
32 static std::string
DefaultDevOrigin();
33 static std::string
DefaultOrigin();
34 static std::string
DefaultFallbackOrigin();
35 static std::string
DefaultSSLOrigin();
36 static std::string
DefaultAltOrigin();
37 static std::string
DefaultAltFallbackOrigin();
38 static std::string
DefaultProbeURL();
40 static std::string
FlagOrigin();
41 static std::string
FlagFallbackOrigin();
42 static std::string
FlagSSLOrigin();
43 static std::string
FlagAltOrigin();
44 static std::string
FlagAltFallbackOrigin();
45 static std::string
FlagProbeURL();
48 virtual std::string
GetDefaultDevOrigin() const OVERRIDE
;
50 virtual std::string
GetDefaultOrigin() const OVERRIDE
;
52 virtual std::string
GetDefaultFallbackOrigin() const OVERRIDE
;
54 virtual std::string
GetDefaultSSLOrigin() const OVERRIDE
;
56 virtual std::string
GetDefaultAltOrigin() const OVERRIDE
;
58 virtual std::string
GetDefaultAltFallbackOrigin() const OVERRIDE
;
60 virtual std::string
GetDefaultProbeURL() const OVERRIDE
;
63 std::string
GetDefinition(unsigned int has_def
,
64 const std::string
& definition
) const;
66 unsigned int has_definitions_
;
70 } // namespace data_reduction_proxy
71 #endif // COMPONENTS_DATA_REDUCTION_PROXY_BROWSER_DATA_REDUCTION_PROXY_PARAMS_TEST_UTILS_H_