tesseract v5.3.3.20231005
gmock_link_test.h File Reference
#include "gmock/gmock.h"
#include <errno.h>
#include <iostream>
#include <vector>
#include "gtest/gtest.h"
#include "gtest/internal/gtest-port.h"

Go to the source code of this file.

Classes

class  Interface
 
class  Mock
 
class  InvokeHelper
 
class  FieldHelper
 

Functions

 TEST (LinkTest, TestReturnVoid)
 
 TEST (LinkTest, TestReturn)
 
 TEST (LinkTest, TestReturnNull)
 
 TEST (LinkTest, TestReturnRef)
 
 TEST (LinkTest, TestAssign)
 
 TEST (LinkTest, TestSetArgPointee)
 
 TEST (LinkTest, TestSetArrayArgument)
 
 TEST (LinkTest, TestSetErrnoAndReturn)
 
 TEST (LinkTest, TestInvoke)
 
 TEST (LinkTest, TestInvokeWithoutArgs)
 
 TEST (LinkTest, TestInvokeArgument)
 
 TEST (LinkTest, TestWithArg)
 
 TEST (LinkTest, TestWithArgs)
 
 TEST (LinkTest, TestWithoutArgs)
 
 TEST (LinkTest, TestDoAll)
 
 TEST (LinkTest, TestDoDefault)
 
 TEST (LinkTest, TestIgnoreResult)
 
 TEST (LinkTest, TestActionMacro)
 
 TEST (LinkTest, TestActionPMacro)
 
 TEST (LinkTest, TestActionP2Macro)
 
 TEST (LinkTest, TestMatcherAnything)
 
 TEST (LinkTest, TestMatcherA)
 
 TEST (LinkTest, TestMatchersEq)
 
 TEST (LinkTest, TestMatchersRelations)
 
 TEST (LinkTest, TestMatcherNotNull)
 
 TEST (LinkTest, TestMatcherIsNull)
 
 TEST (LinkTest, TestMatcherRef)
 
 TEST (LinkTest, TestMatcherTypedEq)
 
 TEST (LinkTest, TestMatchersFloatingPoint)
 
 TEST (LinkTest, TestMatcherContainsRegex)
 
 TEST (LinkTest, TestMatcherMatchesRegex)
 
 TEST (LinkTest, TestMatchersSubstrings)
 
 TEST (LinkTest, TestMatchersStringEquality)
 
 TEST (LinkTest, TestMatcherElementsAre)
 
 TEST (LinkTest, TestMatcherElementsAreArray)
 
 TEST (LinkTest, TestMatcherIsSubsetOf)
 
 TEST (LinkTest, TestMatcherIsSupersetOf)
 
 TEST (LinkTest, TestMatcherContainerEq)
 
 TEST (LinkTest, TestMatcherField)
 
 TEST (LinkTest, TestMatcherProperty)
 
 TEST (LinkTest, TestMatcherResultOf)
 
 TEST (LinkTest, TestMatcherPointee)
 
 TEST (LinkTest, TestMatcherTruly)
 
 TEST (LinkTest, TestMatcherAllOf)
 
 TEST (LinkTest, TestMatcherAnyOf)
 
 TEST (LinkTest, TestMatcherNot)
 
 TEST (LinkTest, TestMatcherCast)
 

Function Documentation

◆ TEST() [1/47]

TEST ( LinkTest  ,
TestActionMacro   
)

Definition at line 436 of file gmock_link_test.h.

436 {
437 Mock mock;
438
439 EXPECT_CALL(mock, IntFromString(_)).WillOnce(Return1());
440 mock.IntFromString(nullptr);
441}
#define EXPECT_CALL(obj, call)
virtual int IntFromString(char *str)=0

◆ TEST() [2/47]

TEST ( LinkTest  ,
TestActionP2Macro   
)

Definition at line 466 of file gmock_link_test.h.

466 {
467 Mock mock;
468 char ch = 'x';
469
470 EXPECT_CALL(mock, IntFromString(_))
471 .WillOnce(ReturnEqualsEitherOf("one", "two"));
472 mock.IntFromString(&ch);
473}

◆ TEST() [3/47]

TEST ( LinkTest  ,
TestActionPMacro   
)

Definition at line 448 of file gmock_link_test.h.

448 {
449 Mock mock;
450
451 EXPECT_CALL(mock, IntFromString(_)).WillOnce(ReturnArgument(42));
452 mock.IntFromString(nullptr);
453}

◆ TEST() [4/47]

TEST ( LinkTest  ,
TestAssign   
)

Definition at line 281 of file gmock_link_test.h.

281 {
282 Mock mock;
283 char ch = 'x';
284
285 EXPECT_CALL(mock, VoidFromString(_)).WillOnce(Assign(&ch, 'y'));
286 mock.VoidFromString(nullptr);
287}
PolymorphicAction< internal::AssignAction< T1, T2 > > Assign(T1 *ptr, T2 val)
virtual void VoidFromString(char *str)=0

◆ TEST() [5/47]

TEST ( LinkTest  ,
TestDoAll   
)

Definition at line 384 of file gmock_link_test.h.

384 {
385 Mock mock;
386 char ch = 'x';
387
388 EXPECT_CALL(mock, VoidFromString(_))
389 .WillOnce(DoAll(SetArgPointee<0>('y'), Return()));
390 mock.VoidFromString(&ch);
391}
internal::DoAllAction< typename std::decay< Action >::type... > DoAll(Action &&... action)
internal::ReturnAction< R > Return(R value)

◆ TEST() [6/47]

TEST ( LinkTest  ,
TestDoDefault   
)

Definition at line 394 of file gmock_link_test.h.

394 {
395 Mock mock;
396 char ch = 'x';
397
398 ON_CALL(mock, VoidFromString(_)).WillByDefault(Return());
399 EXPECT_CALL(mock, VoidFromString(_)).WillOnce(DoDefault());
400 mock.VoidFromString(&ch);
401}
#define ON_CALL(obj, call)
internal::DoDefaultAction DoDefault()

◆ TEST() [7/47]

TEST ( LinkTest  ,
TestIgnoreResult   
)

Definition at line 404 of file gmock_link_test.h.

404 {
405 Mock mock;
406
407 EXPECT_CALL(mock, VoidFromString(_)).WillOnce(IgnoreResult(Return(42)));
408 mock.VoidFromString(nullptr);
409}
internal::IgnoreResultAction< A > IgnoreResult(const A &an_action)

◆ TEST() [8/47]

TEST ( LinkTest  ,
TestInvoke   
)

Definition at line 324 of file gmock_link_test.h.

324 {
325 Mock mock;
326 InvokeHelper test_invoke_helper;
327
328 EXPECT_CALL(mock, VoidFromString(_))
330 .WillOnce(Invoke(&test_invoke_helper, &InvokeHelper::VoidFromString));
331 mock.VoidFromString(nullptr);
332 mock.VoidFromString(nullptr);
333}
std::decay< FunctionImpl >::type Invoke(FunctionImpl &&function_impl)
static void StaticVoidFromString(char *)
void VoidFromString(char *)

◆ TEST() [9/47]

TEST ( LinkTest  ,
TestInvokeArgument   
)

Definition at line 349 of file gmock_link_test.h.

349 {
350 Mock mock;
351 char ch = 'x';
352
353 EXPECT_CALL(mock, VoidFromFunc(_)).WillOnce(InvokeArgument<0>(&ch));
355}
virtual void VoidFromFunc(void(*func)(char *str))=0

◆ TEST() [10/47]

TEST ( LinkTest  ,
TestInvokeWithoutArgs   
)

Definition at line 336 of file gmock_link_test.h.

336 {
337 Mock mock;
338 InvokeHelper test_invoke_helper;
339
340 EXPECT_CALL(mock, VoidFromString(_))
342 .WillOnce(InvokeWithoutArgs(&test_invoke_helper,
344 mock.VoidFromString(nullptr);
345 mock.VoidFromString(nullptr);
346}
internal::InvokeWithoutArgsAction< typename std::decay< FunctionImpl >::type > InvokeWithoutArgs(FunctionImpl function_impl)
static void StaticVoidFromVoid()

◆ TEST() [11/47]

TEST ( LinkTest  ,
TestMatcherA   
)

Definition at line 483 of file gmock_link_test.h.

483 {
484 Mock mock;
485
486 ON_CALL(mock, VoidFromString(A<char*>())).WillByDefault(Return());
487}

◆ TEST() [12/47]

TEST ( LinkTest  ,
TestMatcherAllOf   
)

Definition at line 667 of file gmock_link_test.h.

667 {
668 Matcher<int> m = AllOf(_, Eq(1));
669 EXPECT_TRUE(m.Matches(1));
670}
#define EXPECT_TRUE(condition)
Definition: gtest.h:1982

◆ TEST() [13/47]

TEST ( LinkTest  ,
TestMatcherAnyOf   
)

Definition at line 673 of file gmock_link_test.h.

673 {
674 Matcher<int> m = AnyOf(_, Eq(1));
675 EXPECT_TRUE(m.Matches(1));
676}

◆ TEST() [14/47]

TEST ( LinkTest  ,
TestMatcherAnything   
)

Definition at line 476 of file gmock_link_test.h.

476 {
477 Mock mock;
478
479 ON_CALL(mock, VoidFromString(_)).WillByDefault(Return());
480}

◆ TEST() [15/47]

TEST ( LinkTest  ,
TestMatcherCast   
)

Definition at line 685 of file gmock_link_test.h.

685 {
686 Matcher<const char*> m = MatcherCast<const char*>(_);
687 EXPECT_TRUE(m.Matches(nullptr));
688}

◆ TEST() [16/47]

TEST ( LinkTest  ,
TestMatcherContainerEq   
)

Definition at line 617 of file gmock_link_test.h.

617 {
618 Mock mock;
619 std::vector<int> v;
620
621 ON_CALL(mock, VoidFromVector(ContainerEq(v))).WillByDefault(Return());
622}

◆ TEST() [17/47]

TEST ( LinkTest  ,
TestMatcherContainsRegex   
)

Definition at line 554 of file gmock_link_test.h.

554 {
555 Mock mock;
556
557 ON_CALL(mock, VoidFromString(ContainsRegex(".*"))).WillByDefault(Return());
558}

◆ TEST() [18/47]

TEST ( LinkTest  ,
TestMatcherElementsAre   
)

Definition at line 586 of file gmock_link_test.h.

586 {
587 Mock mock;
588
589 ON_CALL(mock, VoidFromVector(ElementsAre('a', _))).WillByDefault(Return());
590}

◆ TEST() [19/47]

TEST ( LinkTest  ,
TestMatcherElementsAreArray   
)

Definition at line 593 of file gmock_link_test.h.

593 {
594 Mock mock;
595 char arr[] = { 'a', 'b' };
596
597 ON_CALL(mock, VoidFromVector(ElementsAreArray(arr))).WillByDefault(Return());
598}

◆ TEST() [20/47]

TEST ( LinkTest  ,
TestMatcherField   
)

Definition at line 625 of file gmock_link_test.h.

625 {
626 FieldHelper helper(0);
627
629 EXPECT_TRUE(m.Matches(helper));
630
632 EXPECT_TRUE(m2.Matches(&helper));
633}

◆ TEST() [21/47]

TEST ( LinkTest  ,
TestMatcherIsNull   
)

Definition at line 518 of file gmock_link_test.h.

518 {
519 Mock mock;
520
521 ON_CALL(mock, VoidFromString(IsNull())).WillByDefault(Return());
522}
AssertionResult IsNull(const char *str)

◆ TEST() [22/47]

TEST ( LinkTest  ,
TestMatcherIsSubsetOf   
)

Definition at line 601 of file gmock_link_test.h.

601 {
602 Mock mock;
603 char arr[] = {'a', 'b'};
604
605 ON_CALL(mock, VoidFromVector(IsSubsetOf(arr))).WillByDefault(Return());
606}

◆ TEST() [23/47]

TEST ( LinkTest  ,
TestMatcherIsSupersetOf   
)

Definition at line 609 of file gmock_link_test.h.

609 {
610 Mock mock;
611 char arr[] = {'a', 'b'};
612
613 ON_CALL(mock, VoidFromVector(IsSupersetOf(arr))).WillByDefault(Return());
614}

◆ TEST() [24/47]

TEST ( LinkTest  ,
TestMatcherMatchesRegex   
)

Definition at line 561 of file gmock_link_test.h.

561 {
562 Mock mock;
563
564 ON_CALL(mock, VoidFromString(MatchesRegex(".*"))).WillByDefault(Return());
565}

◆ TEST() [25/47]

TEST ( LinkTest  ,
TestMatcherNot   
)

Definition at line 679 of file gmock_link_test.h.

679 {
680 Matcher<int> m = Not(_);
681 EXPECT_FALSE(m.Matches(1));
682}
#define EXPECT_FALSE(condition)
Definition: gtest.h:1986

◆ TEST() [26/47]

TEST ( LinkTest  ,
TestMatcherNotNull   
)

Definition at line 511 of file gmock_link_test.h.

511 {
512 Mock mock;
513
514 ON_CALL(mock, VoidFromString(NotNull())).WillByDefault(Return());
515}

◆ TEST() [27/47]

TEST ( LinkTest  ,
TestMatcherPointee   
)

Definition at line 653 of file gmock_link_test.h.

653 {
654 int n = 1;
655
656 Matcher<int*> m = Pointee(Eq(1));
657 EXPECT_TRUE(m.Matches(&n));
658}

◆ TEST() [28/47]

TEST ( LinkTest  ,
TestMatcherProperty   
)

Definition at line 636 of file gmock_link_test.h.

636 {
637 FieldHelper helper(0);
638
640 EXPECT_TRUE(m.Matches(helper));
641
642 Matcher<const FieldHelper*> m2 = Property(&FieldHelper::field, Eq(0));
643 EXPECT_TRUE(m2.Matches(&helper));
644}
int field() const

◆ TEST() [29/47]

TEST ( LinkTest  ,
TestMatcherRef   
)

Definition at line 525 of file gmock_link_test.h.

525 {
526 Mock mock;
527 int a = 0;
528
529 ON_CALL(mock, VoidFromIntRef(Ref(a))).WillByDefault(Return());
530}

◆ TEST() [30/47]

TEST ( LinkTest  ,
TestMatcherResultOf   
)

Definition at line 647 of file gmock_link_test.h.

647 {
649 EXPECT_TRUE(m.Matches(nullptr));
650}
static int StaticIntFromString(char *)

◆ TEST() [31/47]

TEST ( LinkTest  ,
TestMatchersEq   
)

Definition at line 490 of file gmock_link_test.h.

490 {
491 Mock mock;
492 const char* p = "x";
493
494 ON_CALL(mock, VoidFromString(Eq(p))).WillByDefault(Return());
495 ON_CALL(mock, VoidFromString(const_cast<char*>("y")))
496 .WillByDefault(Return());
497}
const char * p

◆ TEST() [32/47]

TEST ( LinkTest  ,
TestMatchersFloatingPoint   
)

Definition at line 542 of file gmock_link_test.h.

542 {
543 Mock mock;
544 float a = 0;
545
546 ON_CALL(mock, VoidFromFloat(FloatEq(a))).WillByDefault(Return());
547 ON_CALL(mock, VoidFromDouble(DoubleEq(a))).WillByDefault(Return());
548 ON_CALL(mock, VoidFromFloat(NanSensitiveFloatEq(a))).WillByDefault(Return());
549 ON_CALL(mock, VoidFromDouble(NanSensitiveDoubleEq(a)))
550 .WillByDefault(Return());
551}

◆ TEST() [33/47]

TEST ( LinkTest  ,
TestMatchersRelations   
)

Definition at line 500 of file gmock_link_test.h.

500 {
501 Mock mock;
502
503 ON_CALL(mock, VoidFromFloat(Lt(1.0f))).WillByDefault(Return());
504 ON_CALL(mock, VoidFromFloat(Gt(1.0f))).WillByDefault(Return());
505 ON_CALL(mock, VoidFromFloat(Le(1.0f))).WillByDefault(Return());
506 ON_CALL(mock, VoidFromFloat(Ge(1.0f))).WillByDefault(Return());
507 ON_CALL(mock, VoidFromFloat(Ne(1.0f))).WillByDefault(Return());
508}

◆ TEST() [34/47]

TEST ( LinkTest  ,
TestMatchersStringEquality   
)

Definition at line 577 of file gmock_link_test.h.

577 {
578 Mock mock;
579 ON_CALL(mock, VoidFromString(StrEq("a"))).WillByDefault(Return());
580 ON_CALL(mock, VoidFromString(StrNe("a"))).WillByDefault(Return());
581 ON_CALL(mock, VoidFromString(StrCaseEq("a"))).WillByDefault(Return());
582 ON_CALL(mock, VoidFromString(StrCaseNe("a"))).WillByDefault(Return());
583}

◆ TEST() [35/47]

TEST ( LinkTest  ,
TestMatchersSubstrings   
)

Definition at line 568 of file gmock_link_test.h.

568 {
569 Mock mock;
570
571 ON_CALL(mock, VoidFromString(StartsWith("a"))).WillByDefault(Return());
572 ON_CALL(mock, VoidFromString(EndsWith("c"))).WillByDefault(Return());
573 ON_CALL(mock, VoidFromString(HasSubstr("b"))).WillByDefault(Return());
574}

◆ TEST() [36/47]

TEST ( LinkTest  ,
TestMatcherTruly   
)

Definition at line 661 of file gmock_link_test.h.

661 {
663 EXPECT_TRUE(m.Matches(nullptr));
664}
static bool StaticBoolFromString(const char *)

◆ TEST() [37/47]

TEST ( LinkTest  ,
TestMatcherTypedEq   
)

Definition at line 533 of file gmock_link_test.h.

533 {
534 Mock mock;
535 long a = 0;
536
537 ON_CALL(mock, VoidFromIntRef(TypedEq<int&>(a))).WillByDefault(Return());
538}

◆ TEST() [38/47]

TEST ( LinkTest  ,
TestReturn   
)

Definition at line 255 of file gmock_link_test.h.

255 {
256 Mock mock;
257 char ch = 'x';
258
259 EXPECT_CALL(mock, StringFromString(_)).WillOnce(Return(&ch));
260 mock.StringFromString(nullptr);
261}
virtual char * StringFromString(char *str)=0

◆ TEST() [39/47]

TEST ( LinkTest  ,
TestReturnNull   
)

Definition at line 264 of file gmock_link_test.h.

264 {
265 Mock mock;
266
267 EXPECT_CALL(mock, VoidFromString(_)).WillOnce(Return());
268 mock.VoidFromString(nullptr);
269}

◆ TEST() [40/47]

TEST ( LinkTest  ,
TestReturnRef   
)

Definition at line 272 of file gmock_link_test.h.

272 {
273 Mock mock;
274 int n = 42;
275
276 EXPECT_CALL(mock, IntRefFromString(_)).WillOnce(ReturnRef(n));
277 mock.IntRefFromString(nullptr);
278}
internal::ReturnRefAction< R > ReturnRef(R &x)
virtual int & IntRefFromString(char *str)=0

◆ TEST() [41/47]

TEST ( LinkTest  ,
TestReturnVoid   
)

Definition at line 247 of file gmock_link_test.h.

247 {
248 Mock mock;
249
250 EXPECT_CALL(mock, VoidFromString(_)).WillOnce(Return());
251 mock.VoidFromString(nullptr);
252}

◆ TEST() [42/47]

TEST ( LinkTest  ,
TestSetArgPointee   
)

Definition at line 290 of file gmock_link_test.h.

290 {
291 Mock mock;
292 char ch = 'x';
293
294 EXPECT_CALL(mock, VoidFromString(_)).WillOnce(SetArgPointee<0>('y'));
295 mock.VoidFromString(&ch);
296}

◆ TEST() [43/47]

TEST ( LinkTest  ,
TestSetArrayArgument   
)

Definition at line 299 of file gmock_link_test.h.

299 {
300 Mock mock;
301 char ch = 'x';
302 char ch2 = 'y';
303
304 EXPECT_CALL(mock, VoidFromString(_)).WillOnce(SetArrayArgument<0>(&ch2,
305 &ch2 + 1));
306 mock.VoidFromString(&ch);
307}

◆ TEST() [44/47]

TEST ( LinkTest  ,
TestSetErrnoAndReturn   
)

Definition at line 312 of file gmock_link_test.h.

312 {
313 Mock mock;
314
315 int saved_errno = errno;
316 EXPECT_CALL(mock, IntFromString(_)).WillOnce(SetErrnoAndReturn(1, -1));
317 mock.IntFromString(nullptr);
318 errno = saved_errno;
319}
PolymorphicAction< internal::SetErrnoAndReturnAction< T > > SetErrnoAndReturn(int errval, T result)

◆ TEST() [45/47]

TEST ( LinkTest  ,
TestWithArg   
)

Definition at line 358 of file gmock_link_test.h.

358 {
359 Mock mock;
360
361 EXPECT_CALL(mock, VoidFromString(_))
362 .WillOnce(WithArg<0>(Invoke(&InvokeHelper::StaticVoidFromString)));
363 mock.VoidFromString(nullptr);
364}

◆ TEST() [46/47]

TEST ( LinkTest  ,
TestWithArgs   
)

Definition at line 367 of file gmock_link_test.h.

367 {
368 Mock mock;
369
370 EXPECT_CALL(mock, VoidFromString(_))
371 .WillOnce(WithArgs<0>(Invoke(&InvokeHelper::StaticVoidFromString)));
372 mock.VoidFromString(nullptr);
373}

◆ TEST() [47/47]

TEST ( LinkTest  ,
TestWithoutArgs   
)

Definition at line 376 of file gmock_link_test.h.

376 {
377 Mock mock;
378
379 EXPECT_CALL(mock, VoidFromString(_)).WillOnce(WithoutArgs(Return()));
380 mock.VoidFromString(nullptr);
381}
internal::WithArgsAction< typename std::decay< InnerAction >::type > WithoutArgs(InnerAction &&action)