// Node if (typeof module !== 'undefined' && module.exports) { var numeral = require('../../numeral'); var locales = require('../../locales'); var expect = require('chai').expect; } describe('Locale: fr-ca', function() { before(function() { numeral.locale('fr-ca'); }); after(function() { numeral.reset(); }); describe('Number', function() { it('should format a number', function() { var tests = [ [10000,'0,0.0000','10 000,0000'], [10000.23,'0,0','10 000'], [-10000,'0,0.0','-10 000,0'], [10000.1234,'0.000','10000,123'], [-10000,'(0,0.0000)','(10 000,0000)'], [-0.23,'.00','-,23'], [-0.23,'(.00)','(,23)'], [0.23,'0.00000','0,23000'], [1230974,'0.0 a','1,2 M'], [1460,'0 a','1 k'], [-104000,'0 a','-104 k'], [1,'0o','1er'], [52,'0o','52e'], [23,'0o','23e'], [100,'0o','100e'], [1,'0[.]0','1'] ]; for (var i = 0; i < tests.length; i++) { expect(numeral(tests[i][0]).format(tests[i][1])).to.equal(tests[i][2]); } }); }); describe('Currency', function() { it('should format a currency', function() { var tests = [ [1000.234,'0,0.00 $','1 000,23 $'], [-1000.234,'(0,0 $)','(1 000 $)'], [-1000.234,'0.00 $','-1000,23 $'], [1230974,'(0.00 a$)','1,23 M$'] ]; for (var i = 0; i < tests.length; i++) { expect(numeral(tests[i][0]).format(tests[i][1])).to.equal(tests[i][2]); } }); }); describe('Percentages', function() { it('should format a percentages', function() { var tests = [ [1,'0 %','100 %'], [0.974878234,'0.000 %','97,488 %'], [-0.43,'0 %','-43 %'], [0.43,'(0.000 %)','43,000 %'] ]; for (var i = 0; i < tests.length; i++) { expect(numeral(tests[i][0]).format(tests[i][1])).to.equal(tests[i][2]); } }); }); describe('Unformat', function() { it('should unformat', function() { var tests = [ ['10 000,123',10000.123], ['(0,12345)',-0.12345], ['(1,23 M$)',-1230000], ['10 k',10000], ['-10 k',-10000], ['23e',23], ['10 000,00 $',10000], ['-76 %',-0.76], ['2:23:57',8637] ]; for (var i = 0; i < tests.length; i++) { expect(numeral(tests[i][0]).value()).to.equal(tests[i][1]); } }); }); });