Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
fpdf_view_embeddertest.cpp File Reference

(9c1f44f67466fea2fb20bb6f31fea388d8c65961)

#include <math.h>
#include <algorithm>
#include <limits>
#include <memory>
#include <string>
#include <utility>
#include <vector>
#include "build/build_config.h"
#include "core/fpdfapi/parser/cpdf_document.h"
#include "core/fxge/cfx_defaultrenderdevice.h"
#include "fpdfsdk/cpdfsdk_helpers.h"
#include "fpdfsdk/fpdf_view_c_api_test.h"
#include "public/cpp/fpdf_scopers.h"
#include "public/fpdfview.h"
#include "testing/embedder_test.h"
#include "testing/embedder_test_constants.h"
#include "testing/embedder_test_environment.h"
#include "testing/fx_string_testhelpers.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/utils/file_util.h"
#include "testing/utils/hash.h"
#include "testing/utils/path_service.h"
+ Include dependency graph for fpdf_view_embeddertest.cpp:

Go to the source code of this file.

Classes

class  FPDFViewEmbedderTest
 
class  RecordUnsupportedErrorDelegate
 

Macros

#define MAYBE_LargeImageDoesNotRenderBlank   DISABLED_LargeImageDoesNotRenderBlank
 

Functions

 TEST (fpdf, CApiTest)
 
 TEST_F (FPDFViewEmbedderTest, DeviceCoordinatesToPageCoordinates)
 
 TEST_F (FPDFViewEmbedderTest, PageCoordinatesToDeviceCoordinates)
 
 TEST_F (FPDFViewEmbedderTest, MultipleInitDestroy)
 
 TEST_F (FPDFViewEmbedderTest, RepeatedInitDestroy)
 
 TEST_F (FPDFViewEmbedderTest, Document)
 
 TEST_F (FPDFViewEmbedderTest, LoadDocument64)
 
 TEST_F (FPDFViewEmbedderTest, LoadNonexistentDocument)
 
 TEST_F (FPDFViewEmbedderTest, DocumentWithNoPageCount)
 
 TEST_F (FPDFViewEmbedderTest, DocumentWithEmptyPageTreeNode)
 
 TEST_F (FPDFViewEmbedderTest, EmptyDocument)
 
 TEST_F (FPDFViewEmbedderTest, SandboxDocument)
 
 TEST_F (FPDFViewEmbedderTest, LinearizedDocument)
 
 TEST_F (FPDFViewEmbedderTest, LoadCustomDocumentWithoutFileAccess)
 
 TEST_F (FPDFViewEmbedderTest, LoadCustomDocumentWithShortLivedFileAccess)
 
 TEST_F (FPDFViewEmbedderTest, Page)
 
 TEST_F (FPDFViewEmbedderTest, ViewerRefDummy)
 
 TEST_F (FPDFViewEmbedderTest, ViewerRef)
 
 TEST_F (FPDFViewEmbedderTest, NamedDests)
 
 TEST_F (FPDFViewEmbedderTest, NamedDestsByName)
 
 TEST_F (FPDFViewEmbedderTest, NamedDestsOldStyle)
 
 TEST_F (FPDFViewEmbedderTest, Crasher_113)
 
 TEST_F (FPDFViewEmbedderTest, Crasher_451830)
 
 TEST_F (FPDFViewEmbedderTest, Crasher_452455)
 
 TEST_F (FPDFViewEmbedderTest, Crasher_454695)
 
 TEST_F (FPDFViewEmbedderTest, Crasher_572871)
 
 TEST_F (FPDFViewEmbedderTest, Failed_213)
 
 TEST_F (FPDFViewEmbedderTest, Hang_298)
 
 TEST_F (FPDFViewEmbedderTest, Crasher_773229)
 
 TEST_F (FPDFViewEmbedderTest, CrossRefV4Loop)
 
 TEST_F (FPDFViewEmbedderTest, Hang_343)
 
 TEST_F (FPDFViewEmbedderTest, Hang_344)
 
 TEST_F (FPDFViewEmbedderTest, Hang_355)
 
 TEST_F (FPDFViewEmbedderTest, Hang_360)
 
 TEST_F (FPDFViewEmbedderTest, Hang_1055)
 
 TEST_F (FPDFViewEmbedderTest, FPDF_RenderPageBitmapWithMatrix)
 
 TEST_F (FPDFViewEmbedderTest, FPDF_GetPageSizeByIndexF)
 
 TEST_F (FPDFViewEmbedderTest, FPDF_GetPageSizeByIndex)
 
 TEST_F (FPDFViewEmbedderTest, GetXFAArrayData)
 
 TEST_F (FPDFViewEmbedderTest, GetXFAStreamData)
 
 TEST_F (FPDFViewEmbedderTest, GetXFADataForNoForm)
 
 TEST_F (FPDFViewEmbedderTest, GetXFADataForAcroForm)
 
 TEST_F (FPDFViewEmbedderTest, UnSupportedOperations_NotFound)
 
 TEST_F (FPDFViewEmbedderTest, UnSupportedOperations_LoadCustomDocument)
 
 TEST_F (FPDFViewEmbedderTest, UnSupportedOperations_LoadDocument)
 
 TEST_F (FPDFViewEmbedderTest, DocumentHasValidCrossReferenceTable)
 
 TEST_F (FPDFViewEmbedderTest, DocumentHasInvalidCrossReferenceTable)
 
 TEST_F (FPDFViewEmbedderTest, LoadDocumentWithEmptyXRefConsistently)
 
 TEST_F (FPDFViewEmbedderTest, RenderBug664284WithNoNativeText)
 
 TEST_F (FPDFViewEmbedderTest, RenderAnnotationWithPrintingFlag)
 
 TEST_F (FPDFViewEmbedderTest, RenderBlueAndRedImagesWithReverByteOrderFlag)
 
 TEST_F (FPDFViewEmbedderTest, RenderJpxLzwImageWithFlags)
 
 TEST_F (FPDFViewEmbedderTest, RenderManyRectanglesWithFlags)
 
 TEST_F (FPDFViewEmbedderTest, RenderManyRectanglesWithAndWithoutExternalMemory)
 
 TEST_F (FPDFViewEmbedderTest, RenderHelloWorldWithFlags)
 
 TEST_F (FPDFViewEmbedderTest, MAYBE_LargeImageDoesNotRenderBlank)
 
 TEST_F (FPDFViewEmbedderTest, GetTrailerEnds)
 
 TEST_F (FPDFViewEmbedderTest, GetTrailerEndsHelloWorld)
 
 TEST_F (FPDFViewEmbedderTest, GetTrailerEndsAnnotationStamp)
 
 TEST_F (FPDFViewEmbedderTest, GetTrailerEndsLinearized)
 
 TEST_F (FPDFViewEmbedderTest, GetTrailerEndsWhitespace)
 
 TEST_F (FPDFViewEmbedderTest, RenderXfaPage)
 
 TEST_F (FPDFViewEmbedderTest, NoSmoothTextItalicOverlappingGlyphs)
 
 TEST_F (FPDFViewEmbedderTest, RenderTransparencyOnWhiteBackground)
 
 TEST_F (FPDFViewEmbedderTest, Bug2112)
 

Macro Definition Documentation

◆ MAYBE_LargeImageDoesNotRenderBlank

#define MAYBE_LargeImageDoesNotRenderBlank   DISABLED_LargeImageDoesNotRenderBlank

Definition at line 1720 of file fpdf_view_embeddertest.cpp.

Function Documentation

◆ TEST()

TEST ( fpdf ,
CApiTest  )

Definition at line 156 of file fpdf_view_embeddertest.cpp.

References CheckPDFiumCApi().

+ Here is the call graph for this function:

◆ TEST_F() [1/64]

TEST_F ( FPDFViewEmbedderTest ,
Bug2112  )

Definition at line 2179 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [2/64]

TEST_F ( FPDFViewEmbedderTest ,
Crasher_113  )

Definition at line 903 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [3/64]

TEST_F ( FPDFViewEmbedderTest ,
Crasher_451830  )

Definition at line 907 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [4/64]

TEST_F ( FPDFViewEmbedderTest ,
Crasher_452455  )

Definition at line 912 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [5/64]

TEST_F ( FPDFViewEmbedderTest ,
Crasher_454695  )

Definition at line 919 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [6/64]

TEST_F ( FPDFViewEmbedderTest ,
Crasher_572871  )

Definition at line 924 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [7/64]

TEST_F ( FPDFViewEmbedderTest ,
Crasher_773229  )

Definition at line 939 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [8/64]

TEST_F ( FPDFViewEmbedderTest ,
CrossRefV4Loop  )

Definition at line 947 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [9/64]

TEST_F ( FPDFViewEmbedderTest ,
DeviceCoordinatesToPageCoordinates  )

Definition at line 284 of file fpdf_view_embeddertest.cpp.

References FPDF_DeviceToPage().

+ Here is the call graph for this function:

◆ TEST_F() [10/64]

TEST_F ( FPDFViewEmbedderTest ,
Document  )

Definition at line 478 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [11/64]

TEST_F ( FPDFViewEmbedderTest ,
DocumentHasInvalidCrossReferenceTable  )

Definition at line 1420 of file fpdf_view_embeddertest.cpp.

References FPDF_DocumentHasValidCrossReferenceTable().

+ Here is the call graph for this function:

◆ TEST_F() [12/64]

TEST_F ( FPDFViewEmbedderTest ,
DocumentHasValidCrossReferenceTable  )

Definition at line 1415 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [13/64]

TEST_F ( FPDFViewEmbedderTest ,
DocumentWithEmptyPageTreeNode  )

Definition at line 535 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [14/64]

TEST_F ( FPDFViewEmbedderTest ,
DocumentWithNoPageCount  )

Definition at line 530 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [15/64]

TEST_F ( FPDFViewEmbedderTest ,
EmptyDocument  )

Definition at line 541 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [16/64]

TEST_F ( FPDFViewEmbedderTest ,
Failed_213  )

Definition at line 930 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [17/64]

Definition at line 1246 of file fpdf_view_embeddertest.cpp.

References FPDF_GetPageHeight(), FPDF_GetPageSizeByIndex(), FPDF_GetPageWidth(), and CPDF_Document::GetParsedPageCountForTesting().

+ Here is the call graph for this function:

◆ TEST_F() [18/64]

Definition at line 1211 of file fpdf_view_embeddertest.cpp.

References FPDF_GetPageHeightF(), FPDF_GetPageSizeByIndexF(), FPDF_GetPageWidthF(), and CPDF_Document::GetParsedPageCountForTesting().

+ Here is the call graph for this function:

◆ TEST_F() [19/64]

Definition at line 990 of file fpdf_view_embeddertest.cpp.

References FPDF_GetPageHeightF(), FPDF_GetPageWidthF(), pdfium::RectanglesChecksum(), and CFX_DefaultRenderDevice::UseSkiaRenderer().

+ Here is the call graph for this function:

◆ TEST_F() [20/64]

TEST_F ( FPDFViewEmbedderTest ,
GetTrailerEnds  )

Definition at line 1961 of file fpdf_view_embeddertest.cpp.

References FPDF_GetTrailerEnds().

+ Here is the call graph for this function:

◆ TEST_F() [21/64]

TEST_F ( FPDFViewEmbedderTest ,
GetTrailerEndsAnnotationStamp  )

Definition at line 1997 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [22/64]

TEST_F ( FPDFViewEmbedderTest ,
GetTrailerEndsHelloWorld  )

Definition at line 1984 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [23/64]

TEST_F ( FPDFViewEmbedderTest ,
GetTrailerEndsLinearized  )

Definition at line 2010 of file fpdf_view_embeddertest.cpp.

References FakeFileAccess::GetFileAccess(), FakeFileAccess::GetFileAvail(), and FakeFileAccess::SetWholeFileAvailable().

+ Here is the call graph for this function:

◆ TEST_F() [24/64]

TEST_F ( FPDFViewEmbedderTest ,
GetTrailerEndsWhitespace  )

Definition at line 2030 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [25/64]

TEST_F ( FPDFViewEmbedderTest ,
GetXFAArrayData  )

Definition at line 1284 of file fpdf_view_embeddertest.cpp.

References FPDF_GetXFAPacketContent(), FPDF_GetXFAPacketCount(), and FPDF_GetXFAPacketName().

+ Here is the call graph for this function:

◆ TEST_F() [26/64]

TEST_F ( FPDFViewEmbedderTest ,
GetXFADataForAcroForm  )

Definition at line 1368 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [27/64]

TEST_F ( FPDFViewEmbedderTest ,
GetXFADataForNoForm  )

Definition at line 1362 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [28/64]

TEST_F ( FPDFViewEmbedderTest ,
GetXFAStreamData  )

Definition at line 1340 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [29/64]

TEST_F ( FPDFViewEmbedderTest ,
Hang_1055  )

Definition at line 983 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [30/64]

TEST_F ( FPDFViewEmbedderTest ,
Hang_298  )

Definition at line 935 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [31/64]

TEST_F ( FPDFViewEmbedderTest ,
Hang_343  )

Definition at line 961 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [32/64]

TEST_F ( FPDFViewEmbedderTest ,
Hang_344  )

Definition at line 967 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [33/64]

TEST_F ( FPDFViewEmbedderTest ,
Hang_355  )

Definition at line 973 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [34/64]

TEST_F ( FPDFViewEmbedderTest ,
Hang_360  )

Definition at line 977 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [35/64]

TEST_F ( FPDFViewEmbedderTest ,
LinearizedDocument  )

Definition at line 594 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [36/64]

TEST_F ( FPDFViewEmbedderTest ,
LoadCustomDocumentWithoutFileAccess  )

Definition at line 601 of file fpdf_view_embeddertest.cpp.

References FPDF_LoadCustomDocument().

+ Here is the call graph for this function:

◆ TEST_F() [37/64]

TEST_F ( FPDFViewEmbedderTest ,
LoadCustomDocumentWithShortLivedFileAccess  )

Definition at line 606 of file fpdf_view_embeddertest.cpp.

References FPDF_LoadCustomDocument(), and PathService::GetTestFilePath().

+ Here is the call graph for this function:

◆ TEST_F() [38/64]

TEST_F ( FPDFViewEmbedderTest ,
LoadDocument64  )

Definition at line 509 of file fpdf_view_embeddertest.cpp.

References PathService::GetTestFilePath().

+ Here is the call graph for this function:

◆ TEST_F() [39/64]

TEST_F ( FPDFViewEmbedderTest ,
LoadDocumentWithEmptyXRefConsistently  )

Definition at line 1428 of file fpdf_view_embeddertest.cpp.

References PathService::GetTestFilePath().

+ Here is the call graph for this function:

◆ TEST_F() [40/64]

TEST_F ( FPDFViewEmbedderTest ,
LoadNonexistentDocument  )

Definition at line 524 of file fpdf_view_embeddertest.cpp.

References FPDF_GetLastError(), and FPDF_LoadDocument().

+ Here is the call graph for this function:

◆ TEST_F() [41/64]

◆ TEST_F() [42/64]

TEST_F ( FPDFViewEmbedderTest ,
MultipleInitDestroy  )

Definition at line 447 of file fpdf_view_embeddertest.cpp.

References FPDF_DestroyLibrary(), FPDF_InitLibrary(), EmbedderTestEnvironment::GetInstance(), EmbedderTestEnvironment::SetUp(), and EmbedderTestEnvironment::TearDown().

+ Here is the call graph for this function:

◆ TEST_F() [43/64]

TEST_F ( FPDFViewEmbedderTest ,
NamedDests  )

Definition at line 725 of file fpdf_view_embeddertest.cpp.

References GetPlatformString().

+ Here is the call graph for this function:

◆ TEST_F() [44/64]

TEST_F ( FPDFViewEmbedderTest ,
NamedDestsByName  )

Definition at line 828 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [45/64]

TEST_F ( FPDFViewEmbedderTest ,
NamedDestsOldStyle  )

Definition at line 865 of file fpdf_view_embeddertest.cpp.

References GetPlatformString().

+ Here is the call graph for this function:

◆ TEST_F() [46/64]

TEST_F ( FPDFViewEmbedderTest ,
NoSmoothTextItalicOverlappingGlyphs  )

Definition at line 2137 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [47/64]

TEST_F ( FPDFViewEmbedderTest ,
Page  )

Definition at line 635 of file fpdf_view_embeddertest.cpp.

References FPDF_GetPageBoundingBox(), FPDF_GetPageHeight(), FPDF_GetPageHeightF(), FPDF_GetPageWidth(), and FPDF_GetPageWidthF().

+ Here is the call graph for this function:

◆ TEST_F() [48/64]

TEST_F ( FPDFViewEmbedderTest ,
PageCoordinatesToDeviceCoordinates  )

Definition at line 367 of file fpdf_view_embeddertest.cpp.

References FPDF_PageToDevice().

+ Here is the call graph for this function:

◆ TEST_F() [49/64]

TEST_F ( FPDFViewEmbedderTest ,
RenderAnnotationWithPrintingFlag  )

Definition at line 1492 of file fpdf_view_embeddertest.cpp.

References CFX_DefaultRenderDevice::UseSkiaRenderer().

+ Here is the call graph for this function:

◆ TEST_F() [50/64]

TEST_F ( FPDFViewEmbedderTest ,
RenderBlueAndRedImagesWithReverByteOrderFlag  )

Definition at line 1515 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [51/64]

TEST_F ( FPDFViewEmbedderTest ,
RenderBug664284WithNoNativeText  )

Definition at line 1449 of file fpdf_view_embeddertest.cpp.

References CFX_DefaultRenderDevice::UseSkiaRenderer().

+ Here is the call graph for this function:

◆ TEST_F() [52/64]

TEST_F ( FPDFViewEmbedderTest ,
RenderHelloWorldWithFlags  )

Definition at line 1651 of file fpdf_view_embeddertest.cpp.

References pdfium::HelloWorldChecksum(), and CFX_DefaultRenderDevice::UseSkiaRenderer().

+ Here is the call graph for this function:

◆ TEST_F() [53/64]

TEST_F ( FPDFViewEmbedderTest ,
RenderJpxLzwImageWithFlags  )

Definition at line 1528 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [54/64]

TEST_F ( FPDFViewEmbedderTest ,
RenderManyRectanglesWithAndWithoutExternalMemory  )

Definition at line 1595 of file fpdf_view_embeddertest.cpp.

References pdfium::ManyRectanglesChecksum(), and CFX_DefaultRenderDevice::UseSkiaRenderer().

+ Here is the call graph for this function:

◆ TEST_F() [55/64]

TEST_F ( FPDFViewEmbedderTest ,
RenderManyRectanglesWithFlags  )

Definition at line 1556 of file fpdf_view_embeddertest.cpp.

References pdfium::ManyRectanglesChecksum(), and CFX_DefaultRenderDevice::UseSkiaRenderer().

+ Here is the call graph for this function:

◆ TEST_F() [56/64]

TEST_F ( FPDFViewEmbedderTest ,
RenderTransparencyOnWhiteBackground  )

Definition at line 2159 of file fpdf_view_embeddertest.cpp.

References FPDF_GetPageHeightF(), FPDF_GetPageWidthF(), and FPDFPage_HasTransparency().

+ Here is the call graph for this function:

◆ TEST_F() [57/64]

TEST_F ( FPDFViewEmbedderTest ,
RenderXfaPage  )

Definition at line 2044 of file fpdf_view_embeddertest.cpp.

References pdfium::kBlankPage612By792Checksum.

◆ TEST_F() [58/64]

TEST_F ( FPDFViewEmbedderTest ,
RepeatedInitDestroy  )

Definition at line 463 of file fpdf_view_embeddertest.cpp.

References FPDF_DestroyLibrary(), FPDF_InitLibrary(), EmbedderTestEnvironment::GetInstance(), EmbedderTestEnvironment::SetUp(), and EmbedderTestEnvironment::TearDown().

+ Here is the call graph for this function:

◆ TEST_F() [59/64]

TEST_F ( FPDFViewEmbedderTest ,
SandboxDocument  )

Definition at line 561 of file fpdf_view_embeddertest.cpp.

References FPDF_SetSandBoxPolicy().

+ Here is the call graph for this function:

◆ TEST_F() [60/64]

TEST_F ( FPDFViewEmbedderTest ,
UnSupportedOperations_LoadCustomDocument  )

◆ TEST_F() [61/64]

TEST_F ( FPDFViewEmbedderTest ,
UnSupportedOperations_LoadDocument  )

Definition at line 1400 of file fpdf_view_embeddertest.cpp.

References PathService::GetTestFilePath(), and RecordUnsupportedErrorDelegate::type_.

+ Here is the call graph for this function:

◆ TEST_F() [62/64]

TEST_F ( FPDFViewEmbedderTest ,
UnSupportedOperations_NotFound  )

◆ TEST_F() [63/64]

TEST_F ( FPDFViewEmbedderTest ,
ViewerRef  )

Definition at line 677 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [64/64]

TEST_F ( FPDFViewEmbedderTest ,
ViewerRefDummy  )

Definition at line 660 of file fpdf_view_embeddertest.cpp.