diff --git a/index.js b/index.js index bdea604..cfb0660 100644 --- a/index.js +++ b/index.js @@ -712,7 +712,7 @@ function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) { // Normalize byteOffset if (typeof byteOffset === 'string') { encoding = byteOffset - byteOffset = 0 + byteOffset = undefined } else if (byteOffset > 0x7fffffff) { byteOffset = 0x7fffffff } else if (byteOffset < -0x80000000) { diff --git a/test/methods.js b/test/methods.js index b1bf75b..51b3fd6 100644 --- a/test/methods.js +++ b/test/methods.js @@ -138,3 +138,12 @@ test('buffer.slice out of range', function (t) { t.equal((new B('hallo')).slice(10, 2).toString(), '') t.end() }) + +test('lastIndexOf with encoding as second arg', function (t) { + const b = new B('abcdefghij') + t.equal(b.lastIndexOf('b'), 1) + t.equal(b.lastIndexOf('b', 'utf8'), 1) + t.equal(b.lastIndexOf('b', 'latin1'), 1) + t.equal(b.lastIndexOf('b', 'binary'), 1) + t.end() +})