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

(0ccf980226462398d5097987466bcffd8236e1e9)

#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, Crasher113)
 TEST_F (FPDFViewEmbedderTest, Crasher451830)
 TEST_F (FPDFViewEmbedderTest, Crasher452455)
 TEST_F (FPDFViewEmbedderTest, Crasher454695)
 TEST_F (FPDFViewEmbedderTest, Crasher572871)
 TEST_F (FPDFViewEmbedderTest, Failed213)
 TEST_F (FPDFViewEmbedderTest, Hang298)
 TEST_F (FPDFViewEmbedderTest, Crasher773229)
 TEST_F (FPDFViewEmbedderTest, CrossRefV4Loop)
 TEST_F (FPDFViewEmbedderTest, Hang343)
 TEST_F (FPDFViewEmbedderTest, Hang344)
 TEST_F (FPDFViewEmbedderTest, Hang355)
 TEST_F (FPDFViewEmbedderTest, Hang360)
 TEST_F (FPDFViewEmbedderTest, Hang1055)
 TEST_F (FPDFViewEmbedderTest, FPDFRenderPageBitmapWithMatrix)
 TEST_F (FPDFViewEmbedderTest, FPDFGetPageSizeByIndexF)
 TEST_F (FPDFViewEmbedderTest, FPDFGetPageSizeByIndex)
 TEST_F (FPDFViewEmbedderTest, GetXFAArrayData)
 TEST_F (FPDFViewEmbedderTest, GetXFAStreamData)
 TEST_F (FPDFViewEmbedderTest, GetXFADataForNoForm)
 TEST_F (FPDFViewEmbedderTest, GetXFADataForAcroForm)
 TEST_F (FPDFViewEmbedderTest, UnSupportedOperationsNotFound)
 TEST_F (FPDFViewEmbedderTest, UnSupportedOperationsLoadCustomDocument)
 TEST_F (FPDFViewEmbedderTest, UnSupportedOperationsLoadDocument)
 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)
 TEST_F (FPDFViewEmbedderTest, RenderAnnotsGrayScale)
 TEST_F (FPDFViewEmbedderTest, BadFillRectInput)
const char * ManyRectanglesChecksum ()
const char * ManyRectanglesChecksum ()

Macro Definition Documentation

◆ MAYBE_LargeImageDoesNotRenderBlank

#define MAYBE_LargeImageDoesNotRenderBlank   DISABLED_LargeImageDoesNotRenderBlank

Definition at line 1713 of file fpdf_view_embeddertest.cpp.

Function Documentation

◆ ManyRectanglesChecksum() [1/2]

const char * pdfium::ManyRectanglesChecksum ( )

Definition at line 72 of file embedder_test_constants.cpp.

◆ ManyRectanglesChecksum() [2/2]

const char * pdfium::ManyRectanglesChecksum ( )

Definition at line 72 of file embedder_test_constants.cpp.

◆ 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/66]

TEST_F ( FPDFViewEmbedderTest ,
BadFillRectInput  )

Definition at line 2202 of file fpdf_view_embeddertest.cpp.

References FPDFBitmap_Create(), and FPDFBitmap_FillRect().

Here is the call graph for this function:

◆ TEST_F() [2/66]

TEST_F ( FPDFViewEmbedderTest ,
Bug2112  )

Definition at line 2170 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [3/66]

TEST_F ( FPDFViewEmbedderTest ,
Crasher113  )

Definition at line 901 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [4/66]

TEST_F ( FPDFViewEmbedderTest ,
Crasher451830  )

Definition at line 905 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [5/66]

TEST_F ( FPDFViewEmbedderTest ,
Crasher452455  )

Definition at line 910 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [6/66]

TEST_F ( FPDFViewEmbedderTest ,
Crasher454695  )

Definition at line 916 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [7/66]

TEST_F ( FPDFViewEmbedderTest ,
Crasher572871  )

Definition at line 921 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [8/66]

TEST_F ( FPDFViewEmbedderTest ,
Crasher773229  )

Definition at line 936 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [9/66]

TEST_F ( FPDFViewEmbedderTest ,
CrossRefV4Loop  )

Definition at line 944 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [10/66]

TEST_F ( FPDFViewEmbedderTest ,
DeviceCoordinatesToPageCoordinates  )

Definition at line 285 of file fpdf_view_embeddertest.cpp.

References FPDF_DeviceToPage().

Here is the call graph for this function:

◆ TEST_F() [11/66]

TEST_F ( FPDFViewEmbedderTest ,
Document  )

Definition at line 477 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [12/66]

TEST_F ( FPDFViewEmbedderTest ,
DocumentHasInvalidCrossReferenceTable  )

Definition at line 1413 of file fpdf_view_embeddertest.cpp.

References FPDF_DocumentHasValidCrossReferenceTable().

Here is the call graph for this function:

◆ TEST_F() [13/66]

TEST_F ( FPDFViewEmbedderTest ,
DocumentHasValidCrossReferenceTable  )

Definition at line 1408 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [14/66]

TEST_F ( FPDFViewEmbedderTest ,
DocumentWithEmptyPageTreeNode  )

Definition at line 534 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [15/66]

TEST_F ( FPDFViewEmbedderTest ,
DocumentWithNoPageCount  )

Definition at line 529 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [16/66]

TEST_F ( FPDFViewEmbedderTest ,
EmptyDocument  )

Definition at line 540 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [17/66]

TEST_F ( FPDFViewEmbedderTest ,
Failed213  )

Definition at line 927 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [18/66]

TEST_F ( FPDFViewEmbedderTest ,
FPDFGetPageSizeByIndex  )

Definition at line 1238 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() [19/66]

TEST_F ( FPDFViewEmbedderTest ,
FPDFGetPageSizeByIndexF  )

Definition at line 1203 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() [20/66]

TEST_F ( FPDFViewEmbedderTest ,
FPDFRenderPageBitmapWithMatrix  )

Definition at line 987 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() [21/66]

TEST_F ( FPDFViewEmbedderTest ,
GetTrailerEnds  )

Definition at line 1954 of file fpdf_view_embeddertest.cpp.

References FPDF_GetTrailerEnds().

Here is the call graph for this function:

◆ TEST_F() [22/66]

TEST_F ( FPDFViewEmbedderTest ,
GetTrailerEndsAnnotationStamp  )

Definition at line 1990 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [23/66]

TEST_F ( FPDFViewEmbedderTest ,
GetTrailerEndsHelloWorld  )

Definition at line 1977 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [24/66]

TEST_F ( FPDFViewEmbedderTest ,
GetTrailerEndsLinearized  )

Definition at line 2003 of file fpdf_view_embeddertest.cpp.

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

Here is the call graph for this function:

◆ TEST_F() [25/66]

TEST_F ( FPDFViewEmbedderTest ,
GetTrailerEndsWhitespace  )

Definition at line 2023 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [26/66]

TEST_F ( FPDFViewEmbedderTest ,
GetXFAArrayData  )

Definition at line 1276 of file fpdf_view_embeddertest.cpp.

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

Here is the call graph for this function:

◆ TEST_F() [27/66]

TEST_F ( FPDFViewEmbedderTest ,
GetXFADataForAcroForm  )

Definition at line 1361 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [28/66]

TEST_F ( FPDFViewEmbedderTest ,
GetXFADataForNoForm  )

Definition at line 1355 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [29/66]

TEST_F ( FPDFViewEmbedderTest ,
GetXFAStreamData  )

Definition at line 1334 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [30/66]

TEST_F ( FPDFViewEmbedderTest ,
Hang1055  )

Definition at line 980 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [31/66]

TEST_F ( FPDFViewEmbedderTest ,
Hang298  )

Definition at line 932 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [32/66]

TEST_F ( FPDFViewEmbedderTest ,
Hang343  )

Definition at line 958 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [33/66]

TEST_F ( FPDFViewEmbedderTest ,
Hang344  )

Definition at line 964 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [34/66]

TEST_F ( FPDFViewEmbedderTest ,
Hang355  )

Definition at line 970 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [35/66]

TEST_F ( FPDFViewEmbedderTest ,
Hang360  )

Definition at line 974 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [36/66]

TEST_F ( FPDFViewEmbedderTest ,
LinearizedDocument  )

Definition at line 593 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [37/66]

TEST_F ( FPDFViewEmbedderTest ,
LoadCustomDocumentWithoutFileAccess  )

Definition at line 600 of file fpdf_view_embeddertest.cpp.

References FPDF_LoadCustomDocument().

Here is the call graph for this function:

◆ TEST_F() [38/66]

TEST_F ( FPDFViewEmbedderTest ,
LoadCustomDocumentWithShortLivedFileAccess  )

Definition at line 605 of file fpdf_view_embeddertest.cpp.

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

Here is the call graph for this function:

◆ TEST_F() [39/66]

TEST_F ( FPDFViewEmbedderTest ,
LoadDocument64  )

Definition at line 508 of file fpdf_view_embeddertest.cpp.

References PathService::GetTestFilePath().

Here is the call graph for this function:

◆ TEST_F() [40/66]

TEST_F ( FPDFViewEmbedderTest ,
LoadDocumentWithEmptyXRefConsistently  )

Definition at line 1421 of file fpdf_view_embeddertest.cpp.

References PathService::GetTestFilePath().

Here is the call graph for this function:

◆ TEST_F() [41/66]

TEST_F ( FPDFViewEmbedderTest ,
LoadNonexistentDocument  )

Definition at line 523 of file fpdf_view_embeddertest.cpp.

References FPDF_GetLastError(), and FPDF_LoadDocument().

Here is the call graph for this function:

◆ TEST_F() [42/66]

◆ TEST_F() [43/66]

TEST_F ( FPDFViewEmbedderTest ,
MultipleInitDestroy  )

Definition at line 446 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() [44/66]

TEST_F ( FPDFViewEmbedderTest ,
NamedDests  )

Definition at line 723 of file fpdf_view_embeddertest.cpp.

References GetPlatformString().

Here is the call graph for this function:

◆ TEST_F() [45/66]

TEST_F ( FPDFViewEmbedderTest ,
NamedDestsByName  )

Definition at line 826 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [46/66]

TEST_F ( FPDFViewEmbedderTest ,
NamedDestsOldStyle  )

Definition at line 863 of file fpdf_view_embeddertest.cpp.

References GetPlatformString().

Here is the call graph for this function:

◆ TEST_F() [47/66]

TEST_F ( FPDFViewEmbedderTest ,
NoSmoothTextItalicOverlappingGlyphs  )

Definition at line 2128 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [48/66]

TEST_F ( FPDFViewEmbedderTest ,
Page  )

Definition at line 634 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() [49/66]

TEST_F ( FPDFViewEmbedderTest ,
PageCoordinatesToDeviceCoordinates  )

Definition at line 366 of file fpdf_view_embeddertest.cpp.

References FPDF_PageToDevice().

Here is the call graph for this function:

◆ TEST_F() [50/66]

TEST_F ( FPDFViewEmbedderTest ,
RenderAnnotationWithPrintingFlag  )

Definition at line 1485 of file fpdf_view_embeddertest.cpp.

References CFX_DefaultRenderDevice::UseSkiaRenderer().

Here is the call graph for this function:

◆ TEST_F() [51/66]

TEST_F ( FPDFViewEmbedderTest ,
RenderAnnotsGrayScale  )

Definition at line 2180 of file fpdf_view_embeddertest.cpp.

References CFX_DefaultRenderDevice::UseSkiaRenderer().

Here is the call graph for this function:

◆ TEST_F() [52/66]

TEST_F ( FPDFViewEmbedderTest ,
RenderBlueAndRedImagesWithReverByteOrderFlag  )

Definition at line 1508 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [53/66]

TEST_F ( FPDFViewEmbedderTest ,
RenderBug664284WithNoNativeText  )

Definition at line 1442 of file fpdf_view_embeddertest.cpp.

References CFX_DefaultRenderDevice::UseSkiaRenderer().

Here is the call graph for this function:

◆ TEST_F() [54/66]

TEST_F ( FPDFViewEmbedderTest ,
RenderHelloWorldWithFlags  )

Definition at line 1644 of file fpdf_view_embeddertest.cpp.

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

Here is the call graph for this function:

◆ TEST_F() [55/66]

TEST_F ( FPDFViewEmbedderTest ,
RenderJpxLzwImageWithFlags  )

Definition at line 1521 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [56/66]

TEST_F ( FPDFViewEmbedderTest ,
RenderManyRectanglesWithAndWithoutExternalMemory  )

Definition at line 1588 of file fpdf_view_embeddertest.cpp.

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

Here is the call graph for this function:

◆ TEST_F() [57/66]

TEST_F ( FPDFViewEmbedderTest ,
RenderManyRectanglesWithFlags  )

Definition at line 1549 of file fpdf_view_embeddertest.cpp.

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

Here is the call graph for this function:

◆ TEST_F() [58/66]

TEST_F ( FPDFViewEmbedderTest ,
RenderTransparencyOnWhiteBackground  )

Definition at line 2150 of file fpdf_view_embeddertest.cpp.

References FPDFBitmap_Create().

Here is the call graph for this function:

◆ TEST_F() [59/66]

TEST_F ( FPDFViewEmbedderTest ,
RenderXfaPage  )

Definition at line 2037 of file fpdf_view_embeddertest.cpp.

References pdfium::kBlankPage612By792Checksum.

◆ TEST_F() [60/66]

TEST_F ( FPDFViewEmbedderTest ,
RepeatedInitDestroy  )

Definition at line 462 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() [61/66]

TEST_F ( FPDFViewEmbedderTest ,
SandboxDocument  )

Definition at line 560 of file fpdf_view_embeddertest.cpp.

References FPDF_SetSandBoxPolicy().

Here is the call graph for this function:

◆ TEST_F() [62/66]

TEST_F ( FPDFViewEmbedderTest ,
UnSupportedOperationsLoadCustomDocument  )

◆ TEST_F() [63/66]

TEST_F ( FPDFViewEmbedderTest ,
UnSupportedOperationsLoadDocument  )

Definition at line 1393 of file fpdf_view_embeddertest.cpp.

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

Here is the call graph for this function:

◆ TEST_F() [64/66]

TEST_F ( FPDFViewEmbedderTest ,
UnSupportedOperationsNotFound  )

◆ TEST_F() [65/66]

TEST_F ( FPDFViewEmbedderTest ,
ViewerRef  )

Definition at line 676 of file fpdf_view_embeddertest.cpp.

◆ TEST_F() [66/66]

TEST_F ( FPDFViewEmbedderTest ,
ViewerRefDummy  )

Definition at line 659 of file fpdf_view_embeddertest.cpp.