TestVideoSegment.cpp (1308B)
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* vim: set ts=2 et sw=2 tw=80: */ 3 /* This Source Code Form is subject to the terms of the Mozilla Public 4 * License, v. 2.0. If a copy of the MPL was not distributed with this 5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 7 #include "VideoSegment.h" 8 #include "gtest/gtest.h" 9 10 using namespace mozilla; 11 12 namespace mozilla::layer { 13 class Image; 14 } // namespace mozilla::layer 15 16 TEST(VideoSegment, TestAppendFrameForceBlack) 17 { 18 RefPtr<layers::Image> testImage = nullptr; 19 20 VideoSegment segment; 21 segment.AppendFrame(testImage.forget(), mozilla::gfx::IntSize(640, 480), 22 PRINCIPAL_HANDLE_NONE, true); 23 24 VideoSegment::ChunkIterator iter(segment); 25 while (!iter.IsEnded()) { 26 VideoChunk chunk = *iter; 27 EXPECT_TRUE(chunk.mFrame.GetForceBlack()); 28 iter.Next(); 29 } 30 } 31 32 TEST(VideoSegment, TestAppendFrameNotForceBlack) 33 { 34 RefPtr<layers::Image> testImage = nullptr; 35 36 VideoSegment segment; 37 segment.AppendFrame(testImage.forget(), mozilla::gfx::IntSize(640, 480), 38 PRINCIPAL_HANDLE_NONE); 39 40 VideoSegment::ChunkIterator iter(segment); 41 while (!iter.IsEnded()) { 42 VideoChunk chunk = *iter; 43 EXPECT_FALSE(chunk.mFrame.GetForceBlack()); 44 iter.Next(); 45 } 46 }