OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 package org.chromium.net; | |
6 | |
7 import android.test.InstrumentationTestCase; | |
8 import android.test.suitebuilder.annotation.SmallTest; | |
9 | |
10 import org.chromium.base.test.util.Feature; | |
11 | |
12 import java.io.IOException; | |
13 import java.nio.ByteBuffer; | |
14 import java.nio.channels.ClosedChannelException; | |
15 import java.nio.charset.Charset; | |
16 import java.util.Arrays; | |
17 | |
18 /** | |
19 * Tests for {@link ChunkedWritableByteChannel} | |
20 */ | |
21 @SuppressWarnings("deprecation") | |
22 public class ChunkedWritableByteChannelTest extends InstrumentationTestCase { | |
23 private ChunkedWritableByteChannel mChannel; | |
24 | |
25 @Override | |
26 public void setUp() { | |
27 mChannel = new ChunkedWritableByteChannel(); | |
28 } | |
29 | |
30 @SmallTest | |
31 @Feature({"Cronet"}) | |
32 public void testSetCapacity() { | |
33 int capacity = 100; | |
34 mChannel.setCapacity(capacity); | |
35 assertEquals("Bytebuffer capacity wasn't set properly", capacity, | |
36 mChannel.getByteBuffer().capacity()); | |
37 mChannel.close(); | |
38 } | |
39 | |
40 @SmallTest | |
41 @Feature({"Cronet"}) | |
42 public void testWrite() throws IOException { | |
43 String test = "Write in the buffer."; | |
44 mChannel.write( | |
45 ByteBuffer.wrap(test.getBytes(Charset.forName("UTF-8")))); | |
46 mChannel.write( | |
47 ByteBuffer.wrap(test.getBytes(Charset.forName("UTF-8")))); | |
48 assertEquals("Buffer didn't write the bytes properly", test + test, | |
49 new String(mChannel.getBytes(), "UTF-8")); | |
50 mChannel.close(); | |
51 } | |
52 | |
53 @SmallTest | |
54 @Feature({"Cronet"}) | |
55 public void testCloseChannel() { | |
56 assertTrue("Channel should be open", mChannel.isOpen()); | |
57 mChannel.close(); | |
58 assertFalse("Channel shouldn't be open", mChannel.isOpen()); | |
59 } | |
60 | |
61 @SmallTest | |
62 @Feature({"Cronet"}) | |
63 public void testWriteToClosedChannel() throws IOException { | |
64 try { | |
65 mChannel.close(); | |
66 mChannel.write(ByteBuffer.wrap(new byte[1])); | |
67 fail("ClosedChannelException should have been thrown."); | |
68 } catch (ClosedChannelException e) { | |
69 // Intended | |
70 } | |
71 } | |
72 | |
73 @SmallTest | |
74 @Feature({"Cronet"}) | |
75 public void testCapacityGrows() throws Exception { | |
76 mChannel.setCapacity(123); | |
77 byte[] data = new byte[1234]; | |
78 Arrays.fill(data, (byte) 'G'); | |
79 mChannel.write(ByteBuffer.wrap(data)); | |
80 assertTrue(Arrays.equals(data, mChannel.getBytes())); | |
81 } | |
82 } | |
OLD | NEW |