if (process.env.OBJECT_IMPL) global.TYPED_ARRAY_SUPPORT = false var B = require('../').Buffer var test = require('tape') test('instanceof Buffer', function (t) { var buf = new B([1, 2]) t.ok(buf instanceof B) t.end() }) test('convert to Uint8Array in modern browsers', function (t) { if (B.TYPED_ARRAY_SUPPORT) { var buf = new B([1, 2]) var uint8array = new Uint8Array(buf.buffer) t.ok(uint8array instanceof Uint8Array) t.equal(uint8array[0], 1) t.equal(uint8array[1], 2) } else { t.pass('object impl: skipping test') } t.end() }) test('indexes from a string', function (t) { var buf = new B('abc') t.equal(buf[0], 97) t.equal(buf[1], 98) t.equal(buf[2], 99) t.end() }) test('indexes from an array', function (t) { var buf = new B([ 97, 98, 99 ]) t.equal(buf[0], 97) t.equal(buf[1], 98) t.equal(buf[2], 99) t.end() }) test('setting index value should modify buffer contents', function (t) { var buf = new B([ 97, 98, 99 ]) t.equal(buf[2], 99) t.equal(buf.toString(), 'abc') buf[2] += 10 t.equal(buf[2], 109) t.equal(buf.toString(), 'abm') t.end() }) test('storing negative number should cast to unsigned', function (t) { var buf = new B(1) if (B.TYPED_ARRAY_SUPPORT) { // This does not work with the object implementation -- nothing we can do! buf[0] = -3 t.equal(buf[0], 253) } buf = new B(1) buf.writeInt8(-3, 0) t.equal(buf[0], 253) t.end() }) test('test that memory is copied from array-like', function (t) { if (B.TYPED_ARRAY_SUPPORT) { var u = new Uint8Array(4) var b = new B(u) b[0] = 1 b[1] = 2 b[2] = 3 b[3] = 4 t.equal(u[0], 0) t.equal(u[1], 0) t.equal(u[2], 0) t.equal(u[3], 0) } else { t.pass('object impl: skipping test') } t.end() })
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 19553 | swellard | Move and rename clients | ||
//guest/perforce_software/helix-web-services/main/source/clients/2016.1.0/javascript/node_modules/buffer/test/basic.js | |||||
#1 | 18810 | tjuricek |
First-pass at JavaScript client SDK. JavaScript requires Node with Gulp to "browserfy" the library. It's the easiest way I found to use the swagger-js project; bundle up a wrapping method. There is no JavaScript reference guide. The swagger-js doesn't really document what they do very well, actually. Overall I'm not particularly impressed by swagger-js, it was hard to even figure out what the right method syntax was. We may want to invest time in doing it better. This required setting CORS response headers, which are currently defaulted to a fairly insecure setting. |