OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #library('NodeBufferTest'); | 5 #library('NodeBufferTest'); |
6 | 6 |
7 #import('unittest_node.dart'); | 7 #import('unittest_node.dart'); |
8 #import('../../../lib/node/node.dart'); | 8 #import('../../../lib/node/node.dart'); |
9 | 9 |
| 10 void compareBuffers(Buffer a, Buffer b) { |
| 11 Expect.equals(a.length, b.length); |
| 12 for (int i = 0; i < a.length; i++) { |
| 13 Expect.equals(a[i], b[i]); |
| 14 } |
| 15 } |
| 16 |
10 main() { | 17 main() { |
11 group('Node Buffer', () { | 18 group('Node Buffer', () { |
12 test('constructor', () { | 19 test('constructor', () { |
13 Buffer b = new Buffer(100); | 20 Buffer b = new Buffer(100); |
14 Expect.equals(100, b.length); | 21 Expect.equals(100, b.length); |
15 }); | 22 }); |
16 test('fromList', () { | 23 test('fromList', () { |
17 Buffer b = new Buffer.fromList([0, 1, 2]); | 24 Buffer b = new Buffer.fromList([0, 1, 2]); |
18 Expect.equals(3, b.length); | 25 Expect.equals(3, b.length); |
19 Expect.equals(0, b[0]); | 26 Expect.equals(0, b[0]); |
(...skipping 10 matching lines...) Expand all Loading... |
30 test('write', () { | 37 test('write', () { |
31 Buffer b = new Buffer(4); | 38 Buffer b = new Buffer(4); |
32 b.write('hi', 0, 2); | 39 b.write('hi', 0, 2); |
33 b.write('hoo', 2, 2); | 40 b.write('hoo', 2, 2); |
34 String s = b.toString('utf8', 0, b.length); | 41 String s = b.toString('utf8', 0, b.length); |
35 Expect.equals('hiho', s); | 42 Expect.equals('hiho', s); |
36 }); | 43 }); |
37 test('charsWritten', () { | 44 test('charsWritten', () { |
38 Buffer b = new Buffer(4); | 45 Buffer b = new Buffer(4); |
39 int bytesWritten = b.write('é', 0, 4, 'utf8'); | 46 int bytesWritten = b.write('é', 0, 4, 'utf8'); |
40 int charsWritten = b.charsWritten; | 47 int charsWritten = Buffers.charsWritten; |
41 Expect.equals(2, bytesWritten); | 48 Expect.equals(2, bytesWritten); |
42 Expect.equals(1, charsWritten); | 49 Expect.equals(1, charsWritten); |
43 }); | 50 }); |
44 test('toString', () { | 51 test('toString', () { |
45 Buffer b = new Buffer.fromString('0123'); | 52 Buffer b = new Buffer.fromString('0123'); |
46 String s = b.toString('utf8', 1, 3); | 53 String s = b.toString('utf8', 1, 3); |
47 Expect.equals('12', s); | 54 Expect.equals('12', s); |
48 }); | 55 }); |
49 test('[]', () { | 56 test('[]', () { |
50 Buffer b = new Buffer.fromString('012'); | 57 Buffer b = new Buffer.fromString('012'); |
51 Expect.equals(48, b[0]); | 58 Expect.equals(48, b[0]); |
52 Expect.equals(49, b[1]); | 59 Expect.equals(49, b[1]); |
53 Expect.equals(50, b[2]); | 60 Expect.equals(50, b[2]); |
54 }); | 61 }); |
55 test('[]=', () { | 62 test('[]=', () { |
56 Buffer b = new Buffer(3); | 63 Buffer b = new Buffer(3); |
57 b[0] = 48; | 64 b[0] = 48; |
58 b[1] = 49; | 65 b[1] = 49; |
59 b[2] = 50; | 66 b[2] = 50; |
60 String s = b.toString('utf8', 0, 3); | 67 String s = b.toString('utf8', 0, 3); |
61 Expect.equals('012', s); | 68 Expect.equals('012', s); |
62 }); | 69 }); |
63 test('isBuffer', () { | 70 test('isBuffer', () { |
64 Buffer b = new Buffer(3); | 71 Buffer b = new Buffer(3); |
65 var o = [3]; | 72 var o = [3]; |
66 Expect.equals(true, Buffer.isBuffer(b)); | 73 Expect.equals(true, Buffers.isBuffer(b)); |
67 Expect.equals(false, Buffer.isBuffer(o)); | 74 Expect.equals(false, Buffers.isBuffer(o)); |
68 }); | 75 }); |
69 test('byteLength', () { | 76 test('byteLength', () { |
70 Expect.equals(1, Buffer.byteLength('e')); | 77 Expect.equals(1, Buffers.byteLength('e')); |
71 Expect.equals(2, Buffer.byteLength('é')); | 78 Expect.equals(2, Buffers.byteLength('é')); |
72 }); | 79 }); |
73 test('length', () { | 80 test('length', () { |
74 Expect.equals(1, new Buffer.fromString('e').length); | 81 Expect.equals(1, new Buffer.fromString('e').length); |
75 Expect.equals(2, new Buffer.fromString('é').length); | 82 Expect.equals(2, new Buffer.fromString('é').length); |
76 }); | 83 }); |
77 test('copy', () { | 84 test('copy', () { |
78 Buffer a = new Buffer.fromString('abc'); | 85 Buffer a = new Buffer.fromString('abc'); |
79 Buffer b = new Buffer.fromString('123'); | 86 Buffer b = new Buffer.fromString('123'); |
80 a.copy(b, 1, 1, 2); | 87 a.copy(b, 1, 1, 2); |
81 Expect.equals('abc', a.toString('utf8', 0, 3)); | 88 Expect.equals('abc', a.toString('utf8', 0, 3)); |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 Expect.equals(-0x1234, a.readInt16BE(3)); | 128 Expect.equals(-0x1234, a.readInt16BE(3)); |
122 Expect.equals(-0x12345678, a.readInt32LE(5)); | 129 Expect.equals(-0x12345678, a.readInt32LE(5)); |
123 Expect.equals(-0x12345678, a.readInt32BE(9)); | 130 Expect.equals(-0x12345678, a.readInt32BE(9)); |
124 }); | 131 }); |
125 test('fill', () { | 132 test('fill', () { |
126 Buffer a = new Buffer.fromString('abc'); | 133 Buffer a = new Buffer.fromString('abc'); |
127 a.fill(65, 1,2); | 134 a.fill(65, 1,2); |
128 Expect.equals('aAc', a.toString('utf8', 0, 3)); | 135 Expect.equals('aAc', a.toString('utf8', 0, 3)); |
129 }); | 136 }); |
130 test('INSPECT_MAX_BYTES', () { | 137 test('INSPECT_MAX_BYTES', () { |
131 int oldVal = Buffer.INSPECT_MAX_BYTES; | 138 int oldVal = Buffers.INSPECT_MAX_BYTES; |
132 Buffer.INSPECT_MAX_BYTES = 77; | 139 Buffers.INSPECT_MAX_BYTES = 77; |
133 Expect.equals(77, Buffer.INSPECT_MAX_BYTES); | 140 Expect.equals(77, Buffers.INSPECT_MAX_BYTES); |
134 Buffer.INSPECT_MAX_BYTES = oldVal; | 141 Buffers.INSPECT_MAX_BYTES = oldVal; |
135 }); | 142 }); |
| 143 group('List<num>', () { |
| 144 test('indexOf', () { |
| 145 Buffer a = new Buffer.fromString('abcb'); |
| 146 Expect.equals(-1, a.indexOf(17)); |
| 147 Expect.equals(1, a.indexOf(98)); |
| 148 Expect.equals(3, a.indexOf(98, 2)); |
| 149 }); |
| 150 test('lastIndexOf', () { |
| 151 Buffer a = new Buffer.fromString('abcb'); |
| 152 Expect.equals(-1, a.lastIndexOf(17)); |
| 153 Expect.equals(3, a.lastIndexOf(98)); |
| 154 Expect.equals(1, a.lastIndexOf(98, 2)); |
| 155 }); |
| 156 test('last', () { |
| 157 Buffer a = new Buffer.fromString('abc'); |
| 158 Expect.equals(99, a.last()); |
| 159 }); |
| 160 test('getRange', () { |
| 161 Buffer a = new Buffer.fromString('abcb'); |
| 162 Buffer b = a.getRange(1,2); |
| 163 compareBuffers(b, new Buffer.fromString('bc')); |
| 164 }); |
| 165 test('sort', () { |
| 166 Buffer a = new Buffer.fromString('the quick brown fox jumped over th
e lazy dog'); |
| 167 Buffer b = new Buffer.fromString(' abcddeeeefghhijklmnoooopqr
rttuuvwxyz'); |
| 168 a.sort((a,b) => a < b ? -1 : ((a == b) ? 0 : 1)); |
| 169 compareBuffers(b, a); |
| 170 }); |
| 171 test('forEach', () { |
| 172 Buffer a = new Buffer.fromList([0, 1, 2, 3]); |
| 173 int expected = 0; |
| 174 a.forEach((e) { |
| 175 Expect.equals(expected, e); |
| 176 expected++; |
| 177 }); |
| 178 Expect.equals(a.length, expected); |
| 179 }); |
| 180 test('filter', () { |
| 181 Buffer a = new Buffer.fromList([0, 1, 2, 3]); |
| 182 int expected = 0; |
| 183 Buffer b = a.filter((e) { |
| 184 Expect.equals(expected, e); |
| 185 expected++; |
| 186 return (e & 1) == 0; |
| 187 }); |
| 188 Expect.equals(a.length, expected); |
| 189 compareBuffers(new Buffer.fromList([0, 2]), b); |
| 190 }); |
| 191 test('map', () { |
| 192 Buffer a = new Buffer.fromList([10, 11, 12, 13]); |
| 193 int expected = 10; |
| 194 int count = 0; |
| 195 Buffer b = a.map((e) { |
| 196 Expect.equals(expected, e); |
| 197 expected++; |
| 198 count++; |
| 199 return e * 2; |
| 200 }); |
| 201 Expect.equals(a.length, count); |
| 202 compareBuffers(new Buffer.fromList([20, 22, 24, 26]), b); |
| 203 }); |
| 204 test('every', () { |
| 205 Buffer a = new Buffer.fromList([0, 1, 2, 3]); |
| 206 Expect.equals(true, a.every((e) => e >= 0)); |
| 207 Expect.equals(false, a.every((e) => e < 3)); |
| 208 }); |
| 209 test('some', () { |
| 210 Buffer a = new Buffer.fromList([0, 1, 2, 3]); |
| 211 Expect.equals(true, a.some((e) => e == 3)); |
| 212 Expect.equals(false, a.some((e) => e == 4)); |
| 213 }); |
| 214 test('isEmpty', () { |
| 215 Expect.equals(true, (new Buffer(0)).isEmpty()); |
| 216 Expect.equals(false, (new Buffer(1)).isEmpty()); |
| 217 }); |
| 218 test('iterator', () { |
| 219 Buffer a = new Buffer.fromList([0, 1, 2, 3]); |
| 220 int expected = 0; |
| 221 Iterator i = a.iterator(); |
| 222 while (i.hasNext()) { |
| 223 var e = i.next(); |
| 224 Expect.equals(expected, e); |
| 225 expected++; |
| 226 } |
| 227 Expect.equals(a.length, expected); |
| 228 }); |
| 229 }); |
136 }); | 230 }); |
137 } | 231 } |
OLD | NEW |