| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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.ParcelFileDescriptor; | 8 import android.os.ParcelFileDescriptor; |
| 9 import android.os.StrictMode; | 9 import android.os.StrictMode; |
| 10 import android.test.suitebuilder.annotation.SmallTest; | 10 import android.test.suitebuilder.annotation.SmallTest; |
| (...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 199 }, callback.getExecutor()); | 199 }, callback.getExecutor()); |
| 200 UrlRequest urlRequest = builder.build(); | 200 UrlRequest urlRequest = builder.build(); |
| 201 urlRequest.start(); | 201 urlRequest.start(); |
| 202 first.block(); | 202 first.block(); |
| 203 callback.blockForDone(); | 203 callback.blockForDone(); |
| 204 assertFalse(callback.mOnCanceledCalled); | 204 assertFalse(callback.mOnCanceledCalled); |
| 205 assertEquals(UrlRequestError.LISTENER_EXCEPTION_THROWN, callback.mError.
getErrorCode()); | 205 assertEquals(UrlRequestError.LISTENER_EXCEPTION_THROWN, callback.mError.
getErrorCode()); |
| 206 assertEquals("Exception received from UploadDataProvider", callback.mErr
or.getMessage()); | 206 assertEquals("Exception received from UploadDataProvider", callback.mErr
or.getMessage()); |
| 207 assertEquals(exceptionMessage, callback.mError.getCause().getMessage()); | 207 assertEquals(exceptionMessage, callback.mError.getCause().getMessage()); |
| 208 } | 208 } |
| 209 |
| 210 @SmallTest |
| 211 @Feature({"Cronet"}) |
| 212 // Tests that creating a ByteBufferUploadProvider using a byte array with an |
| 213 // offset gives a ByteBuffer with position 0. crbug.com/603124. |
| 214 public void testCreateByteBufferUploadWithArrayOffset() throws Exception { |
| 215 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
| 216 // This URL will trigger a rewind(). |
| 217 UrlRequest.Builder builder = |
| 218 new UrlRequest.Builder(NativeTestServer.getRedirectToEchoBody(),
callback, |
| 219 callback.getExecutor(), mTestFramework.mCronetEngine); |
| 220 builder.addHeader("Content-Type", "useless/string"); |
| 221 byte[] uploadData = LOREM.getBytes("UTF-8"); |
| 222 int offset = 5; |
| 223 byte[] uploadDataWithPadding = new byte[uploadData.length + offset]; |
| 224 System.arraycopy(uploadData, 0, uploadDataWithPadding, offset, uploadDat
a.length); |
| 225 UploadDataProvider dataProvider = |
| 226 UploadDataProviders.create(uploadDataWithPadding, offset, upload
Data.length); |
| 227 builder.setUploadDataProvider(dataProvider, callback.getExecutor()); |
| 228 UrlRequest urlRequest = builder.build(); |
| 229 urlRequest.start(); |
| 230 callback.blockForDone(); |
| 231 assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); |
| 232 assertEquals(LOREM, callback.mResponseAsString); |
| 233 } |
| 209 } | 234 } |
| OLD | NEW |