@Test public void cloneSharesStatefulInstances() { Picasso parent = defaultPicasso(RuntimeEnvironment.application, true, true); Picasso child = parent.newBuilder() .build(); assertThat(child.context).isEqualTo(parent.context); assertThat(child.callFactory).isEqualTo(parent.callFactory); assertThat(child.dispatcher.service).isEqualTo(parent.dispatcher.service); assertThat(child.cache).isEqualTo(parent.cache); assertThat(child.listener).isEqualTo(parent.listener); assertThat(child.requestTransformers).isEqualTo(parent.requestTransformers); assertThat(child.requestHandlers).hasSize(parent.requestHandlers.size()); for (int i = 0, n = child.requestHandlers.size(); i < n; i++) { assertThat(child.requestHandlers.get(i)).isInstanceOf( parent.requestHandlers.get(i).getClass()); } assertThat(child.defaultBitmapConfig).isEqualTo(parent.defaultBitmapConfig); assertThat(child.indicatorsEnabled).isEqualTo(parent.indicatorsEnabled); assertThat(child.loggingEnabled).isEqualTo(parent.loggingEnabled); assertThat(child.targetToAction).isEqualTo(parent.targetToAction); assertThat(child.targetToDeferredRequestCreator).isEqualTo( parent.targetToDeferredRequestCreator); }
@Test public void clonedRequestHandlersAreIndependent() { Picasso original = defaultPicasso(RuntimeEnvironment.application, false, false); original.newBuilder() .addRequestTransformer(NOOP_TRANSFORMER) .addRequestHandler(NOOP_REQUEST_HANDLER) .build(); assertThat(original.requestTransformers).hasSize(NUM_BUILTIN_TRANSFORMERS); assertThat(original.requestHandlers).hasSize(NUM_BUILTIN_HANDLERS); }