helpers_test.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. /*
  2. * vim: ts=4:sw=4:expandtab
  3. */
  4. 'use strict';
  5. describe("Helpers", function() {
  6. describe("ArrayBuffer->String conversion", function() {
  7. it('works', function() {
  8. var b = new ArrayBuffer(3);
  9. var a = new Uint8Array(b);
  10. a[0] = 0;
  11. a[1] = 255;
  12. a[2] = 128;
  13. assert.equal(getString(b), "\x00\xff\x80");
  14. });
  15. });
  16. describe("stringToArrayBuffer", function() {
  17. it('returns ArrayBuffer when passed string', function() {
  18. var StaticArrayBufferProto = new ArrayBuffer().__proto__;
  19. var anArrayBuffer = new ArrayBuffer(1);
  20. var typedArray = new Uint8Array(anArrayBuffer);
  21. typedArray[0] = 'a'.charCodeAt(0);
  22. assertEqualArrayBuffers(stringToArrayBuffer('a'), anArrayBuffer);
  23. });
  24. it('throws an error when passed a non string', function() {
  25. var notStringable = [{}, undefined, null, new ArrayBuffer()];
  26. notStringable.forEach(function(notString) {
  27. assert.throw(function() { stringToArrayBuffer(notString) }, Error);
  28. });
  29. });
  30. });
  31. });