Fix typo in AsyncDrawable waitingForDimensions
This commit is contained in:
		
							parent
							
								
									577c3fc782
								
							
						
					
					
						commit
						582b9209d9
					
				| @ -24,7 +24,7 @@ public class AsyncDrawable extends Drawable { | ||||
|     private float textSize; | ||||
| 
 | ||||
|     // @since 2.0.1 for use-cases when image is loaded faster than span is drawn and knows canvas width | ||||
|     private boolean waitingForDemensions; | ||||
|     private boolean waitingForDimensions; | ||||
| 
 | ||||
|     /** | ||||
|      * @since 1.0.1 | ||||
| @ -98,11 +98,11 @@ public class AsyncDrawable extends Drawable { | ||||
| 
 | ||||
|         if (canvasWidth == 0) { | ||||
|             // we still have no bounds - wait for them | ||||
|             waitingForDemensions = true; | ||||
|             waitingForDimensions = true; | ||||
|             return; | ||||
|         } | ||||
| 
 | ||||
|         waitingForDemensions = false; | ||||
|         waitingForDimensions = false; | ||||
| 
 | ||||
|         final Rect bounds = resolveBounds(); | ||||
|         result.setBounds(bounds); | ||||
| @ -119,7 +119,7 @@ public class AsyncDrawable extends Drawable { | ||||
|         this.canvasWidth = width; | ||||
|         this.textSize = textSize; | ||||
| 
 | ||||
|         if (waitingForDemensions) { | ||||
|         if (waitingForDimensions) { | ||||
|             initBounds(); | ||||
|         } | ||||
|     } | ||||
|  | ||||
| @ -0,0 +1,107 @@ | ||||
| package ru.noties.markwon.spans; | ||||
| 
 | ||||
| import android.graphics.Canvas; | ||||
| import android.graphics.ColorFilter; | ||||
| import android.graphics.Rect; | ||||
| import android.graphics.drawable.Drawable; | ||||
| import android.support.annotation.NonNull; | ||||
| import android.support.annotation.Nullable; | ||||
| 
 | ||||
| import org.junit.Before; | ||||
| import org.junit.Test; | ||||
| import org.junit.runner.RunWith; | ||||
| import org.robolectric.RobolectricTestRunner; | ||||
| import org.robolectric.annotation.Config; | ||||
| 
 | ||||
| import ru.noties.markwon.renderer.ImageSize; | ||||
| import ru.noties.markwon.renderer.ImageSizeResolver; | ||||
| import ru.noties.markwon.renderer.ImageSizeResolverDef; | ||||
| 
 | ||||
| import static org.junit.Assert.assertEquals; | ||||
| import static org.junit.Assert.assertFalse; | ||||
| import static org.junit.Assert.assertNotNull; | ||||
| import static org.junit.Assert.assertNull; | ||||
| import static org.junit.Assert.assertTrue; | ||||
| import static org.mockito.Mockito.mock; | ||||
| 
 | ||||
| @RunWith(RobolectricTestRunner.class) | ||||
| @Config(manifest = Config.NONE) | ||||
| public class AsyncDrawableTest { | ||||
| 
 | ||||
|     private ImageSizeResolver imageSizeResolver; | ||||
| 
 | ||||
|     @Before | ||||
|     public void before() { | ||||
|         imageSizeResolver = new ImageSizeResolverDef(); | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     public void no_dimensions_await() { | ||||
|         // when drawable have no known dimensions yet, it will await for them | ||||
| 
 | ||||
|         final AsyncDrawable drawable = new AsyncDrawable("", | ||||
|                 mock(AsyncDrawable.Loader.class), | ||||
|                 imageSizeResolver, | ||||
|                 new ImageSize(new ImageSize.Dimension(100.F, "%"), null)); | ||||
| 
 | ||||
|         final Drawable result = new AbstractDrawable(); | ||||
|         result.setBounds(0, 0, 0, 0); | ||||
| 
 | ||||
|         assertFalse(drawable.hasResult()); | ||||
|         drawable.setResult(result); | ||||
|         assertTrue(drawable.hasResult()); | ||||
| 
 | ||||
|         assertTrue(result.getBounds().isEmpty()); | ||||
| 
 | ||||
|         drawable.initWithKnownDimensions(100, 1); | ||||
|         assertEquals( | ||||
|                 new Rect(0, 0, 100, 0), | ||||
|                 result.getBounds() | ||||
|         ); | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     public void previous_result_detached() { | ||||
|         // when result is present it will be detached (setCallback(null)) | ||||
| 
 | ||||
|         final AsyncDrawable drawable = new AsyncDrawable("", | ||||
|                 mock(AsyncDrawable.Loader.class), | ||||
|                 imageSizeResolver, | ||||
|                 null); | ||||
| 
 | ||||
|         drawable.setCallback2(mock(Drawable.Callback.class)); | ||||
|         drawable.initWithKnownDimensions(100, 1); | ||||
| 
 | ||||
|         final Drawable result1 = new AbstractDrawable(); | ||||
|         final Drawable result2 = new AbstractDrawable(); | ||||
| 
 | ||||
|         drawable.setResult(result1); | ||||
|         assertNotNull(result1.getCallback()); | ||||
|         drawable.setResult(result2); | ||||
|         assertNull(result1.getCallback()); | ||||
|         assertNotNull(result2.getCallback()); | ||||
|     } | ||||
| 
 | ||||
|     private static class AbstractDrawable extends Drawable { | ||||
| 
 | ||||
|         @Override | ||||
|         public void draw(@NonNull Canvas canvas) { | ||||
| 
 | ||||
|         } | ||||
| 
 | ||||
|         @Override | ||||
|         public void setAlpha(int alpha) { | ||||
| 
 | ||||
|         } | ||||
| 
 | ||||
|         @Override | ||||
|         public void setColorFilter(@Nullable ColorFilter colorFilter) { | ||||
| 
 | ||||
|         } | ||||
| 
 | ||||
|         @Override | ||||
|         public int getOpacity() { | ||||
|             return 0; | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Dimitry Ivanov
						Dimitry Ivanov