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#ifndef PPAPI_TESTS_TEST_CHAR_SET_H_
6#define PPAPI_TESTS_TEST_CHAR_SET_H_
7
8#include <string>
9#include <vector>
10
11#include "ppapi/c/dev/ppb_char_set_dev.h"
12#include "ppapi/c/trusted/ppb_char_set_trusted.h"
13#include "ppapi/tests/test_case.h"
14
15class TestCharSet : public TestCase {
16 public:
17  TestCharSet(TestingInstance* instance);
18
19  // TestCase implementation.
20
21  virtual bool Init();
22  virtual void RunTests(const std::string& filter);
23
24 private:
25  std::string TestUTF16ToCharSetDeprecated();
26  std::string TestUTF16ToCharSet();
27  std::string TestCharSetToUTF16Deprecated();
28  std::string TestCharSetToUTF16();
29  std::string TestGetDefaultCharSet();
30
31  // Converts the given UTF-8 string to a NON-NULL TERMINATED UTF-16 string
32  // stored in the given vector.
33  std::vector<uint16_t> UTF8ToUTF16(const std::string& utf8);
34
35  const PPB_CharSet_Dev* char_set_interface_;
36  const PPB_CharSet_Trusted* char_set_trusted_interface_;
37};
38
39#endif  // PPAPI_TESTS_TEST_CHAR_SET_H_
40