first commit

This commit is contained in:
2024-11-11 18:46:54 +01:00
commit a630d17338
25634 changed files with 4923715 additions and 0 deletions

View File

@@ -0,0 +1,139 @@
/**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
*/
import {expect} from 'chai';
import NumberSpecification from '../../../../_dev/cldr/specifications/number';
import NumberSymbol from '../../../../_dev/cldr/number-symbol';
describe('NumberSpecification', () => {
let symbol;
beforeEach(() => {
symbol = new NumberSymbol(
'.',
',',
';',
'%',
'-',
'+',
'E',
'×',
'‰',
'∞',
'NaN',
);
});
describe('validateData', () => {
it('should throw if invalid positive pattern', () => {
expect(() => {
new NumberSpecification();
}).to.throw('Invalid positivePattern');
});
it('should throw if invalid negative pattern', () => {
expect(() => {
new NumberSpecification(
'#,##0.###',
);
}).to.throw('Invalid negativePattern');
});
it('should throw if invalid symbol', () => {
expect(() => {
new NumberSpecification(
'#,##0.###',
'-#,##0.###',
);
}).to.throw('Invalid symbol');
});
it('should throw if invalid maxFractionDigits', () => {
expect(() => {
new NumberSpecification(
'#,##0.###',
'-#,##0.###',
symbol,
);
}).to.throw('Invalid maxFractionDigits');
});
it('should throw if invalid minFractionDigits', () => {
expect(() => {
new NumberSpecification(
'#,##0.###',
'-#,##0.###',
symbol,
3,
);
}).to.throw('Invalid minFractionDigits');
});
it('should throw if invalid groupingUsed', () => {
expect(() => {
new NumberSpecification(
'#,##0.###',
'-#,##0.###',
symbol,
3,
0,
);
}).to.throw('Invalid groupingUsed');
});
it('should throw if invalid primaryGroupSize', () => {
expect(() => {
new NumberSpecification(
'#,##0.###',
'-#,##0.###',
symbol,
3,
0,
false,
);
}).to.throw('Invalid primaryGroupSize');
});
it('should throw if invalid secondaryGroupSize', () => {
expect(() => {
new NumberSpecification(
'#,##0.###',
'-#,##0.###',
symbol,
3,
0,
true,
3,
);
}).to.throw('Invalid secondaryGroupSize');
});
it('should not throw if everything is ok', () => {
expect(() => {
new NumberSpecification(
'#,##0.###',
'-#,##0.###',
symbol,
3,
0,
true,
3,
3,
);
}).to.not.throw();
});
});
});

View File

@@ -0,0 +1,172 @@
/**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
*/
import {expect} from 'chai';
import PriceSpecification from '../../../../_dev/cldr/specifications/price';
import NumberSymbol from '../../../../_dev/cldr/number-symbol';
describe('PriceSpecification', () => {
let symbol;
beforeEach(() => {
symbol = new NumberSymbol(
'.',
',',
';',
'%',
'-',
'+',
'E',
'×',
'‰',
'∞',
'NaN',
);
});
describe('validateData', () => {
it('should throw if invalid positive pattern', () => {
expect(() => {
new PriceSpecification();
}).to.throw('Invalid positivePattern');
});
it('should throw if invalid negative pattern', () => {
expect(() => {
new PriceSpecification(
'#,##0.###',
);
}).to.throw('Invalid negativePattern');
});
it('should throw if invalid symbol', () => {
expect(() => {
new PriceSpecification(
'#,##0.###',
'-#,##0.###',
);
}).to.throw('Invalid symbol');
});
it('should throw if invalid maxFractionDigits', () => {
expect(() => {
new PriceSpecification(
'#,##0.###',
'-#,##0.###',
symbol,
);
}).to.throw('Invalid maxFractionDigits');
});
it('should throw if invalid minFractionDigits', () => {
expect(() => {
new PriceSpecification(
'#,##0.###',
'-#,##0.###',
symbol,
3,
);
}).to.throw('Invalid minFractionDigits');
});
it('should throw if invalid groupingUsed', () => {
expect(() => {
new PriceSpecification(
'#,##0.###',
'-#,##0.###',
symbol,
3,
0,
);
}).to.throw('Invalid groupingUsed');
});
it('should throw if invalid primaryGroupSize', () => {
expect(() => {
new PriceSpecification(
'#,##0.###',
'-#,##0.###',
symbol,
3,
0,
false,
);
}).to.throw('Invalid primaryGroupSize');
});
it('should throw if invalid secondaryGroupSize', () => {
expect(() => {
new PriceSpecification(
'#,##0.###',
'-#,##0.###',
symbol,
3,
0,
true,
3,
);
}).to.throw('Invalid secondaryGroupSize');
});
it('should throw if invalid currencySymbol', () => {
expect(() => {
new PriceSpecification(
'#,##0.###',
'-#,##0.###',
symbol,
3,
0,
true,
3,
3,
);
}).to.throw('Invalid currencySymbol');
});
it('should throw if invalid currencyCode', () => {
expect(() => {
new PriceSpecification(
'#,##0.###',
'-#,##0.###',
symbol,
3,
0,
true,
3,
3,
'$',
);
}).to.throw('Invalid currencyCode');
});
it('should not throw if everything is ok', () => {
expect(() => {
new PriceSpecification(
'#,##0.###',
'-#,##0.###',
symbol,
3,
0,
true,
3,
3,
'$',
'USD',
);
}).to.not.throw();
});
});
});