test_pdf.cc revision c2e0dbddbe15c98d52c4786dac06cb8952a8ae6d
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
14REGISTER_TEST_CASE(PDF);
15
16TestPDF::TestPDF(TestingInstance* instance)
17    : TestCase(instance) {
18}
19
20void TestPDF::RunTests(const std::string& filter) {
21  RUN_TEST(GetLocalizedString, filter);
22  RUN_TEST(GetResourceImage, filter);
23}
24
25std::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
34std::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(*data.GetAddr32(point), 0);
43    }
44  }
45  PASS();
46}
47