1. 14 Jan, 2021 1 commit
    • Abseil Team's avatar
      Googletest export · c13c27a5
      Abseil Team authored
      Change Matcher<T> to allow binding an implementation by value directly:
       - Drop the requirement of MatcherInterface. Doing manual type erasure avoid
         extra layers in many cases.
       - Avoid the adaptor for `MatcherInterface<T>` and `MatcherInterface<const T&>` mismatch.
       - Use a small object optimization when possible. This makes things like
         `_` and `Eq(1)` really cheap and do not require memory allocations.
       - Migrate some matchers to the new model to speed them up and to test the new framework. More matchers to come in future changes.
      
      PiperOrigin-RevId: 350580998
      c13c27a5
  2. 09 Dec, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · e5644f5f
      Abseil Team authored
      Introduce a new `Address` matcher to gmock.
      
      PiperOrigin-RevId: 346344591
      e5644f5f
  3. 07 Dec, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · a02a5916
      Abseil Team authored
      Add a `Pointer` matcher as an analog to `Pointee`.
      
      Similar to `Pointee`, `Pointer` works with either raw or smart pointers and
      allows creating a matcher like Pointer(Eq(foo)) for smart pointers.
      
      PiperOrigin-RevId: 346164768
      a02a5916
  4. 03 Dec, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · 93748a94
      Abseil Team authored
      Disable a gmock matcher test under MSVC 2015 (version 14) and earlier.  It interacts badly with Windows structured exceptions in a way we do not have the resources to investigate.  This test passes under MSVC 2017 and SEH.
      
      PiperOrigin-RevId: 345496734
      93748a94
  5. 09 Nov, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · 0c400f67
      Abseil Team authored
      GMock: Make Truly explain when it fails
      
      I just wrote a test that had a matcher of the form
        Optional(AllOf(
          SomeMatcher,
          SomeOtherMatcher,
          Truly(SomePredicate)))
      
      The predicate failed, the other two matchers succeeded, and I got a hard-to-interpret message saying that the value in the optional "didn't match". Didn't match what?
      
      This change improves situations like that slightly by having Truly explain to its result listener when it fails. When there are multiple Trulys in an AllOf, there will be some ambiguity, but it will at least provide more information than right now.
      
      PiperOrigin-RevId: 341105141
      0c400f67
  6. 14 Oct, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · a4621888
      Abseil Team authored
      Add ::testing::FieldsAre matcher for objects that support get<> and structured bindings.
      PiperOrigin-RevId: 337165285
      a4621888
  7. 03 Aug, 2020 8 commits
  8. 15 Jul, 2020 1 commit
    • ofats's avatar
      Googletest export · eb660507
      ofats authored
      Move matchers' tests from *generated* to common files.
      
      PiperOrigin-RevId: 320954068
      eb660507
  9. 10 Jun, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · 13a433a9
      Abseil Team authored
      Change string matchers, like HasSubstr, to accept `string_view` input if available.
      
      PiperOrigin-RevId: 315726484
      13a433a9
  10. 24 Apr, 2020 1 commit
    • Arthur O'Dwyer's avatar
      Remove all uses of GTEST_DISALLOW_{MOVE_,}ASSIGN_. · 766ac2e1
      Arthur O'Dwyer authored
      None of these are strictly needed for correctness.
      A large number of them (maybe all of them?) trigger `-Wdeprecated`
      warnings on Clang trunk as soon as you try to use the implicitly
      defaulted (but deprecated) copy constructor of a class that has
      deleted its copy assignment operator.
      
      By declaring a deleted copy assignment operator, the old code
      also caused the move constructor and move assignment operator
      to be non-declared. This means that the old code never got move
      semantics -- "move-construction" would simply call the defaulted
      (but deprecated) copy constructor instead. With the new code,
      "move-construction" calls the defaulted move constructor, which
      I believe is what we want to happen. So this is a runtime
      performance optimization.
      
      Unfortunately we can't yet physically remove the definitions
      of these macros from gtest-port.h, because they are being used
      by other code internally at Google (according to zhangxy988).
      But no new uses should be added going forward.
      766ac2e1
  11. 17 Mar, 2020 1 commit
    • dmauro's avatar
      Googletest export · c43f7100
      dmauro authored
      Use a polymorphic matcher instead of the GreaterThan<int> test matcher
      to fix the sign-comparison warning on MSVC.
      
      PiperOrigin-RevId: 301163657
      c43f7100
  12. 28 Feb, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · 909b1ccf
      Abseil Team authored
      Relax the implementation of MatcherCast to allow conversion of `Matcher<T>` to
      `Matcher<const T&>`. They have the same match signature.
      
      PiperOrigin-RevId: 297115843
      909b1ccf
  13. 11 Feb, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · 6f5fd0d7
      Abseil Team authored
      Add gmock Matcher<std::string_view> specialization.
      
      PiperOrigin-RevId: 294443240
      6f5fd0d7
  14. 07 Feb, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · 572e261b
      Abseil Team authored
      Fix use of reserved names.
      Minimize code duplication needed for explict-vs-nonexplicit constructor.
      
      PiperOrigin-RevId: 292555014
      572e261b
  15. 13 Jan, 2020 1 commit
  16. 12 Jan, 2020 1 commit
  17. 22 Nov, 2019 2 commits
  18. 22 Oct, 2019 1 commit
    • Abseil Team's avatar
      Googletest export · 011c4e23
      Abseil Team authored
      Rolling forward IsNan() matcher with fixes in test for -Wconversion issues. Use
      std::nanf and std::nanl where appropriate.
      PiperOrigin-RevId: 275523003
      011c4e23
  19. 18 Oct, 2019 1 commit
  20. 17 Oct, 2019 1 commit
  21. 27 Sep, 2019 1 commit
    • Abseil Team's avatar
      Googletest export · cb3f7ce1
      Abseil Team authored
      Makes testing::ResultOf() work with non-copyable arguments.
      
      PiperOrigin-RevId: 271222632
      cb3f7ce1
  22. 23 Sep, 2019 1 commit
    • Krystian Kuzniarek's avatar
      remove GTEST_ARRAY_SIZE_ · e0d16aa3
      Krystian Kuzniarek authored
      This macro didn't work when an array was passed to a function by pointer,
      in which case the information about its size was lost.
      Better alternatives are:
      * std::extent<T>::value (compile-time)
      * std::array<T, N>::size() (compile-time)
      * std::distance(std::begin(array), std::end(array)) (run-time)
      e0d16aa3
  23. 26 Aug, 2019 1 commit
    • misterg's avatar
      Googletest export · 6a3d632f
      misterg authored
      Add tuple version of Optional() matches. This allows Optional() to be used in Pointwise matchers.
      
      PiperOrigin-RevId: 265501882
      6a3d632f
  24. 23 Aug, 2019 1 commit
    • Abseil Team's avatar
      Googletest export · ed2eef65
      Abseil Team authored
      Add tuple version of Optional() matches. This allows Optional() to be used in Pointwise matchers.
      
      PiperOrigin-RevId: 265110864
      ed2eef65
  25. 20 Aug, 2019 1 commit
  26. 14 Aug, 2019 1 commit
  27. 30 Jul, 2019 1 commit
  28. 13 Jun, 2019 1 commit
  29. 06 Apr, 2019 1 commit
    • Enji Cooper's avatar
      clang: fix `-Wsign-conversion` errors · 3829b84e
      Enji Cooper authored
      
      
      Cast some values as their unsigned equivalents or `size_t` to match the
      parameter type used for the template object under test. Also, provide
      UInt32 equivalent delegate methods for some callers (with
      int-equivalents for backwards compatibility).
      
      This closes #2146.
      Signed-off-by: default avatarEnji Cooper <yaneurabeya@gmail.com>
      3829b84e
  30. 01 Apr, 2019 1 commit
    • Abseil Team's avatar
      Googletest export · d9825431
      Abseil Team authored
      Remove support for "global" ::string and ::wstring types.
      This support existed for legacy codebases that existed from before namespaces
      where a thing. It is no longer necessary.
      
      PiperOrigin-RevId: 241335738
      d9825431
  31. 13 Feb, 2019 2 commits