• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
4 
5 #include "ppapi/tests/test_pdf.h"
6 
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"
13 
14 REGISTER_TEST_CASE(PDF);
15 
TestPDF(TestingInstance * instance)16 TestPDF::TestPDF(TestingInstance* instance)
17     : TestCase(instance) {
18 }
19 
RunTests(const std::string & filter)20 void TestPDF::RunTests(const std::string& filter) {
21   RUN_TEST(GetLocalizedString, filter);
22   RUN_TEST(GetResourceImage, filter);
23 }
24 
TestGetLocalizedString()25 std::string TestPDF::TestGetLocalizedString() {
26   pp::Var string = pp::PDF::GetLocalizedString(instance_,
27       PP_RESOURCESTRING_PDFGETPASSWORD);
28   ASSERT_TRUE(string.is_string());
29   ASSERT_EQ("This document is password protected.  Please enter a password.",
30             string.AsString());
31   PASS();
32 }
33 
TestGetResourceImage()34 std::string TestPDF::TestGetResourceImage() {
35   pp::ImageData data =
36       pp::PDF::GetResourceImage(instance_, PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMIN);
37   ASSERT_EQ(43, data.size().width());
38   ASSERT_EQ(42, data.size().height());
39   for (int i = 0; i < data.size().width(); ++i) {
40     for (int j = 0; j < data.size().height(); ++j) {
41       pp::Point point(i, j);
42       ASSERT_NE(0, *data.GetAddr32(point));
43     }
44   }
45   PASS();
46 }
47