Chromium Code Reviews| OLD | NEW | 
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 package org.chromium.net; | 5 package org.chromium.net; | 
| 6 | 6 | 
| 7 import android.os.ConditionVariable; | 7 import android.os.ConditionVariable; | 
| 8 import android.os.StrictMode; | 8 import android.os.StrictMode; | 
| 9 import android.test.MoreAsserts; | 9 import android.test.MoreAsserts; | 
| 10 import android.test.suitebuilder.annotation.SmallTest; | 10 import android.test.suitebuilder.annotation.SmallTest; | 
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 55 super.tearDown(); | 55 super.tearDown(); | 
| 56 } | 56 } | 
| 57 | 57 | 
| 58 private TestUrlRequestCallback startAndWaitForComplete(String url) throws Ex ception { | 58 private TestUrlRequestCallback startAndWaitForComplete(String url) throws Ex ception { | 
| 59 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 59 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 
| 60 // Create request. | 60 // Create request. | 
| 61 UrlRequest.Builder builder = new UrlRequest.Builder( | 61 UrlRequest.Builder builder = new UrlRequest.Builder( | 
| 62 url, callback, callback.getExecutor(), mTestFramework.mCronetEng ine); | 62 url, callback, callback.getExecutor(), mTestFramework.mCronetEng ine); | 
| 63 UrlRequest urlRequest = builder.build(); | 63 UrlRequest urlRequest = builder.build(); | 
| 64 urlRequest.start(); | 64 urlRequest.start(); | 
| 65 callback.blockForDone(); | 65 callback.blockForDone(); | 
| 
 
kapishnikov
2016/08/31 18:10:27
Should we also wait for the executor to finish all
 
xunjieli
2016/08/31 20:03:07
Done. I think it makes sense to wait for a bit and
 
 | |
| 66 assertTrue(urlRequest.isDone()); | 66 assertTrue(urlRequest.isDone()); | 
| 67 return callback; | 67 return callback; | 
| 68 } | 68 } | 
| 69 | 69 | 
| 70 private void checkResponseInfo(UrlResponseInfo responseInfo, String expected Url, | 70 private void checkResponseInfo(UrlResponseInfo responseInfo, String expected Url, | 
| 71 int expectedHttpStatusCode, String expectedHttpStatusText) { | 71 int expectedHttpStatusCode, String expectedHttpStatusText) { | 
| 72 assertEquals(expectedUrl, responseInfo.getUrl()); | 72 assertEquals(expectedUrl, responseInfo.getUrl()); | 
| 73 assertEquals( | 73 assertEquals( | 
| 74 expectedUrl, responseInfo.getUrlChain().get(responseInfo.getUrlC hain().size() - 1)); | 74 expectedUrl, responseInfo.getUrlChain().get(responseInfo.getUrlC hain().size() - 1)); | 
| 75 assertEquals(expectedHttpStatusCode, responseInfo.getHttpStatusCode()); | 75 assertEquals(expectedHttpStatusCode, responseInfo.getHttpStatusCode()); | 
| (...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 620 public void testMockStartAsyncError() throws Exception { | 620 public void testMockStartAsyncError() throws Exception { | 
| 621 final int arbitraryNetError = -3; | 621 final int arbitraryNetError = -3; | 
| 622 TestUrlRequestCallback callback = | 622 TestUrlRequestCallback callback = | 
| 623 startAndWaitForComplete(MockUrlRequestJobFactory.getMockUrlWithF ailure( | 623 startAndWaitForComplete(MockUrlRequestJobFactory.getMockUrlWithF ailure( | 
| 624 FailurePhase.START, arbitraryNetError)); | 624 FailurePhase.START, arbitraryNetError)); | 
| 625 assertNull(callback.mResponseInfo); | 625 assertNull(callback.mResponseInfo); | 
| 626 assertNotNull(callback.mError); | 626 assertNotNull(callback.mError); | 
| 627 assertEquals(arbitraryNetError, callback.mError.getCronetInternalErrorCo de()); | 627 assertEquals(arbitraryNetError, callback.mError.getCronetInternalErrorCo de()); | 
| 628 assertEquals(0, callback.mRedirectCount); | 628 assertEquals(0, callback.mRedirectCount); | 
| 629 assertTrue(callback.mOnErrorCalled); | 629 assertTrue(callback.mOnErrorCalled); | 
| 630 assertEquals(callback.mResponseStep, ResponseStep.NOTHING); | 630 assertEquals(ResponseStep.ON_FAILED, callback.mResponseStep); | 
| 631 } | 631 } | 
| 632 | 632 | 
| 633 @SmallTest | 633 @SmallTest | 
| 634 @Feature({"Cronet"}) | 634 @Feature({"Cronet"}) | 
| 635 @OnlyRunNativeCronet // Java impl doesn't support MockUrlRequestJobFactory | 635 @OnlyRunNativeCronet // Java impl doesn't support MockUrlRequestJobFactory | 
| 636 public void testMockReadDataSyncError() throws Exception { | 636 public void testMockReadDataSyncError() throws Exception { | 
| 637 final int arbitraryNetError = -4; | 637 final int arbitraryNetError = -4; | 
| 638 TestUrlRequestCallback callback = | 638 TestUrlRequestCallback callback = | 
| 639 startAndWaitForComplete(MockUrlRequestJobFactory.getMockUrlWithF ailure( | 639 startAndWaitForComplete(MockUrlRequestJobFactory.getMockUrlWithF ailure( | 
| 640 FailurePhase.READ_SYNC, arbitraryNetError)); | 640 FailurePhase.READ_SYNC, arbitraryNetError)); | 
| 641 assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); | 641 assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); | 
| 642 assertEquals(0, callback.mResponseInfo.getReceivedBytesCount()); | 642 assertEquals(0, callback.mResponseInfo.getReceivedBytesCount()); | 
| 643 assertNotNull(callback.mError); | 643 assertNotNull(callback.mError); | 
| 644 assertEquals(arbitraryNetError, callback.mError.getCronetInternalErrorCo de()); | 644 assertEquals(arbitraryNetError, callback.mError.getCronetInternalErrorCo de()); | 
| 645 assertEquals(0, callback.mRedirectCount); | 645 assertEquals(0, callback.mRedirectCount); | 
| 646 assertTrue(callback.mOnErrorCalled); | 646 assertTrue(callback.mOnErrorCalled); | 
| 647 assertEquals(callback.mResponseStep, ResponseStep.ON_RESPONSE_STARTED); | 647 assertEquals(ResponseStep.ON_FAILED, callback.mResponseStep); | 
| 648 } | 648 } | 
| 649 | 649 | 
| 650 @SmallTest | 650 @SmallTest | 
| 651 @Feature({"Cronet"}) | 651 @Feature({"Cronet"}) | 
| 652 @OnlyRunNativeCronet // Java impl doesn't support MockUrlRequestJobFactory | 652 @OnlyRunNativeCronet // Java impl doesn't support MockUrlRequestJobFactory | 
| 653 public void testMockReadDataAsyncError() throws Exception { | 653 public void testMockReadDataAsyncError() throws Exception { | 
| 654 final int arbitraryNetError = -5; | 654 final int arbitraryNetError = -5; | 
| 655 TestUrlRequestCallback callback = | 655 TestUrlRequestCallback callback = | 
| 656 startAndWaitForComplete(MockUrlRequestJobFactory.getMockUrlWithF ailure( | 656 startAndWaitForComplete(MockUrlRequestJobFactory.getMockUrlWithF ailure( | 
| 657 FailurePhase.READ_ASYNC, arbitraryNetError)); | 657 FailurePhase.READ_ASYNC, arbitraryNetError)); | 
| 658 assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); | 658 assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); | 
| 659 assertEquals(0, callback.mResponseInfo.getReceivedBytesCount()); | 659 assertEquals(0, callback.mResponseInfo.getReceivedBytesCount()); | 
| 660 assertNotNull(callback.mError); | 660 assertNotNull(callback.mError); | 
| 661 assertEquals(arbitraryNetError, callback.mError.getCronetInternalErrorCo de()); | 661 assertEquals(arbitraryNetError, callback.mError.getCronetInternalErrorCo de()); | 
| 662 assertEquals(0, callback.mRedirectCount); | 662 assertEquals(0, callback.mRedirectCount); | 
| 663 assertTrue(callback.mOnErrorCalled); | 663 assertTrue(callback.mOnErrorCalled); | 
| 664 assertEquals(callback.mResponseStep, ResponseStep.ON_RESPONSE_STARTED); | 664 assertEquals(ResponseStep.ON_FAILED, callback.mResponseStep); | 
| 665 } | 665 } | 
| 666 | 666 | 
| 667 /** | 667 /** | 
| 668 * Tests that request continues when client certificate is requested. | 668 * Tests that request continues when client certificate is requested. | 
| 669 */ | 669 */ | 
| 670 @SmallTest | 670 @SmallTest | 
| 671 @Feature({"Cronet"}) | 671 @Feature({"Cronet"}) | 
| 672 @OnlyRunNativeCronet | 672 @OnlyRunNativeCronet | 
| 673 public void testMockClientCertificateRequested() throws Exception { | 673 public void testMockClientCertificateRequested() throws Exception { | 
| 674 TestUrlRequestCallback callback = startAndWaitForComplete( | 674 TestUrlRequestCallback callback = startAndWaitForComplete( | 
| (...skipping 14 matching lines...) Expand all Loading... | |
| 689 @OnlyRunNativeCronet // Java impl doesn't support MockUrlRequestJobFactory | 689 @OnlyRunNativeCronet // Java impl doesn't support MockUrlRequestJobFactory | 
| 690 public void testMockSSLCertificateError() throws Exception { | 690 public void testMockSSLCertificateError() throws Exception { | 
| 691 TestUrlRequestCallback callback = startAndWaitForComplete( | 691 TestUrlRequestCallback callback = startAndWaitForComplete( | 
| 692 MockUrlRequestJobFactory.getMockUrlForSSLCertificateError()); | 692 MockUrlRequestJobFactory.getMockUrlForSSLCertificateError()); | 
| 693 assertNull(callback.mResponseInfo); | 693 assertNull(callback.mResponseInfo); | 
| 694 assertNotNull(callback.mError); | 694 assertNotNull(callback.mError); | 
| 695 assertTrue(callback.mOnErrorCalled); | 695 assertTrue(callback.mOnErrorCalled); | 
| 696 assertEquals(-201, callback.mError.getCronetInternalErrorCode()); | 696 assertEquals(-201, callback.mError.getCronetInternalErrorCode()); | 
| 697 assertEquals("Exception in CronetUrlRequest: net::ERR_CERT_DATE_INVALID" , | 697 assertEquals("Exception in CronetUrlRequest: net::ERR_CERT_DATE_INVALID" , | 
| 698 callback.mError.getMessage()); | 698 callback.mError.getMessage()); | 
| 699 assertEquals(callback.mResponseStep, ResponseStep.NOTHING); | 699 assertEquals(ResponseStep.ON_FAILED, callback.mResponseStep); | 
| 700 } | 700 } | 
| 701 | 701 | 
| 702 /** | 702 /** | 
| 703 * Checks that the buffer is updated correctly, when starting at an offset. | 703 * Checks that the buffer is updated correctly, when starting at an offset. | 
| 704 */ | 704 */ | 
| 705 @SmallTest | 705 @SmallTest | 
| 706 @Feature({"Cronet"}) | 706 @Feature({"Cronet"}) | 
| 707 public void testSimpleGetBufferUpdates() throws Exception { | 707 public void testSimpleGetBufferUpdates() throws Exception { | 
| 708 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 708 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 
| 709 callback.setAutoAdvance(false); | 709 callback.setAutoAdvance(false); | 
| (...skipping 853 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1563 boolean expectResponseInfo, boolean expectError) { | 1563 boolean expectResponseInfo, boolean expectError) { | 
| 1564 if (Log.isLoggable("TESTING", Log.VERBOSE)) { | 1564 if (Log.isLoggable("TESTING", Log.VERBOSE)) { | 
| 1565 Log.v("TESTING", "Testing " + failureType + " during " + failureStep ); | 1565 Log.v("TESTING", "Testing " + failureType + " during " + failureStep ); | 
| 1566 } | 1566 } | 
| 1567 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 1567 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 
| 1568 callback.setFailure(failureType, failureStep); | 1568 callback.setFailure(failureType, failureStep); | 
| 1569 UrlRequest.Builder builder = new UrlRequest.Builder(NativeTestServer.get RedirectURL(), | 1569 UrlRequest.Builder builder = new UrlRequest.Builder(NativeTestServer.get RedirectURL(), | 
| 1570 callback, callback.getExecutor(), mTestFramework.mCronetEngine); | 1570 callback, callback.getExecutor(), mTestFramework.mCronetEngine); | 
| 1571 UrlRequest urlRequest = builder.build(); | 1571 UrlRequest urlRequest = builder.build(); | 
| 1572 urlRequest.start(); | 1572 urlRequest.start(); | 
| 1573 callback.blockForDone(); | 1573 callback.blockForDone(); | 
| 
 
kapishnikov
2016/08/31 18:10:27
Same here. Is it possible that callback.blockForDo
 
xunjieli
2016/08/31 20:03:07
Done.
 
 | |
| 1574 assertEquals(1, callback.mRedirectCount); | 1574 assertEquals(1, callback.mRedirectCount); | 
| 1575 assertEquals(callback.mResponseStep, failureStep); | 1575 if (failureType == FailureType.CANCEL_SYNC || failureType == FailureType .CANCEL_ASYNC) { | 
| 1576 assertEquals(ResponseStep.ON_CANCELED, callback.mResponseStep); | |
| 1577 } else if (failureType == FailureType.THROW_SYNC) { | |
| 1578 assertEquals(ResponseStep.ON_FAILED, callback.mResponseStep); | |
| 1579 } | |
| 1576 assertTrue(urlRequest.isDone()); | 1580 assertTrue(urlRequest.isDone()); | 
| 1577 assertEquals(expectResponseInfo, callback.mResponseInfo != null); | 1581 assertEquals(expectResponseInfo, callback.mResponseInfo != null); | 
| 1578 assertEquals(expectError, callback.mError != null); | 1582 assertEquals(expectError, callback.mError != null); | 
| 1579 assertEquals(expectError, callback.mOnErrorCalled); | 1583 assertEquals(expectError, callback.mOnErrorCalled); | 
| 1580 assertEquals(failureType == FailureType.CANCEL_SYNC | 1584 assertEquals(failureType == FailureType.CANCEL_SYNC | 
| 1581 || failureType == FailureType.CANCEL_ASYNC | 1585 || failureType == FailureType.CANCEL_ASYNC | 
| 1582 || failureType == FailureType.CANCEL_ASYNC_WITHOUT_PAUSE , | 1586 || failureType == FailureType.CANCEL_ASYNC_WITHOUT_PAUSE , | 
| 1583 callback.mOnCanceledCalled); | 1587 callback.mOnCanceledCalled); | 
| 1584 } | 1588 } | 
| 1585 | 1589 | 
| (...skipping 23 matching lines...) Expand all Loading... | |
| 1609 throwOrCancel(FailureType.CANCEL_ASYNC, ResponseStep.ON_READ_COMPLETED, | 1613 throwOrCancel(FailureType.CANCEL_ASYNC, ResponseStep.ON_READ_COMPLETED, | 
| 1610 true, false); | 1614 true, false); | 
| 1611 throwOrCancel(FailureType.CANCEL_ASYNC_WITHOUT_PAUSE, ResponseStep.ON_RE AD_COMPLETED, | 1615 throwOrCancel(FailureType.CANCEL_ASYNC_WITHOUT_PAUSE, ResponseStep.ON_RE AD_COMPLETED, | 
| 1612 true, false); | 1616 true, false); | 
| 1613 throwOrCancel(FailureType.THROW_SYNC, ResponseStep.ON_READ_COMPLETED, | 1617 throwOrCancel(FailureType.THROW_SYNC, ResponseStep.ON_READ_COMPLETED, | 
| 1614 true, true); | 1618 true, true); | 
| 1615 } | 1619 } | 
| 1616 | 1620 | 
| 1617 @SmallTest | 1621 @SmallTest | 
| 1618 @Feature({"Cronet"}) | 1622 @Feature({"Cronet"}) | 
| 1619 public void testThrowON_SUCCEEDED() { | 1623 public void testThrowOrCancelInOnSucceeded() { | 
| 1620 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 1624 FailureType[] testTypes = new FailureType[] { | 
| 1621 callback.setFailure(FailureType.THROW_SYNC, ResponseStep.ON_SUCCEEDED); | 1625 FailureType.THROW_SYNC, FailureType.CANCEL_SYNC, FailureType.CAN CEL_ASYNC}; | 
| 1622 UrlRequest.Builder builder = new UrlRequest.Builder(NativeTestServer.get RedirectURL(), | 1626 for (FailureType type : testTypes) { | 
| 1623 callback, callback.getExecutor(), mTestFramework.mCronetEngine); | 1627 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 
| 1624 UrlRequest urlRequest = builder.build(); | 1628 callback.setFailure(type, ResponseStep.ON_SUCCEEDED); | 
| 1625 urlRequest.start(); | 1629 UrlRequest.Builder builder = new UrlRequest.Builder(NativeTestServer .getEchoMethodURL(), | 
| 1626 callback.blockForDone(); | 1630 callback, callback.getExecutor(), mTestFramework.mCronetEngi ne); | 
| 1627 assertEquals(1, callback.mRedirectCount); | 1631 UrlRequest urlRequest = builder.build(); | 
| 1628 assertEquals(callback.mResponseStep, ResponseStep.ON_SUCCEEDED); | 1632 urlRequest.start(); | 
| 1629 assertTrue(urlRequest.isDone()); | 1633 callback.blockForDone(); | 
| 1630 assertNotNull(callback.mResponseInfo); | 1634 // Wait for all posted tasks to be executed to ensure there is no ex ception thrown. | 
| 1631 assertNull(callback.mError); | 1635 callback.shutdownExecutor(); | 
| 
 
kapishnikov
2016/08/31 18:10:27
Should we call awaitTermination() after shutdownEx
 
xunjieli
2016/08/31 20:03:07
Done. Good idea!
 
 | |
| 1632 assertFalse(callback.mOnErrorCalled); | 1636 assertNull(callback.mError); | 
| 1637 assertEquals(ResponseStep.ON_SUCCEEDED, callback.mResponseStep); | |
| 1638 assertTrue(urlRequest.isDone()); | |
| 1639 assertNotNull(callback.mResponseInfo); | |
| 1640 assertFalse(callback.mOnErrorCalled); | |
| 1641 assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); | |
| 1642 assertEquals("GET", callback.mResponseAsString); | |
| 1643 } | |
| 1633 } | 1644 } | 
| 1634 | 1645 | 
| 1635 @SmallTest | 1646 @SmallTest | 
| 1647 @Feature({"Cronet"}) | |
| 1648 public void testThrowOrCancelInOnFailed() { | |
| 1649 FailureType[] testTypes = new FailureType[] { | |
| 1650 FailureType.THROW_SYNC, FailureType.CANCEL_SYNC, FailureType.CAN CEL_ASYNC}; | |
| 1651 for (FailureType type : testTypes) { | |
| 1652 String url = NativeTestServer.getEchoBodyURL(); | |
| 1653 // Shut down NativeTestServer so request will fail. | |
| 1654 NativeTestServer.shutdownNativeTestServer(); | |
| 1655 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | |
| 1656 callback.setFailure(type, ResponseStep.ON_FAILED); | |
| 1657 UrlRequest.Builder builder = new UrlRequest.Builder( | |
| 1658 url, callback, callback.getExecutor(), mTestFramework.mCrone tEngine); | |
| 1659 UrlRequest urlRequest = builder.build(); | |
| 1660 urlRequest.start(); | |
| 1661 callback.blockForDone(); | |
| 1662 // Wait for all posted tasks to be executed to ensure there is no ex ception thrown. | |
| 1663 callback.shutdownExecutor(); | |
| 
 
kapishnikov
2016/08/31 18:10:27
Same: awaitTermination()
 
xunjieli
2016/08/31 20:03:07
Done.
 
 | |
| 1664 assertEquals(ResponseStep.ON_FAILED, callback.mResponseStep); | |
| 1665 assertTrue(callback.mOnErrorCalled); | |
| 1666 assertNotNull(callback.mError); | |
| 1667 assertTrue(urlRequest.isDone()); | |
| 1668 // Start NativeTestServer again to run the test for a second time. | |
| 1669 assertTrue(NativeTestServer.startNativeTestServer(getContext())); | |
| 1670 } | |
| 1671 } | |
| 1672 | |
| 1673 @SmallTest | |
| 1674 @Feature({"Cronet"}) | |
| 1675 public void testThrowOrCancelInOnCanceled() { | |
| 1676 FailureType[] testTypes = new FailureType[] { | |
| 1677 FailureType.THROW_SYNC, FailureType.CANCEL_SYNC, FailureType.CAN CEL_ASYNC}; | |
| 1678 for (FailureType type : testTypes) { | |
| 1679 TestUrlRequestCallback callback = new TestUrlRequestCallback() { | |
| 1680 @Override | |
| 1681 public void onResponseStarted(UrlRequest request, UrlResponseInf o info) { | |
| 1682 super.onResponseStarted(request, info); | |
| 1683 request.cancel(); | |
| 1684 } | |
| 1685 }; | |
| 1686 callback.setFailure(type, ResponseStep.ON_CANCELED); | |
| 1687 UrlRequest.Builder builder = new UrlRequest.Builder(NativeTestServer .getEchoBodyURL(), | |
| 1688 callback, callback.getExecutor(), mTestFramework.mCronetEngi ne); | |
| 1689 UrlRequest urlRequest = builder.build(); | |
| 1690 urlRequest.start(); | |
| 1691 callback.blockForDone(); | |
| 1692 // Wait for all posted tasks to be executed to ensure there is no ex ception thrown. | |
| 1693 callback.shutdownExecutor(); | |
| 
 
kapishnikov
2016/08/31 18:10:27
Same: awaitTermination()
 
xunjieli
2016/08/31 20:03:07
Done.
 
 | |
| 1694 assertEquals(ResponseStep.ON_CANCELED, callback.mResponseStep); | |
| 1695 assertTrue(urlRequest.isDone()); | |
| 1696 assertNotNull(callback.mResponseInfo); | |
| 1697 assertNull(callback.mError); | |
| 1698 assertTrue(callback.mOnCanceledCalled); | |
| 1699 } | |
| 1700 } | |
| 1701 | |
| 1702 @SmallTest | |
| 1636 @Feature({"Cronet"}) | 1703 @Feature({"Cronet"}) | 
| 1637 @OnlyRunNativeCronet // No destroyed callback for tests | 1704 @OnlyRunNativeCronet // No destroyed callback for tests | 
| 1638 public void testExecutorShutdown() { | 1705 public void testExecutorShutdown() { | 
| 1639 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 1706 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 
| 1640 | 1707 | 
| 1641 callback.setAutoAdvance(false); | 1708 callback.setAutoAdvance(false); | 
| 1642 UrlRequest.Builder builder = new UrlRequest.Builder(NativeTestServer.get EchoBodyURL(), | 1709 UrlRequest.Builder builder = new UrlRequest.Builder(NativeTestServer.get EchoBodyURL(), | 
| 1643 callback, callback.getExecutor(), mTestFramework.mCronetEngine); | 1710 callback, callback.getExecutor(), mTestFramework.mCronetEngine); | 
| 1644 CronetUrlRequest urlRequest = (CronetUrlRequest) builder.build(); | 1711 CronetUrlRequest urlRequest = (CronetUrlRequest) builder.build(); | 
| 1645 urlRequest.start(); | 1712 urlRequest.start(); | 
| (...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1830 TestUrlRequestCallback callback = startAndWaitForComplete( | 1897 TestUrlRequestCallback callback = startAndWaitForComplete( | 
| 1831 MockUrlRequestJobFactory.getMockUrlWithFailure(FailurePhase.STAR T, netError)); | 1898 MockUrlRequestJobFactory.getMockUrlWithFailure(FailurePhase.STAR T, netError)); | 
| 1832 assertNull(callback.mResponseInfo); | 1899 assertNull(callback.mResponseInfo); | 
| 1833 assertNotNull(callback.mError); | 1900 assertNotNull(callback.mError); | 
| 1834 assertEquals(netError, callback.mError.getCronetInternalErrorCode()); | 1901 assertEquals(netError, callback.mError.getCronetInternalErrorCode()); | 
| 1835 assertEquals(errorCode, callback.mError.getErrorCode()); | 1902 assertEquals(errorCode, callback.mError.getErrorCode()); | 
| 1836 assertEquals( | 1903 assertEquals( | 
| 1837 "Exception in CronetUrlRequest: net::ERR_" + name, callback.mErr or.getMessage()); | 1904 "Exception in CronetUrlRequest: net::ERR_" + name, callback.mErr or.getMessage()); | 
| 1838 assertEquals(0, callback.mRedirectCount); | 1905 assertEquals(0, callback.mRedirectCount); | 
| 1839 assertTrue(callback.mOnErrorCalled); | 1906 assertTrue(callback.mOnErrorCalled); | 
| 1840 assertEquals(callback.mResponseStep, ResponseStep.NOTHING); | 1907 assertEquals(ResponseStep.ON_FAILED, callback.mResponseStep); | 
| 1841 } | 1908 } | 
| 1842 | 1909 | 
| 1843 // Returns the contents of byteBuffer, from its position() to its limit(), | 1910 // Returns the contents of byteBuffer, from its position() to its limit(), | 
| 1844 // as a String. Does not modify byteBuffer's position(). | 1911 // as a String. Does not modify byteBuffer's position(). | 
| 1845 private String bufferContentsToString(ByteBuffer byteBuffer, int start, int end) { | 1912 private String bufferContentsToString(ByteBuffer byteBuffer, int start, int end) { | 
| 1846 // Use a duplicate to avoid modifying byteBuffer. | 1913 // Use a duplicate to avoid modifying byteBuffer. | 
| 1847 ByteBuffer duplicate = byteBuffer.duplicate(); | 1914 ByteBuffer duplicate = byteBuffer.duplicate(); | 
| 1848 duplicate.position(start); | 1915 duplicate.position(start); | 
| 1849 duplicate.limit(end); | 1916 duplicate.limit(end); | 
| 1850 byte[] contents = new byte[duplicate.remaining()]; | 1917 byte[] contents = new byte[duplicate.remaining()]; | 
| 1851 duplicate.get(contents); | 1918 duplicate.get(contents); | 
| 1852 return new String(contents); | 1919 return new String(contents); | 
| 1853 } | 1920 } | 
| 1854 } | 1921 } | 
| OLD | NEW |