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