123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- (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);
|