test/fmw/gtest/googlemock/include/gmock/gmock-generated-nice-strict.h.pump
author mbaesken
Wed, 06 Nov 2019 14:04:07 +0100
changeset 58959 b7b170ba3ba9
parent 55049 4853b1ceb3d6
permissions -rw-r--r--
8233328: fix minimal VM build on Linux s390x Reviewed-by: lucy, mdoerr
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
55049
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
     1
$$ -*- mode: c++; -*-
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
     2
$$ This is a Pump source file. Please use Pump to convert
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
     3
$$ it to gmock-generated-nice-strict.h.
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
     4
$$
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
     5
$var n = 10  $$ The maximum arity we support.
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
     6
// Copyright 2008, Google Inc.
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
     7
// All rights reserved.
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
     8
//
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
     9
// Redistribution and use in source and binary forms, with or without
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    10
// modification, are permitted provided that the following conditions are
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    11
// met:
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    12
//
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    13
//     * Redistributions of source code must retain the above copyright
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    14
// notice, this list of conditions and the following disclaimer.
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    15
//     * Redistributions in binary form must reproduce the above
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    16
// copyright notice, this list of conditions and the following disclaimer
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    17
// in the documentation and/or other materials provided with the
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    18
// distribution.
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    19
//     * Neither the name of Google Inc. nor the names of its
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    20
// contributors may be used to endorse or promote products derived from
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    21
// this software without specific prior written permission.
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    22
//
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    23
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    24
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    25
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    26
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    27
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    28
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    29
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    30
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    31
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    32
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    33
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    34
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    35
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    36
// Implements class templates NiceMock, NaggyMock, and StrictMock.
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    37
//
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    38
// Given a mock class MockFoo that is created using Google Mock,
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    39
// NiceMock<MockFoo> is a subclass of MockFoo that allows
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    40
// uninteresting calls (i.e. calls to mock methods that have no
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    41
// EXPECT_CALL specs), NaggyMock<MockFoo> is a subclass of MockFoo
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    42
// that prints a warning when an uninteresting call occurs, and
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    43
// StrictMock<MockFoo> is a subclass of MockFoo that treats all
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    44
// uninteresting calls as errors.
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    45
//
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    46
// Currently a mock is naggy by default, so MockFoo and
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    47
// NaggyMock<MockFoo> behave like the same.  However, we will soon
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    48
// switch the default behavior of mocks to be nice, as that in general
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    49
// leads to more maintainable tests.  When that happens, MockFoo will
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    50
// stop behaving like NaggyMock<MockFoo> and start behaving like
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    51
// NiceMock<MockFoo>.
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    52
//
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    53
// NiceMock, NaggyMock, and StrictMock "inherit" the constructors of
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    54
// their respective base class.  Therefore you can write
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    55
// NiceMock<MockFoo>(5, "a") to construct a nice mock where MockFoo
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    56
// has a constructor that accepts (int, const char*), for example.
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    57
//
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    58
// A known limitation is that NiceMock<MockFoo>, NaggyMock<MockFoo>,
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    59
// and StrictMock<MockFoo> only works for mock methods defined using
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    60
// the MOCK_METHOD* family of macros DIRECTLY in the MockFoo class.
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    61
// If a mock method is defined in a base class of MockFoo, the "nice"
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    62
// or "strict" modifier may not affect it, depending on the compiler.
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    63
// In particular, nesting NiceMock, NaggyMock, and StrictMock is NOT
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    64
// supported.
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    65
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    66
// GOOGLETEST_CM0002 DO NOT DELETE
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    67
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    68
#ifndef GMOCK_INCLUDE_GMOCK_GMOCK_GENERATED_NICE_STRICT_H_
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    69
#define GMOCK_INCLUDE_GMOCK_GMOCK_GENERATED_NICE_STRICT_H_
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    70
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    71
#include "gmock/gmock-spec-builders.h"
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    72
#include "gmock/internal/gmock-port.h"
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    73
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    74
namespace testing {
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    75
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    76
$range kind 0..2
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    77
$for kind [[
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    78
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    79
$var clazz=[[$if kind==0 [[NiceMock]]
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    80
             $elif kind==1 [[NaggyMock]]
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    81
             $else [[StrictMock]]]]
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    82
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    83
$var method=[[$if kind==0 [[AllowUninterestingCalls]]
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    84
             $elif kind==1 [[WarnUninterestingCalls]]
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    85
             $else [[FailUninterestingCalls]]]]
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    86
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    87
template <class MockClass>
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    88
class $clazz : public MockClass {
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    89
 public:
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    90
  $clazz() : MockClass() {
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    91
    ::testing::Mock::$method(
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    92
        internal::ImplicitCast_<MockClass*>(this));
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    93
  }
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    94
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    95
#if GTEST_LANG_CXX11
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    96
  // Ideally, we would inherit base class's constructors through a using
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    97
  // declaration, which would preserve their visibility. However, many existing
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    98
  // tests rely on the fact that current implementation reexports protected
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
    99
  // constructors as public. These tests would need to be cleaned up first.
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   100
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   101
  // Single argument constructor is special-cased so that it can be
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   102
  // made explicit.
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   103
  template <typename A>
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   104
  explicit $clazz(A&& arg) : MockClass(std::forward<A>(arg)) {
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   105
    ::testing::Mock::$method(
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   106
        internal::ImplicitCast_<MockClass*>(this));
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   107
  }
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   108
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   109
  template <typename A1, typename A2, typename... An>
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   110
  $clazz(A1&& arg1, A2&& arg2, An&&... args)
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   111
      : MockClass(std::forward<A1>(arg1), std::forward<A2>(arg2),
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   112
                  std::forward<An>(args)...) {
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   113
    ::testing::Mock::$method(
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   114
        internal::ImplicitCast_<MockClass*>(this));
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   115
  }
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   116
#else
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   117
  // C++98 doesn't have variadic templates, so we have to define one
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   118
  // for each arity.
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   119
  template <typename A1>
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   120
  explicit $clazz(const A1& a1) : MockClass(a1) {
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   121
    ::testing::Mock::$method(
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   122
        internal::ImplicitCast_<MockClass*>(this));
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   123
  }
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   124
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   125
$range i 2..n
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   126
$for i [[
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   127
$range j 1..i
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   128
  template <$for j, [[typename A$j]]>
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   129
  $clazz($for j, [[const A$j& a$j]]) : MockClass($for j, [[a$j]]) {
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   130
    ::testing::Mock::$method(
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   131
        internal::ImplicitCast_<MockClass*>(this));
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   132
  }
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   133
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   134
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   135
]]
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   136
#endif  // GTEST_LANG_CXX11
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   137
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   138
  ~$clazz() {
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   139
    ::testing::Mock::UnregisterCallReaction(
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   140
        internal::ImplicitCast_<MockClass*>(this));
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   141
  }
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   142
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   143
 private:
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   144
  GTEST_DISALLOW_COPY_AND_ASSIGN_($clazz);
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   145
};
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   146
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   147
]]
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   148
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   149
// The following specializations catch some (relatively more common)
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   150
// user errors of nesting nice and strict mocks.  They do NOT catch
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   151
// all possible errors.
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   152
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   153
// These specializations are declared but not defined, as NiceMock,
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   154
// NaggyMock, and StrictMock cannot be nested.
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   155
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   156
template <typename MockClass>
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   157
class NiceMock<NiceMock<MockClass> >;
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   158
template <typename MockClass>
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   159
class NiceMock<NaggyMock<MockClass> >;
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   160
template <typename MockClass>
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   161
class NiceMock<StrictMock<MockClass> >;
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   162
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   163
template <typename MockClass>
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   164
class NaggyMock<NiceMock<MockClass> >;
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   165
template <typename MockClass>
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   166
class NaggyMock<NaggyMock<MockClass> >;
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   167
template <typename MockClass>
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   168
class NaggyMock<StrictMock<MockClass> >;
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   169
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   170
template <typename MockClass>
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   171
class StrictMock<NiceMock<MockClass> >;
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   172
template <typename MockClass>
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   173
class StrictMock<NaggyMock<MockClass> >;
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   174
template <typename MockClass>
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   175
class StrictMock<StrictMock<MockClass> >;
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   176
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   177
}  // namespace testing
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   178
4853b1ceb3d6 8222414: bring googlemock v1.8.1
iignatyev
parents:
diff changeset
   179
#endif  // GMOCK_INCLUDE_GMOCK_GMOCK_GENERATED_NICE_STRICT_H_