Cable-Desktop/libtextsecure/test/helpers_test.js
lilia f764445c86 Remove erroneous license file and headers
We only use GPLV3 around here.

// FREEBIE
2015-09-07 14:58:42 -07:00

58 lines
2 KiB
JavaScript

/*
* vim: ts=4:sw=4:expandtab
*/
'use strict';
describe("Helpers", function() {
describe("ArrayBuffer->String conversion", function() {
it('works', function() {
var b = new ArrayBuffer(3);
var a = new Uint8Array(b);
a[0] = 0;
a[1] = 255;
a[2] = 128;
assert.equal(getString(b), "\x00\xff\x80");
});
});
describe("toArrayBuffer", function() {
it('returns undefined when passed undefined', function() {
assert.strictEqual(toArrayBuffer(undefined), undefined);
});
it('returns ArrayBuffer when passed ArrayBuffer', function() {
var StaticArrayBufferProto = new ArrayBuffer().__proto__;
var anArrayBuffer = new ArrayBuffer();
assert.strictEqual(toArrayBuffer(anArrayBuffer), anArrayBuffer);
});
it('throws an error when passed a non Stringable thing', function() {
var madeUpObject = function() {};
var notStringable = new madeUpObject();
assert.throw(function() { toArrayBuffer(notStringable) },
Error, /Tried to convert a non-stringable thing/);
});
});
describe("isEqual", function(){
it('returns false when a or b is undefined', function(){
assert.isFalse(isEqual("defined value", undefined, false));
assert.isFalse(isEqual(undefined, "defined value", false));
});
it('returns true when a and b are equal', function(){
var a = "same value";
var b = "same value";
assert.isTrue(isEqual(a, b, false));
});
it('returns false when a and b are not equal', function(){
var a = "same value";
var b = "diferent value";
assert.isFalse(isEqual(a, b, false));
});
it('throws an error when a/b compare is too short', function(){
var a = "1234";
var b = "1234";
assert.throw(function() { isEqual(a, b, true) },
Error, /a\/b compare too short/);
});
});
});