1 // Copyright 2019 The Chromium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 package org.chromium.base.util; 6 7 import static org.junit.Assert.assertFalse; 8 import static org.junit.Assert.assertNotNull; 9 import static org.junit.Assert.assertTrue; 10 11 import static org.chromium.base.GarbageCollectionTestUtils.canBeGarbageCollected; 12 13 import android.graphics.Bitmap; 14 15 import androidx.test.filters.SmallTest; 16 17 import org.junit.Test; 18 import org.junit.runner.RunWith; 19 20 import org.chromium.base.GarbageCollectionTestUtils; 21 import org.chromium.base.test.BaseJUnit4ClassRunner; 22 import org.chromium.base.test.UiThreadTest; 23 24 import java.lang.ref.WeakReference; 25 26 /** Tests for {@link GarbageCollectionTestUtils}. */ 27 @RunWith(BaseJUnit4ClassRunner.class) 28 public class GarbageCollectionTestUtilsTest { 29 @Test 30 @SmallTest 31 @UiThreadTest testCanBeGarbageCollected()32 public void testCanBeGarbageCollected() { 33 Bitmap bitmap = Bitmap.createBitmap(1, 2, Bitmap.Config.ARGB_8888); 34 WeakReference<Bitmap> bitmapWeakReference = new WeakReference<>(bitmap); 35 assertNotNull(bitmapWeakReference.get()); 36 assertFalse(canBeGarbageCollected(bitmapWeakReference)); 37 38 bitmap = null; 39 assertTrue(canBeGarbageCollected(bitmapWeakReference)); 40 } 41 } 42