hue-hacking-node
Version:
Utility to control Philips Hue light bulbs
54 lines • 2.28 kB
JavaScript
;
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
var ava_1 = require("ava");
var hue_interfaces_js_1 = require("./hue-interfaces.js");
var rgb = new (hue_interfaces_js_1.RGB.bind.apply(hue_interfaces_js_1.RGB, __spreadArray([void 0], [1, 2, 256], false)))();
var coords = new (hue_interfaces_js_1.XYPoint.bind.apply(hue_interfaces_js_1.XYPoint, __spreadArray([void 0], [0.1, 0.2], false)))();
(0, ava_1.default)('RGB constructor', function (t) {
t.is(rgb.r, 1);
t.is(rgb.g, 2);
t.is(rgb.b, 255);
});
(0, ava_1.default)('RGB toString', function (t) {
t.deepEqual(rgb.toString(), 'r: 1, g: 2, b: 255');
});
(0, ava_1.default)('RGB toCssString', function (t) {
t.deepEqual(rgb.toCssString(), 'rgb(1, 2, 255)');
});
(0, ava_1.default)('XYPoint constructor', function (t) {
t.is(coords.x, 0.1);
t.is(coords.y, 0.2);
});
(0, ava_1.default)('XYPoint toString', function (t) {
t.deepEqual(coords.toString(), '{x: 0.1, y: 0.2}');
});
(0, ava_1.default)('HueUPNPResponse constructor', function (t) {
var ok = new hue_interfaces_js_1.HueUPNPResponse({
id: '1234',
internalipaddress: '192.168.x.x'
});
t.is(ok.id, '1234');
t.is(ok.internalipaddress, '192.168.x.x');
var empty = new hue_interfaces_js_1.HueUPNPResponse({ thing1: 'narp', thing2: 'pfft' });
t.falsy(empty.id);
t.falsy(empty.internalipaddress);
var nullResponse = new hue_interfaces_js_1.HueUPNPResponse(null);
t.is(nullResponse.id, undefined);
t.is(nullResponse.internalipaddress, undefined);
});
(0, ava_1.default)('clampToRange', function (t) {
var min = 0, max = 255;
t.is((0, hue_interfaces_js_1.clampToRange)(min, max, 254), 254);
t.is((0, hue_interfaces_js_1.clampToRange)(min, max, 256), max);
t.is((0, hue_interfaces_js_1.clampToRange)(min, max, -15), min);
});
//# sourceMappingURL=hue-interfaces.spec.js.map