| (function() { |
| var assert, vows; |
| |
| vows = require('vows'); |
| |
| assert = require('assert'); |
| |
| vows.describe('Module Inflector inflections').addBatch({ |
| 'Test inflector inflections': { |
| topic: require('../../lib/inflections'), |
| 'clear': { |
| 'single': function(topic) { |
| topic.uncountables = [1, 2, 3]; |
| topic.humans = [1, 2, 3]; |
| topic.clear('uncountables'); |
| assert.isEmpty(topic.uncountables); |
| return assert.deepEqual(topic.humans, [1, 2, 3]); |
| }, |
| 'all': function(topic) { |
| assert.deepEqual(topic.humans, [1, 2, 3]); |
| topic.uncountables = [1, 2, 3]; |
| topic.clear(); |
| assert.isEmpty(topic.uncountables); |
| return assert.isEmpty(topic.humans); |
| } |
| }, |
| 'uncountable': { |
| 'one item': function(topic) { |
| topic.clear(); |
| assert.isEmpty(topic.uncountables); |
| topic.uncountable('money'); |
| return assert.deepEqual(topic.uncountables, ['money']); |
| }, |
| 'many items': function(topic) { |
| topic.clear(); |
| assert.isEmpty(topic.uncountables); |
| topic.uncountable(['money', 'rice']); |
| return assert.deepEqual(topic.uncountables, ['money', 'rice']); |
| } |
| }, |
| 'human': function(topic) { |
| topic.clear(); |
| assert.isEmpty(topic.humans); |
| topic.human("legacy_col_person_name", "Name"); |
| return assert.deepEqual(topic.humans, [["legacy_col_person_name", "Name"]]); |
| }, |
| 'plural': function(topic) { |
| topic.clear(); |
| assert.isEmpty(topic.plurals); |
| topic.plural('ox', 'oxen'); |
| assert.deepEqual(topic.plurals, [['ox', 'oxen']]); |
| topic.uncountable('money'); |
| assert.deepEqual(topic.uncountables, ['money']); |
| topic.uncountable('monies'); |
| topic.plural('money', 'monies'); |
| assert.deepEqual(topic.plurals, [['money', 'monies'], ['ox', 'oxen']]); |
| return assert.isEmpty(topic.uncountables); |
| }, |
| 'singular': function(topic) { |
| topic.clear(); |
| assert.isEmpty(topic.singulars); |
| topic.singular('ox', 'oxen'); |
| assert.deepEqual(topic.singulars, [['ox', 'oxen']]); |
| topic.uncountable('money'); |
| assert.deepEqual(topic.uncountables, ['money']); |
| topic.uncountable('monies'); |
| topic.singular('money', 'monies'); |
| assert.deepEqual(topic.singulars, [['money', 'monies'], ['ox', 'oxen']]); |
| return assert.isEmpty(topic.uncountables); |
| }, |
| 'irregular': function(topic) { |
| topic.clear(); |
| topic.uncountable(['octopi', 'octopus']); |
| assert.deepEqual(topic.uncountables, ['octopi', 'octopus']); |
| topic.irregular('octopus', 'octopi'); |
| assert.isEmpty(topic.uncountables); |
| assert.equal(topic.singulars[0][0].toString(), /(o)ctopi$/i.toString()); |
| assert.equal(topic.singulars[0][1], '$1ctopus'); |
| assert.equal(topic.plurals[0][0].toString(), /(o)ctopi$/i.toString()); |
| assert.equal(topic.plurals[0][1], '$1ctopi'); |
| assert.equal(topic.plurals[1][0].toString(), /(o)ctopus$/i.toString()); |
| return assert.equal(topic.plurals[1][1].toString(), '$1ctopi'); |
| } |
| } |
| })["export"](module); |
| |
| }).call(this); |