test_video_decoder_dev.cc revision 010d83a9304c5a91596085d917d248abff47903a
1// Copyright (c) 2011 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_video_decoder_dev.h"
6
7#include "ppapi/c/dev/ppb_video_decoder_dev.h"
8#include "ppapi/c/pp_errors.h"
9#include "ppapi/c/ppb_var.h"
10#include "ppapi/tests/testing_instance.h"
11
12REGISTER_TEST_CASE(VideoDecoderDev);
13
14bool TestVideoDecoderDev::Init() {
15  video_decoder_interface_ = static_cast<const PPB_VideoDecoder_Dev*>(
16      pp::Module::Get()->GetBrowserInterface(PPB_VIDEODECODER_DEV_INTERFACE));
17  return video_decoder_interface_ && CheckTestingInterface();
18}
19
20void TestVideoDecoderDev::RunTests(const std::string& filter) {
21  RUN_TEST(CreateFailure, filter);
22}
23
24void TestVideoDecoderDev::QuitMessageLoop() {
25  testing_interface_->QuitMessageLoop(instance_->pp_instance());
26}
27
28std::string TestVideoDecoderDev::TestCreateFailure() {
29  PP_Resource decoder = video_decoder_interface_->Create(
30      instance_->pp_instance(), 0, static_cast<PP_VideoDecoder_Profile>(-1));
31  if (decoder != 0)
32    return "Create: error detecting invalid context & configs";
33
34  PASS();
35}
36