UNPKG

este-library-oldschool

Version:

Library for github.com/steida/este.git

152 lines 3.96 kB
// Generated by github.com/steida/coffee2closure 900.1.18 suite('este.labs.Route', function() { var Route, testData; Route = este.labs.Route; testData = [ { path: 'user/:user', url: 'user/joe', params: { user: 'joe' } }, { path: 'users/:id?', url: 'users', params: { id: void 0 } }, { path: 'users/:id?', url: 'users/1', params: { id: '1' } }, { path: 'user/:id/:operation?', url: 'user/1', params: { id: '1', operation: void 0 } }, { path: 'user/:id/:operation?', url: 'user/1/edit', params: { id: '1', operation: 'edit' } }, { path: 'products.:format', url: 'products.json', params: { format: 'json' } }, { path: 'products.:format', url: 'products.xml', params: { format: 'xml' } }, { path: 'products.:format?', url: 'products', params: { format: void 0 } }, { path: 'user/:id.:format?', url: 'user/12', params: { id: '12', format: void 0 } }, { path: 'user/:id.:format?', url: 'user/12.json', params: { id: '12', format: 'json' } }, { path: '/', url: '/', params: null }, { path: 'assets/*', url: 'assets/este.js', params: ['este.js'] }, { path: 'assets/*.*', url: 'assets/steida.js', params: ['steida', 'js'] }, { path: 'assets/*', url: 'assets/js/este.js', params: ['js/este.js'] }, { path: 'assets/*.*', url: 'assets/js/steida.js', params: ['js/steida', 'js'] } ]; suite('testData', function() { suite('match', function() { return test('should match url', function() { var data, i, len, results, route; results = []; for (i = 0, len = testData.length; i < len; i++) { data = testData[i]; route = new Route(data.path); results.push(assert.isTrue(route.match(data.url))); } return results; }); }); suite('params', function() { return test('should return params from url', function() { var data, i, len, params, results, route; results = []; for (i = 0, len = testData.length; i < len; i++) { data = testData[i]; route = new Route(data.path); params = route.params(data.url); results.push(assert.deepEqual(params, data.params, data.url)); } return results; }); }); return suite('url', function() { test('should return url from params', function() { var data, i, len, results, route, url; results = []; for (i = 0, len = testData.length; i < len; i++) { data = testData[i]; route = new Route(data.path); url = route.url(data.params); results.push(assert.equal(url, data.url, data.url)); } return results; }); return test('should remove unused params', function() { var route, url; route = new Route('/drug/:name/:condition?/:question?'); url = route.url({ 'name': 'name' }); return assert.equal(url, '/drug/name'); }); }); }); return suite('instance match', function() { return test('should work', function() { assert.isTrue(new Route('/').match('/')); assert.isFalse(new Route('/').match('/f')); assert.isTrue(new Route('/foo').match('/foo')); assert.isFalse(new Route('/foo').match('/boo')); assert.isTrue(new Route('/:foo').match('/foo')); assert.isFalse(new Route('/:foo').match('/')); assert.isTrue(new Route('/users/:foo?').match('/users')); return assert.isTrue(new Route('/users/:foo?').match('/users/foo')); }); }); });