@theopenweb/js-sensor
Version:
JavaScript sensor library for native input sensors.
157 lines (129 loc) • 6.34 kB
HTML
<html>
<head>
<meta charset="utf-8">
<base data-ice="baseUrl" href="../../">
<title data-ice="title">test/sensor-handler.test.js | js-sensor</title>
<link type="text/css" rel="stylesheet" href="css/style.css">
<link type="text/css" rel="stylesheet" href="css/prettify-tomorrow.css">
<script src="script/prettify/prettify.js"></script>
<script src="script/manual.js"></script>
<meta name="description" content="JavaScript sensor library for native input sensors."><meta property="twitter:card" content="summary"><meta property="twitter:title" content="js-sensor"><meta property="twitter:description" content="JavaScript sensor library for native input sensors."></head>
<body class="layout-container" data-ice="rootContainer">
<header>
<a href="./">Home</a>
<a href="identifiers.html">Reference</a>
<a href="source.html">Source</a>
<a href="test.html" data-ice="testLink">Test</a>
<div class="search-box">
<span>
<img src="./image/search.png">
<span class="search-input-edge"></span><input class="search-input"><span class="search-input-edge"></span>
</span>
<ul class="search-result"></ul>
</div>
</header>
<nav class="navigation" data-ice="nav"><div>
<ul>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/class/browser-sensor-watcher.js~BrowserSensorWatcher.html">BrowserSensorWatcher</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/class/js-sensor.js~JsSensor.html">JsSensor</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/class/sensor-handler.js~SensorHandler.html">SensorHandler</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-SensorHandler">SensorHandler</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-BrowserSensorWatcher">BrowserSensorWatcher</a></span></span></li>
</ul>
</div>
</nav>
<div class="content" data-ice="content"><h1 data-ice="title">test/sensor-handler.test.js</h1>
<pre class="source-code line-number raw-source-code"><code class="prettyprint linenums" data-ice="content">const SensorHandler = require('../class/sensor-handler');
const sensorHandler = new SensorHandler();
console.log(sensorHandler);
/**
* Tests require fully capable device + manual movement to complete.
*/
describe('SensorHandler', function(){
beforeEach(()=>{
return sensorHandler.stopAll();
});
this.timeout(5000);//Devices may take a while.
it('getMappedSensorNames', ()=>{
let names = sensorHandler.getMappedSensorNames();
chai.expect(names).to.be.an('array');
});
it('get', ()=>{
return sensorHandler.get('test')
.then((data)=>{
chai.expect(data).to.equal('test data');
return Promise.resolve();
});
});
it('watch', ()=>{
return sensorHandler.watch('test')
.then((sensorState)=>{
chai.expect(sensorState).to.be.an('object');
chai.expect(sensorState.isSensorState).to.equal(true);
return Promise.resolve();
});
});
it('watchAll', ()=>{
return sensorHandler.watchAll()
.then((promises)=>{
chai.expect(promises).to.be.an('array');
return Promise.resolve();
});
});
it('stop', ()=>{
return sensorHandler.watch('test')
.then(()=>{return sensorHandler.stop('test');})
.then(()=>{
return Promise.resolve();
});
});
it('stopAll', ()=>{
return sensorHandler.stopAll()
.then((promises)=>{
chai.expect(promises).to.be.an('array');
return Promise.resolve();
});
});
it('addSensorEvent', ()=>{
return sensorHandler.watch('test')
.then(()=>{
let handle = function(){};
sensorHandler.addSensorEvent('test', 'data', handle);
chai.expect(sensorHandler.sensors['test'].events['data'].indexOf(handle)).to.be.greaterThan(-1);
return Promise.resolve();
})
.then(()=>{
return sensorHandler.stop('test');
});
});
it('removeSensorEvent', ()=>{
return sensorHandler.watch('test')
.then(()=>{
let handle = function(){};
sensorHandler.addSensorEvent('test', 'data', handle);
chai.expect(sensorHandler.sensors['test'].events['data'].indexOf(handle)).to.be.greaterThan(-1);
sensorHandler.removeSensorEvent('test', 'data', handle);
chai.expect(sensorHandler.sensors['test'].events['data'].indexOf(handle)).to.equal(-1);
})
.then(()=>{
return sensorHandler.stop('test');
});
});
it('_SensorState', ()=>{
chai.expect(sensorHandler._SensorState()).to.be.an('object');
});
});</code></pre>
</div>
<footer class="footer">
Generated by <a href="https://esdoc.org">ESDoc<span data-ice="esdocVersion">(1.0.4)</span><img src="./image/esdoc-logo-mini-black.png"></a>
</footer>
<script src="script/search_index.js"></script>
<script src="script/search.js"></script>
<script src="script/pretty-print.js"></script>
<script src="script/inherited-summary.js"></script>
<script src="script/test-summary.js"></script>
<script src="script/inner-link.js"></script>
<script src="script/patch-for-local.js"></script>
</body>
</html>