1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "ppapi/tests/test_pdf.h"
7 #include "ppapi/c/private/ppb_pdf.h"
8 #include "ppapi/cpp/image_data.h"
9 #include "ppapi/cpp/point.h"
10 #include "ppapi/cpp/private/pdf.h"
11 #include "ppapi/cpp/var.h"
12 #include "ppapi/tests/testing_instance.h"
14 REGISTER_TEST_CASE(PDF
);
16 TestPDF::TestPDF(TestingInstance
* instance
)
17 : TestCase(instance
) {
20 void TestPDF::RunTests(const std::string
& filter
) {
21 RUN_TEST(GetLocalizedString
, filter
);
22 RUN_TEST(GetResourceImage
, filter
);
23 RUN_TEST(GetV8ExternalSnapshotData
, filter
);
26 std::string
TestPDF::TestGetLocalizedString() {
27 pp::Var string
= pp::PDF::GetLocalizedString(instance_
,
28 PP_RESOURCESTRING_PDFGETPASSWORD
);
29 ASSERT_TRUE(string
.is_string());
30 ASSERT_EQ("This document is password protected. Please enter a password.",
35 std::string
TestPDF::TestGetResourceImage() {
37 pp::PDF::GetResourceImage(instance_
, PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMIN
);
38 ASSERT_EQ(43, data
.size().width());
39 ASSERT_EQ(42, data
.size().height());
40 for (int i
= 0; i
< data
.size().width(); ++i
) {
41 for (int j
= 0; j
< data
.size().height(); ++j
) {
42 pp::Point
point(i
, j
);
43 ASSERT_NE(0, *data
.GetAddr32(point
));
49 std::string
TestPDF::TestGetV8ExternalSnapshotData() {
50 const char* natives_data
;
51 const char* snapshot_data
;
55 pp::PDF::GetV8ExternalSnapshotData(instance_
, &natives_data
, &natives_size
,
56 &snapshot_data
, &snapshot_size
);
57 #ifdef V8_USE_EXTERNAL_STARTUP_DATA
58 ASSERT_NE(natives_data
, (char*) (NULL
));
59 ASSERT_NE(natives_size
, 0);
60 ASSERT_NE(snapshot_data
, (char*) (NULL
));
61 ASSERT_NE(snapshot_size
, 0);
63 ASSERT_EQ(natives_data
, (char*) (NULL
));
64 ASSERT_EQ(natives_size
, 0);
65 ASSERT_EQ(snapshot_data
, (char*) (NULL
));
66 ASSERT_EQ(snapshot_size
, 0);