• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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