Пример #1
0
  @Test
  public void testReturnsWhenMissingSourceEncoderAndNotNeeded2() {
    harness.diskCacheStrategy = DiskCacheStrategy.NONE;
    when(harness.loadProvider.getSourceEncoder()).thenReturn(null);

    assertNotNull(harness.getRequest());
  }
Пример #2
0
  @Test
  public void testReturnsWhenMissingEncoderWhenNotNeeded1() {
    harness.diskCacheStrategy = DiskCacheStrategy.SOURCE;
    when(harness.loadProvider.getEncoder()).thenReturn(null);

    assertNotNull(harness.getRequest());
  }
Пример #3
0
  @Test(expected = NullPointerException.class)
  public void testThrowsWhenMissingSourceEncoderAndNeeded2() {
    harness.diskCacheStrategy = DiskCacheStrategy.ALL;
    when(harness.loadProvider.getSourceEncoder()).thenReturn(null);

    harness.getRequest();
  }
Пример #4
0
  @Test
  public void testEngineLoadPassedCorrectPriority() {
    Priority expected = Priority.HIGH;
    harness.priority = expected;
    GenericRequest request = harness.getRequest();
    request.begin();

    request.onSizeReady(100, 100);

    verify(harness.engine)
        .load(
            anyInt(),
            anyInt(),
            any(ResourceDecoder.class),
            any(DataFetcher.class),
            any(Encoder.class),
            any(ResourceDecoder.class),
            any(Transformation.class),
            any(ResourceEncoder.class),
            any(ResourceTranscoder.class),
            eq(expected),
            anyBoolean(),
            any(DiskCacheStrategy.class),
            any(ResourceCallback.class));
  }
Пример #5
0
  @Test(expected = NullPointerException.class)
  public void testThrowsWhenMissingEncoderWhenNeeded1() {
    harness.diskCacheStrategy = DiskCacheStrategy.RESULT;
    when(harness.loadProvider.getEncoder()).thenReturn(null);

    harness.getRequest();
  }
Пример #6
0
  @Test
  public void testCallsTargetOnResourceReadyIfNoRequestListener() {
    harness.requestListener = null;
    GenericRequest request = harness.getRequest();
    request.onResourceReady(harness.resource);

    verify(harness.target).onResourceReady(eq(harness.result), any(GlideAnimation.class));
  }
Пример #7
0
  @Test
  public void testCallsTargetOnExceptionIfNoRequestListener() {
    harness.requestListener = null;
    GenericRequest request = harness.getRequest();
    Exception exception = new IOException("test");
    request.onException(exception);

    verify(harness.target).onLoadFailed(eq(exception), eq(harness.errorDrawable));
  }
Пример #8
0
  @Test
  public void testCallsGetSizeIfOverrideHeightIsLessThanZero() {
    harness.overrideHeight = -1;
    harness.overrideWidth = 100;
    GenericRequest request = harness.getRequest();
    request.begin();

    verify(harness.target).getSize(any(SizeReadyCallback.class));
  }
Пример #9
0
  @Test
  public void testDoesNotCallGetSizeIfOverrideWidthAndHeightAreSet() {
    harness.overrideWidth = 100;
    harness.overrideHeight = 100;
    GenericRequest request = harness.getRequest();
    request.begin();

    verify(harness.target, never()).getSize(any(SizeReadyCallback.class));
  }
Пример #10
0
  @Test
  public void testDoesNotSetErrorDrawableIfRequestCoordinatorDoesntAllowIt() {
    harness.errorDrawable = new ColorDrawable(Color.RED);
    GenericRequest request = harness.getRequest();
    when(harness.requestCoordinator.canNotifyStatusChanged(any(Request.class))).thenReturn(false);
    request.onException(new IOException("Test"));

    verify(harness.target, never()).onLoadFailed(any(Exception.class), any(Drawable.class));
  }
Пример #11
0
  @Test
  public void testRequestListenerIsCalledWithIsFirstResourceIfNoRequestCoordinator() {
    harness.requestCoordinator = null;
    GenericRequest request = harness.getRequest();
    request.onResourceReady(harness.resource);

    verify(harness.requestListener)
        .onResourceReady(
            eq(harness.result), any(Number.class), any(Target.class), anyBoolean(), eq(true));
  }
Пример #12
0
  @Test
  public void testPlaceholderDrawableIsSet() {
    Drawable expected = new ColorDrawable(Color.RED);

    MockTarget target = new MockTarget();

    harness.placeholderDrawable = expected;
    harness.target = target;
    GenericRequest request = harness.getRequest();
    request.begin();

    assertEquals(expected, target.currentPlaceholder);
  }
Пример #13
0
  @Test
  public void testErrorDrawableIsSetOnLoadFailed() {
    Drawable expected = new ColorDrawable(Color.RED);

    MockTarget target = new MockTarget();

    harness.errorDrawable = expected;
    harness.target = target;
    GenericRequest request = harness.getRequest();

    request.onException(null);

    assertEquals(expected, target.currentPlaceholder);
  }
Пример #14
0
  @Test
  public void testThrowsWhenMissingModelLoader() {
    for (DiskCacheStrategy strategy : DiskCacheStrategy.values()) {
      harness = new RequestHarness();
      harness.diskCacheStrategy = strategy;
      when(harness.loadProvider.getModelLoader()).thenReturn(null);

      try {
        harness.getRequest();
        fail(NullPointerException.class.getSimpleName() + " expected for " + strategy);
      } catch (NullPointerException ex) {
        // expected
      }
    }
  }
Пример #15
0
  @Test
  public void setTestPlaceholderDrawableSetOnNullModel() {
    Drawable placeholder = new ColorDrawable(Color.RED);

    MockTarget target = new MockTarget();

    harness.placeholderDrawable = placeholder;
    harness.target = target;
    harness.model = null;
    GenericRequest request = harness.getRequest();

    request.begin();

    assertEquals(placeholder, target.currentPlaceholder);
  }
Пример #16
0
  @Test
  public void testThrowsWhenTransformationIsNull() {
    for (DiskCacheStrategy strategy : DiskCacheStrategy.values()) {
      harness = new RequestHarness();
      harness.diskCacheStrategy = strategy;
      harness.transformation = null;

      try {
        harness.getRequest();
        fail(NullPointerException.class.getSimpleName() + " expected for " + strategy);
      } catch (NullPointerException ex) {
        // expected
      }
    }
  }
Пример #17
0
  @Test
  public void testIsFailedAfterException() {
    GenericRequest request = harness.getRequest();

    request.onException(new Exception("test"));
    assertTrue(request.isFailed());
  }
Пример #18
0
  @Test
  public void testPlaceholderResourceIsSet() {
    final int expectedId = 12345;
    Drawable expected = new ColorDrawable(Color.RED);

    Context context = mockContextToReturn(expectedId, expected);
    MockTarget target = new MockTarget();

    harness.context = context;
    harness.placeholderResourceId = expectedId;
    harness.target = target;
    GenericRequest request = harness.getRequest();
    request.begin();

    assertEquals(expected, target.currentPlaceholder);
  }
Пример #19
0
  @Test
  public void testIsCancelledAfterClear() {
    GenericRequest request = harness.getRequest();
    request.clear();

    assertTrue(request.isCancelled());
  }
Пример #20
0
  @Test
  public void testResourceOnlyReceivesOneGetOnResourceReady() {
    GenericRequest request = harness.getRequest();
    request.onResourceReady(harness.resource);

    verify(harness.resource, times(1)).get();
  }
Пример #21
0
  @Test
  public void testIsFailedAfterNoResultAndNullException() {
    GenericRequest request = harness.getRequest();

    request.onException(null);
    assertTrue(request.isFailed());
  }
Пример #22
0
  @Test
  public void testIsPausedAfterPause() {
    GenericRequest request = harness.getRequest();
    request.pause();

    assertTrue(request.isPaused());
  }
Пример #23
0
  @Test
  public void testCanReRunCancelledRequests() {
    doAnswer(new CallSizeReady(100, 100))
        .when(harness.target)
        .getSize(any(SizeReadyCallback.class));
    when(harness.engine.load(
            anyInt(),
            anyInt(),
            any(ResourceDecoder.class),
            any(DataFetcher.class),
            any(Encoder.class),
            any(ResourceDecoder.class),
            any(Transformation.class),
            any(ResourceEncoder.class),
            any(ResourceTranscoder.class),
            any(Priority.class),
            anyBoolean(),
            any(DiskCacheStrategy.class),
            any(ResourceCallback.class)))
        .thenAnswer(new CallResourceCallback(harness.resource));
    GenericRequest request = harness.getRequest();

    request.begin();
    request.cancel();
    request.begin();

    verify(harness.target, times(2)).onResourceReady(eq(harness.result), any(GlideAnimation.class));
  }
Пример #24
0
  @Test
  public void testIsNotCancelledAfterPause() {
    GenericRequest request = harness.getRequest();
    request.pause();

    assertFalse(request.isCancelled());
  }
Пример #25
0
  @Test
  public void testRequestListenerIsCalledWithLoadedFromMemoryIfLoadCompletesSynchronously() {
    final GenericRequest request = harness.getRequest();
    when(harness.engine.load(
            anyInt(),
            anyInt(),
            any(ResourceDecoder.class),
            any(DataFetcher.class),
            any(Encoder.class),
            any(ResourceDecoder.class),
            any(Transformation.class),
            any(ResourceEncoder.class),
            any(ResourceTranscoder.class),
            any(Priority.class),
            anyBoolean(),
            any(DiskCacheStrategy.class),
            any(ResourceCallback.class)))
        .thenAnswer(
            new Answer<Object>() {
              @Override
              public Object answer(InvocationOnMock invocation) throws Throwable {
                request.onResourceReady(harness.resource);
                return null;
              }
            });

    request.begin();
    request.onSizeReady(100, 100);
    verify(harness.requestListener)
        .onResourceReady(
            eq(harness.result), any(Number.class), any(Target.class), eq(true), anyBoolean());
  }
Пример #26
0
  @Test
  public void testEngineLoadCancelledOnCancel() {
    Engine.LoadStatus loadStatus = mock(Engine.LoadStatus.class);
    when(harness.engine.load(
            anyInt(),
            anyInt(),
            any(ResourceDecoder.class),
            any(DataFetcher.class),
            any(Encoder.class),
            any(ResourceDecoder.class),
            any(Transformation.class),
            any(ResourceEncoder.class),
            any(ResourceTranscoder.class),
            any(Priority.class),
            anyBoolean(),
            any(DiskCacheStrategy.class),
            any(ResourceCallback.class)))
        .thenReturn(loadStatus);

    GenericRequest request = harness.getRequest();
    request.begin();

    request.onSizeReady(100, 100);
    request.cancel();

    verify(loadStatus).cancel();
  }
Пример #27
0
  @Test
  public void testIsNotRunningAfterComplete() {
    GenericRequest request = harness.getRequest();
    request.begin();
    request.onResourceReady(harness.resource);

    assertFalse(request.isRunning());
  }
Пример #28
0
  @Test
  public void testIsNotRunningAfterFailing() {
    GenericRequest request = harness.getRequest();
    request.begin();
    request.onException(new RuntimeException("Test"));

    assertFalse(request.isRunning());
  }
Пример #29
0
  @Test
  public void testIsNotCompleteAfterClear() {
    GenericRequest request = harness.getRequest();
    request.onResourceReady(harness.resource);
    request.clear();

    assertFalse(request.isComplete());
  }
Пример #30
0
  @Test
  public void testIsNotRunningAfterClear() {
    GenericRequest request = harness.getRequest();
    request.begin();
    request.clear();

    assertFalse(request.isRunning());
  }