mirror of
https://github.com/pebble-dev/clay.git
synced 2026-08-28 04:46:57 -04:00
86 lines
2.2 KiB
JavaScript
86 lines
2.2 KiB
JavaScript
'use strict';
|
|
|
|
var utils = require('../../../src/scripts/lib/utils');
|
|
var assert = require('chai').assert;
|
|
|
|
describe('Utils', function() {
|
|
describe('.updateProperties', function() {
|
|
var obj;
|
|
|
|
beforeEach(function() {
|
|
obj = {
|
|
one: 1,
|
|
two: 2
|
|
};
|
|
});
|
|
|
|
it('sets the properties as non-writable', function() {
|
|
utils.updateProperties(obj, { writable: false });
|
|
assert.strictEqual(
|
|
Object.getOwnPropertyDescriptor(obj, 'one').writable,
|
|
false
|
|
);
|
|
assert.strictEqual(
|
|
Object.getOwnPropertyDescriptor(obj, 'two').writable,
|
|
false
|
|
);
|
|
});
|
|
});
|
|
|
|
describe('.prepareForAppMessage', function() {
|
|
it('converts an array correctly when array contains strings', function() {
|
|
assert.deepEqual(
|
|
utils.prepareForAppMessage(['one', 'two']),
|
|
['one', 0, 'two', 0]
|
|
);
|
|
});
|
|
|
|
it('converts an array correctly when array contains numbers', function() {
|
|
assert.deepEqual(utils.prepareForAppMessage([1, 2, 3]), [1, 2, 3]);
|
|
});
|
|
|
|
it('converts an array correctly when array contains booleans', function() {
|
|
assert.deepEqual(utils.prepareForAppMessage([true, false, true]), [1, 0, 1]);
|
|
});
|
|
|
|
it('converts booleans to ints', function() {
|
|
assert.strictEqual(utils.prepareForAppMessage(false), 0);
|
|
assert.strictEqual(utils.prepareForAppMessage(true), 1);
|
|
});
|
|
|
|
it('leaves strings alone', function() {
|
|
assert.strictEqual(utils.prepareForAppMessage('test'), 'test');
|
|
});
|
|
|
|
it('leaves numbers alone', function() {
|
|
assert.strictEqual(utils.prepareForAppMessage(123), 123);
|
|
});
|
|
});
|
|
|
|
describe('.prepareSettingsForAppMessage', function() {
|
|
it('converts the settings correctly', function() {
|
|
var settings = {
|
|
test1: false,
|
|
test2: 'val-2',
|
|
test3: true,
|
|
test4: ['cb-1', 'cb-3'],
|
|
test5: 12345,
|
|
test6: [1, 2, 3, 4],
|
|
test7: [true, false, true]
|
|
};
|
|
var expected = {
|
|
test1: 0,
|
|
test2: 'val-2',
|
|
test3: 1,
|
|
test4: ['cb-1', 0, 'cb-3', 0],
|
|
test5: 12345,
|
|
test6: [1, 2, 3, 4],
|
|
test7: [1, 0, 1]
|
|
};
|
|
|
|
assert.deepEqual(utils.prepareSettingsForAppMessage(settings), expected);
|
|
});
|
|
});
|
|
});
|
|
|