9360aa2d27
The quotes rule had to be disabled for e2e tests generated from ngdoc because dgeni templates use double quotes as string delimiters. Since we can't have guarantees that dgeni template wrappers will follow the same JS code style the Angular 1 repo uses, we should find a way to enforce our ESLint setup only for the parts in this repo, perhaps via prepending a generated `/* eslint-enable OUR_RULES */` pragma. Closes #15011
56 lines
2.4 KiB
JavaScript
56 lines
2.4 KiB
JavaScript
'use strict';
|
|
|
|
var parsePattern = require('../src/parser.js').parsePattern;
|
|
|
|
describe('parsePattern', function() {
|
|
function parseAndExpect(pattern, pp, np, ps, ns, mii, mif, maf, g, lg) {
|
|
var p = parsePattern(pattern);
|
|
|
|
expect(p.minInt).toEqual(mii);
|
|
expect(p.minFrac).toEqual(mif);
|
|
expect(p.maxFrac).toEqual(maf);
|
|
|
|
expect(p.posPre).toEqual(pp);
|
|
expect(p.posSuf).toEqual(ps);
|
|
expect(p.negPre).toEqual(np);
|
|
expect(p.negSuf).toEqual(ns);
|
|
|
|
expect(p.gSize).toBe(g);
|
|
expect(p.lgSize).toBe(lg);
|
|
}
|
|
|
|
it('should parse DECIMAL patterns', function() {
|
|
// all DECIMAL patterns from closure
|
|
parseAndExpect('#,##0.###', '', '-', '', '', 1, 0, 3, 3, 3);
|
|
parseAndExpect('#,##0.###;#,##0.###-', '', '', '', '-', 1, 0, 3, 3, 3);
|
|
parseAndExpect('#,##,##0.###', '', '-', '', '', 1, 0, 3, 2, 3);
|
|
parseAndExpect('#,##0.###;\'\u202A\'-#,##0.###\'\u202C\'',
|
|
'', '\u202A-', '', '\u202C', 1, 0, 3, 3, 3);
|
|
parseAndExpect('#0.###;#0.###-', '', '', '', '-', 1, 0, 3, 0, 0);
|
|
|
|
});
|
|
|
|
it('should parse CURRENCY patterns', function() {
|
|
// all CURRENCY patterns from closure
|
|
parseAndExpect('#,##0.00 \u00A4', '', '-', ' \u00A4', ' \u00A4', 1, 2, 2, 3, 3);
|
|
parseAndExpect('#,##0.00\u00A0\u00A4;\'\u202A\'-#,##0.00\'\u202C\'\u00A0\u00A4',
|
|
'', '\u202A-', '\u00A0\u00A4', '\u202C\u00A0\u00A4', 1, 2, 2, 3, 3);
|
|
parseAndExpect('#,##0.00 \u00A4;(#,##0.00 \u00A4)',
|
|
'', '(', ' \u00A4', ' \u00A4)', 1, 2, 2, 3, 3);
|
|
parseAndExpect('#,##,##0.00\u00A4', '', '-', '\u00A4', '\u00A4', 1, 2, 2, 2, 3);
|
|
parseAndExpect('#,##,##0.00\u00A4;(#,##,##0.00\u00A4)',
|
|
'', '(', '\u00A4', '\u00A4)', 1, 2, 2, 2, 3);
|
|
parseAndExpect('\u00A4#,##0.00', '\u00A4', '-\u00A4', '', '', 1, 2, 2, 3, 3);
|
|
parseAndExpect('\u00A4#,##0.00;(\u00A4#,##0.00)',
|
|
'\u00A4', '(\u00A4', '', ')', 1, 2, 2, 3, 3);
|
|
parseAndExpect('\u00A4#,##0.00;\u00A4-#,##0.00',
|
|
'\u00A4', '\u00A4-', '', '', 1, 2, 2, 3, 3);
|
|
parseAndExpect('\u00A4 #,##0.00', '\u00A4 ', '-\u00A4 ', '', '', 1, 2, 2, 3, 3);
|
|
parseAndExpect('\u00A4 #,##0.00;\u00A4-#,##0.00',
|
|
'\u00A4 ', '\u00A4-', '', '', 1, 2, 2, 3, 3);
|
|
parseAndExpect('\u00A4 #,##0.00;\u00A4 #,##0.00-',
|
|
'\u00A4 ', '\u00A4 ', '', '-', 1, 2, 2, 3, 3);
|
|
parseAndExpect('\u00A4 #,##,##0.00', '\u00A4 ', '-\u00A4 ', '', '', 1, 2, 2, 2, 3);
|
|
});
|
|
});
|