| // Copyright 2013 The Flutter 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 "flutter/testing/test_metal_context.h" | 
 | #include "flutter/testing/test_metal_surface.h" | 
 | #include "flutter/testing/testing.h" | 
 |  | 
 | namespace flutter { | 
 | namespace testing { | 
 |  | 
 | #ifdef SHELL_ENABLE_METAL | 
 |  | 
 | TEST(TestMetalSurface, EmptySurfaceIsInvalid) { | 
 |   if (!TestMetalSurface::PlatformSupportsMetal()) { | 
 |     GTEST_SKIP(); | 
 |   } | 
 |  | 
 |   TestMetalContext metal_context = TestMetalContext(); | 
 |   auto surface = TestMetalSurface::Create(metal_context); | 
 |   ASSERT_NE(surface, nullptr); | 
 |   ASSERT_FALSE(surface->IsValid()); | 
 | } | 
 |  | 
 | TEST(TestMetalSurface, CanCreateValidTestMetalSurface) { | 
 |   if (!TestMetalSurface::PlatformSupportsMetal()) { | 
 |     GTEST_SKIP(); | 
 |   } | 
 |  | 
 |   TestMetalContext metal_context = TestMetalContext(); | 
 |   auto surface = | 
 |       TestMetalSurface::Create(metal_context, SkISize::Make(100, 100)); | 
 |   ASSERT_NE(surface, nullptr); | 
 |   ASSERT_TRUE(surface->IsValid()); | 
 |   ASSERT_NE(surface->GetSurface(), nullptr); | 
 |   ASSERT_NE(surface->GetGrContext(), nullptr); | 
 | } | 
 |  | 
 | #endif | 
 |  | 
 | }  // namespace testing | 
 | }  // namespace flutter |