buffer: add indexOf() method
[platform/upstream/nodejs.git] / test / parallel / test-buffer-indexof.js
1 var common = require('../common');
2 var assert = require('assert');
3
4 var Buffer = require('buffer').Buffer;
5
6 var b = new Buffer('abcdef');
7 var buf_a = new Buffer('a');
8 var buf_bc = new Buffer('bc');
9 var buf_f = new Buffer('f');
10 var buf_z = new Buffer('z');
11 var buf_empty = new Buffer('');
12
13 assert.equal(b.indexOf('a'), 0);
14 assert.equal(b.indexOf('a', 1), -1);
15 assert.equal(b.indexOf('a', -1), -1);
16 assert.equal(b.indexOf('a', -4), -1);
17 assert.equal(b.indexOf('a', -b.length), 0);
18 assert.equal(b.indexOf('a', NaN), 0);
19 assert.equal(b.indexOf('a', -Infinity), 0);
20 assert.equal(b.indexOf('a', Infinity), -1);
21 assert.equal(b.indexOf('bc'), 1);
22 assert.equal(b.indexOf('bc', 2), -1);
23 assert.equal(b.indexOf('bc', -1), -1);
24 assert.equal(b.indexOf('bc', -3), -1);
25 assert.equal(b.indexOf('bc', -5), 1);
26 assert.equal(b.indexOf('bc', NaN), 1);
27 assert.equal(b.indexOf('bc', -Infinity), 1);
28 assert.equal(b.indexOf('bc', Infinity), -1);
29 assert.equal(b.indexOf('f'), b.length - 1);
30 assert.equal(b.indexOf('z'), -1);
31 assert.equal(b.indexOf(''), -1);
32 assert.equal(b.indexOf('', 1), -1);
33 assert.equal(b.indexOf('', b.length + 1), -1);
34 assert.equal(b.indexOf('', Infinity), -1);
35 assert.equal(b.indexOf(buf_a), 0);
36 assert.equal(b.indexOf(buf_a, 1), -1);
37 assert.equal(b.indexOf(buf_a, -1), -1);
38 assert.equal(b.indexOf(buf_a, -4), -1);
39 assert.equal(b.indexOf(buf_a, -b.length), 0);
40 assert.equal(b.indexOf(buf_a, NaN), 0);
41 assert.equal(b.indexOf(buf_a, -Infinity), 0);
42 assert.equal(b.indexOf(buf_a, Infinity), -1);
43 assert.equal(b.indexOf(buf_bc), 1);
44 assert.equal(b.indexOf(buf_bc, 2), -1);
45 assert.equal(b.indexOf(buf_bc, -1), -1);
46 assert.equal(b.indexOf(buf_bc, -3), -1);
47 assert.equal(b.indexOf(buf_bc, -5), 1);
48 assert.equal(b.indexOf(buf_bc, NaN), 1);
49 assert.equal(b.indexOf(buf_bc, -Infinity), 1);
50 assert.equal(b.indexOf(buf_bc, Infinity), -1);
51 assert.equal(b.indexOf(buf_f), b.length - 1);
52 assert.equal(b.indexOf(buf_z), -1);
53 assert.equal(b.indexOf(buf_empty), -1);
54 assert.equal(b.indexOf(buf_empty, 1), -1);
55 assert.equal(b.indexOf(buf_empty, b.length + 1), -1);
56 assert.equal(b.indexOf(buf_empty, Infinity), -1);
57 assert.equal(b.indexOf(0x61), 0);
58 assert.equal(b.indexOf(0x61, 1), -1);
59 assert.equal(b.indexOf(0x61, -1), -1);
60 assert.equal(b.indexOf(0x61, -4), -1);
61 assert.equal(b.indexOf(0x61, -b.length), 0);
62 assert.equal(b.indexOf(0x61, NaN), 0);
63 assert.equal(b.indexOf(0x61, -Infinity), 0);
64 assert.equal(b.indexOf(0x61, Infinity), -1);
65 assert.equal(b.indexOf(0x0), -1);
66
67 assert.throws(function() {
68   b.indexOf(function() { });
69 });
70 assert.throws(function() {
71   b.indexOf({});
72 });
73 assert.throws(function() {
74   b.indexOf([]);
75 });