12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- var assert = require('assert');
- var rttc = require('../');
- describe('.getPatternFromExemplar()', function() {
- it('should return the pattern from single-item array exemplars', function() {
- assert.strictEqual(rttc.getPatternFromExemplar(['foo']), 'foo');
- assert.strictEqual(rttc.getPatternFromExemplar(['']), '');
- assert.strictEqual(rttc.getPatternFromExemplar([2323]), 2323);
- assert.strictEqual(rttc.getPatternFromExemplar([0]), 0);
- assert.strictEqual(rttc.getPatternFromExemplar([true]), true);
- assert.strictEqual(rttc.getPatternFromExemplar([false]), false);
- assert.deepEqual(rttc.getPatternFromExemplar([[]]), []);
- assert.deepEqual(rttc.getPatternFromExemplar([{}]), {});
- assert.deepEqual(rttc.getPatternFromExemplar([{x:30,y:40}]), {x:30,y:40});
- assert.deepEqual(rttc.getPatternFromExemplar(['*']), '*');
- assert.deepEqual(rttc.getPatternFromExemplar(['->']), '->');
- assert.deepEqual(rttc.getPatternFromExemplar(['===']), '===');
- // A few deep test cases just to mix things up.
- assert.deepEqual(rttc.getPatternFromExemplar([[{x:30,y:40}]]), [{x:30,y:40}]);
- assert.deepEqual(rttc.getPatternFromExemplar([['===']]), ['===']);
- assert.deepEqual(rttc.getPatternFromExemplar([[[false]]]), [[false]]);
- assert.deepEqual(rttc.getPatternFromExemplar([[[{x:30, y:40, otherCoordinates: [{x:100,y:200,z:-300.5}]}]]]), [[{x:30, y:40, otherCoordinates: [{x:100,y:200,z:-300.5}]}]]);
- });
- it('should return "*" given [] (because [] is really just the same thing as ["*"])', function() {
- assert.strictEqual(rttc.getPatternFromExemplar([]), '*');
- });
- it('should throw if given a multi-item array', function() {
- assert.throws(function (){
- rttc.getPatternFromExemplar(['a','b','c']);
- });
- });
- it('should throw if given a non-array', function() {
- assert.throws(function (){
- rttc.getPatternFromExemplar({x:292, y:-49});
- });
- });
- });
|