Permalink
| /*! | |
| * test/pattern.js | |
| * | |
| * Copyright (c) 2014 First Opinion | |
| */ | |
| define([ | |
| 'proclaim', | |
| 'pattern' | |
| ], function (assert, pattern) { | |
| // | |
| // pattern.js tests | |
| // | |
| describe('pattern.js', function () { | |
| // pattern.parse | |
| // Create an object holding all formatted characters | |
| // with corresponding positions | |
| describe('parse', function () { | |
| it('Should return an obj with pattern info', function () { | |
| var result = pattern.parse('({{9A*}}) {{9A*}}-{{AAAA}}'); | |
| assert.deepEqual(result.chars, { | |
| '0': '(', | |
| '4': ')', | |
| '5': ' ', | |
| '9': '-' | |
| }); | |
| assert.deepEqual(result.inpts, { | |
| '0': '9', | |
| '1': 'A', | |
| '2': '*', | |
| '3': '9', | |
| '4': 'A', | |
| '5': '*', | |
| '6': 'A', | |
| '7': 'A', | |
| '8': 'A', | |
| '9': 'A' | |
| }); | |
| assert.equal(result.mLength, 14); | |
| }); | |
| describe('edge cases', function () { | |
| it('Should parse a pattern with a leading char', function () { | |
| var result = pattern.parse('_{{**}}'); | |
| assert.deepEqual(result.chars, { | |
| '0': '_' | |
| }); | |
| assert.deepEqual(result.inpts, { | |
| '0': '*', | |
| '1': '*' | |
| }); | |
| assert.equal(result.mLength, 3); | |
| }); | |
| it('Should parse a pattern with a trailing char', function () { | |
| var result = pattern.parse('{{**}}_'); | |
| assert.deepEqual(result.chars, { | |
| '2': '_' | |
| }); | |
| assert.deepEqual(result.inpts, { | |
| '0': '*', | |
| '1': '*' | |
| }); | |
| assert.equal(result.mLength, 3); | |
| }); | |
| }); | |
| }); | |
| }); | |
| }); |