blob: 9b1c5d4ca0f5bf41ed36102e0133c436fb281e6b [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "src/graphics/display/drivers/coordinator/image.h"
#include <fbl/ref_ptr.h>
#include <gtest/gtest.h>
#include "src/graphics/display/drivers/coordinator/client-id.h"
#include "src/graphics/display/drivers/coordinator/testing/mock-image-lifecycle-listener.h"
#include "src/graphics/display/lib/api-types/cpp/driver-image-id.h"
#include "src/graphics/display/lib/api-types/cpp/image-id.h"
#include "src/graphics/display/lib/api-types/cpp/image-metadata.h"
#include "src/graphics/display/lib/api-types/cpp/image-tiling-type.h"
namespace display_coordinator {
class ImageTest : public ::testing::Test {
public:
void TearDown() override { lifecycle_listener_.CheckAllCallsReplayed(); }
protected:
testing::MockImageLifecycleListener lifecycle_listener_;
};
TEST_F(ImageTest, LifecycleListenerCalled) {
static constexpr ClientId kClientId(1000);
static constexpr display::DriverImageId kDriverImageId(2000);
static constexpr display::ImageId kImageId(3000);
static constexpr display::ImageMetadata kImageMetadata({
.width = 100,
.height = 200,
.tiling_type = display::ImageTilingType::kLinear,
});
lifecycle_listener_.ExpectImageWillBeDestroyed(
[&](display::DriverImageId driver_image_id) { EXPECT_EQ(driver_image_id, kDriverImageId); });
fbl::RefPtr<Image> image = fbl::AdoptRef(new Image(&lifecycle_listener_, kImageMetadata, kImageId,
kDriverImageId, nullptr, kClientId));
}
} // namespace display_coordinator