// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "ppapi/tests/test_pdf.h" #include "ppapi/c/private/ppb_pdf.h" #include "ppapi/cpp/image_data.h" #include "ppapi/cpp/point.h" #include "ppapi/cpp/private/pdf.h" #include "ppapi/cpp/var.h" #include "ppapi/tests/testing_instance.h" REGISTER_TEST_CASE(PDF); TestPDF::TestPDF(TestingInstance* instance) : TestCase(instance) { } void TestPDF::RunTests(const std::string& filter) { RUN_TEST(GetLocalizedString, filter); RUN_TEST(GetResourceImage, filter); RUN_TEST(GetV8ExternalSnapshotData, filter); } std::string TestPDF::TestGetLocalizedString() { pp::Var string = pp::PDF::GetLocalizedString(instance_, PP_RESOURCESTRING_PDFGETPASSWORD); ASSERT_TRUE(string.is_string()); ASSERT_EQ("This document is password protected. Please enter a password.", string.AsString()); PASS(); } std::string TestPDF::TestGetResourceImage() { pp::ImageData data = pp::PDF::GetResourceImage(instance_, PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMIN); ASSERT_EQ(43, data.size().width()); ASSERT_EQ(42, data.size().height()); for (int i = 0; i < data.size().width(); ++i) { for (int j = 0; j < data.size().height(); ++j) { pp::Point point(i, j); ASSERT_NE(0, *data.GetAddr32(point)); } } PASS(); } std::string TestPDF::TestGetV8ExternalSnapshotData() { const char* natives_data; const char* snapshot_data; int natives_size; int snapshot_size; pp::PDF::GetV8ExternalSnapshotData(instance_, &natives_data, &natives_size, &snapshot_data, &snapshot_size); #ifdef V8_USE_EXTERNAL_STARTUP_DATA ASSERT_NE(natives_data, (char*) (NULL)); ASSERT_NE(natives_size, 0); ASSERT_NE(snapshot_data, (char*) (NULL)); ASSERT_NE(snapshot_size, 0); #else ASSERT_EQ(natives_data, (char*) (NULL)); ASSERT_EQ(natives_size, 0); ASSERT_EQ(snapshot_data, (char*) (NULL)); ASSERT_EQ(snapshot_size, 0); #endif PASS(); }