tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

decode_api_test.cc (2351B)


      1 /*
      2 * Copyright (c) 2016, Alliance for Open Media. All rights reserved.
      3 *
      4 * This source code is subject to the terms of the BSD 2 Clause License and
      5 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
      6 * was not distributed with this source code in the LICENSE file, you can
      7 * obtain it at www.aomedia.org/license/software. If the Alliance for Open
      8 * Media Patent License 1.0 was not distributed with this source code in the
      9 * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
     10 */
     11 
     12 #include "gtest/gtest.h"
     13 
     14 #include "config/aom_config.h"
     15 
     16 #include "aom/aomdx.h"
     17 #include "aom/aom_decoder.h"
     18 
     19 namespace {
     20 
     21 TEST(DecodeAPI, InvalidParams) {
     22  uint8_t buf[1] = { 0 };
     23  aom_codec_ctx_t dec;
     24 
     25  EXPECT_EQ(AOM_CODEC_INVALID_PARAM,
     26            aom_codec_dec_init(nullptr, nullptr, nullptr, 0));
     27  EXPECT_EQ(AOM_CODEC_INVALID_PARAM,
     28            aom_codec_dec_init(&dec, nullptr, nullptr, 0));
     29  EXPECT_EQ(AOM_CODEC_INVALID_PARAM,
     30            aom_codec_decode(nullptr, nullptr, 0, nullptr));
     31  EXPECT_EQ(AOM_CODEC_INVALID_PARAM,
     32            aom_codec_decode(nullptr, buf, 0, nullptr));
     33  EXPECT_EQ(AOM_CODEC_INVALID_PARAM,
     34            aom_codec_decode(nullptr, buf, sizeof(buf), nullptr));
     35  EXPECT_EQ(AOM_CODEC_INVALID_PARAM,
     36            aom_codec_decode(nullptr, nullptr, sizeof(buf), nullptr));
     37  EXPECT_EQ(AOM_CODEC_INVALID_PARAM, aom_codec_destroy(nullptr));
     38  EXPECT_NE(aom_codec_error(nullptr), nullptr);
     39  EXPECT_EQ(aom_codec_error_detail(nullptr), nullptr);
     40 
     41  aom_codec_iface_t *iface = aom_codec_av1_dx();
     42  EXPECT_EQ(AOM_CODEC_INVALID_PARAM,
     43            aom_codec_dec_init(nullptr, iface, nullptr, 0));
     44 
     45  EXPECT_EQ(AOM_CODEC_OK, aom_codec_dec_init(&dec, iface, nullptr, 0));
     46  EXPECT_EQ(AOM_CODEC_INVALID_PARAM,
     47            aom_codec_decode(&dec, nullptr, sizeof(buf), nullptr));
     48  EXPECT_EQ(AOM_CODEC_INVALID_PARAM, aom_codec_decode(&dec, buf, 0, nullptr));
     49 
     50  EXPECT_EQ(AOM_CODEC_OK, aom_codec_destroy(&dec));
     51 }
     52 
     53 TEST(DecodeAPI, InvalidControlId) {
     54  aom_codec_iface_t *iface = aom_codec_av1_dx();
     55  aom_codec_ctx_t dec;
     56  EXPECT_EQ(AOM_CODEC_OK, aom_codec_dec_init(&dec, iface, nullptr, 0));
     57  EXPECT_EQ(AOM_CODEC_ERROR, aom_codec_control(&dec, -1, 0));
     58  EXPECT_EQ(AOM_CODEC_INVALID_PARAM, aom_codec_control(&dec, 0, 0));
     59  EXPECT_EQ(AOM_CODEC_OK, aom_codec_destroy(&dec));
     60 }
     61 
     62 }  // namespace