Improve test coverage for NumberFormat (#2556)

* add tests for NumberFormat::FORMAT_NUMBER

* add tests for NumberFormat::FORMAT_NUMBER_00

* add tests for FORMAT_NUMBER_COMMA_SEPARATED1

* add tests for FORMAT_NUMBER_COMMA_SEPARATED2

* add tests for FORMAT_CURRENCY_USD_SIMPLE

* add tests for FORMAT_CURRENCY_USD

* add tests for FORMAT_CURRENCY_EUR, FORMAT_CURRENCY_EUR_SIMPLE

* add tests for FORMAT_ACCOUNTING_EUR, FORMAT_ACCOUNTING_USD
This commit is contained in:
Sebastian Nohn 2022-02-05 21:05:26 +01:00 committed by GitHub
parent 239cd492d7
commit fe169dcd0a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 713 additions and 0 deletions

View File

@ -1,5 +1,7 @@
<?php <?php
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
// value, format, result // value, format, result
return [ return [
@ -539,4 +541,715 @@ return [
25.255555555555555, 25.255555555555555,
'"pfx." 0.00;"pfx." -0.00;"pfx." 0.00;', '"pfx." 0.00;"pfx." -0.00;"pfx." 0.00;',
], ],
[
'1',
'1.000',
NumberFormat::FORMAT_NUMBER,
],
[
'-1',
'-1.000',
NumberFormat::FORMAT_NUMBER,
],
[
'1',
'1',
NumberFormat::FORMAT_NUMBER,
],
[
'-1',
'-1',
NumberFormat::FORMAT_NUMBER,
],
[
'0',
'0',
NumberFormat::FORMAT_NUMBER,
],
[
'0',
'-0',
NumberFormat::FORMAT_NUMBER,
],
[
'1',
'1.1',
NumberFormat::FORMAT_NUMBER,
],
[
'1',
'1.4',
NumberFormat::FORMAT_NUMBER,
],
[
'2',
'1.5',
NumberFormat::FORMAT_NUMBER,
],
[
'2',
'1.9',
NumberFormat::FORMAT_NUMBER,
],
[
'0.00',
'0',
NumberFormat::FORMAT_NUMBER_00,
],
[
'1.00',
'1',
NumberFormat::FORMAT_NUMBER_00,
],
[
'1.11',
'1.111',
NumberFormat::FORMAT_NUMBER_00,
],
[
'1.11',
'1.114',
NumberFormat::FORMAT_NUMBER_00,
],
[
'1.12',
'1.115',
NumberFormat::FORMAT_NUMBER_00,
],
[
'1.12',
'1.119',
NumberFormat::FORMAT_NUMBER_00,
],
[
'0.00',
'-0',
NumberFormat::FORMAT_NUMBER_00,
],
[
'-1.00',
'-1',
NumberFormat::FORMAT_NUMBER_00,
],
[
'-1.11',
'-1.111',
NumberFormat::FORMAT_NUMBER_00,
],
[
'-1.11',
'-1.114',
NumberFormat::FORMAT_NUMBER_00,
],
[
'-1.12',
'-1.115',
NumberFormat::FORMAT_NUMBER_00,
],
[
'-1.12',
'-1.119',
NumberFormat::FORMAT_NUMBER_00,
],
[
'0.00',
'0',
NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1,
],
[
'1,000.00',
'1000',
NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1,
],
[
'1,111.11',
'1111.111',
NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1,
],
[
'1,111.11',
'1111.114',
NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1,
],
[
'1,111.12',
'1111.115',
NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1,
],
[
'1,111.12',
'1111.119',
NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1,
],
[
'0.00',
'-0',
NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1,
],
[
'-1,111.00',
'-1111',
NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1,
],
[
'-1,111.11',
'-1111.111',
NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1,
],
[
'-1,111.11',
'-1111.114',
NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1,
],
[
'-1,111.12',
'-1111.115',
NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1,
],
[
'-1,111.12',
'-1111.119',
NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1,
],
[
'0.00 ',
'0',
NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED2,
],
[
'1,000.00 ',
'1000',
NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED2,
],
[
'1,111.11 ',
'1111.111',
NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED2,
],
[
'1,111.11 ',
'1111.114',
NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED2,
],
[
'1,111.12 ',
'1111.115',
NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED2,
],
[
'1,111.12 ',
'1111.119',
NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED2,
],
[
'0.00 ',
'-0',
NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED2,
],
[
'-1,111.00 ',
'-1111',
NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED2,
],
[
'-1,111.11 ',
'-1111.111',
NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED2,
],
[
'-1,111.11 ',
'-1111.114',
NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED2,
],
[
'-1,111.12 ',
'-1111.115',
NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED2,
],
[
'-1,111.12 ',
'-1111.119',
NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED2,
],
// Tests for FORMAT_PERCENTAGE, FORMAT_PERCENTAGE_00 currently fail. Fix & tests will be provided in #2555
[
'$0.00 ',
'0',
NumberFormat::FORMAT_CURRENCY_USD_SIMPLE,
],
[
'$1,000.00 ',
'1000',
NumberFormat::FORMAT_CURRENCY_USD_SIMPLE,
],
[
'$1,111.11 ',
'1111.111',
NumberFormat::FORMAT_CURRENCY_USD_SIMPLE,
],
[
'$1,111.11 ',
'1111.114',
NumberFormat::FORMAT_CURRENCY_USD_SIMPLE,
],
[
'$1,111.12 ',
'1111.115',
NumberFormat::FORMAT_CURRENCY_USD_SIMPLE,
],
[
'$1,111.12 ',
'1111.119',
NumberFormat::FORMAT_CURRENCY_USD_SIMPLE,
],
[
'$0.00 ',
'-0',
NumberFormat::FORMAT_CURRENCY_USD_SIMPLE,
],
[
'$-1,111.00 ',
'-1111',
NumberFormat::FORMAT_CURRENCY_USD_SIMPLE,
],
[
'$-1,111.11 ',
'-1111.111',
NumberFormat::FORMAT_CURRENCY_USD_SIMPLE,
],
[
'$-1,111.11 ',
'-1111.114',
NumberFormat::FORMAT_CURRENCY_USD_SIMPLE,
],
[
'$-1,111.12 ',
'-1111.115',
NumberFormat::FORMAT_CURRENCY_USD_SIMPLE,
],
[
'$-1,111.12 ',
'-1111.119',
NumberFormat::FORMAT_CURRENCY_USD_SIMPLE,
],
[
'$0 ',
'0',
NumberFormat::FORMAT_CURRENCY_USD,
],
[
'$1,000 ',
'1000',
NumberFormat::FORMAT_CURRENCY_USD,
],
[
'$1,111 ',
'1111.1',
NumberFormat::FORMAT_CURRENCY_USD,
],
[
'$1,111 ',
'1111.4',
NumberFormat::FORMAT_CURRENCY_USD,
],
[
'$1,112 ',
'1111.5',
NumberFormat::FORMAT_CURRENCY_USD,
],
[
'$1,112 ',
'1111.9',
NumberFormat::FORMAT_CURRENCY_USD,
],
[
'$0 ',
'-0',
NumberFormat::FORMAT_CURRENCY_USD,
],
[
'$-1,111 ',
'-1111',
NumberFormat::FORMAT_CURRENCY_USD,
],
[
'$-1,111 ',
'-1111.1',
NumberFormat::FORMAT_CURRENCY_USD,
],
[
'$-1,111 ',
'-1111.4',
NumberFormat::FORMAT_CURRENCY_USD,
],
[
'$-1,112 ',
'-1111.5',
NumberFormat::FORMAT_CURRENCY_USD,
],
[
'$-1,112 ',
'-1111.9',
NumberFormat::FORMAT_CURRENCY_USD,
],
[
'$0.00 ',
'0',
NumberFormat::FORMAT_CURRENCY_USD_SIMPLE,
],
[
'$1,000.00 ',
'1000',
NumberFormat::FORMAT_CURRENCY_USD_SIMPLE,
],
[
'$1,111.11 ',
'1111.111',
NumberFormat::FORMAT_CURRENCY_USD_SIMPLE,
],
[
'$1,111.11 ',
'1111.114',
NumberFormat::FORMAT_CURRENCY_USD_SIMPLE,
],
[
'$1,111.12 ',
'1111.115',
NumberFormat::FORMAT_CURRENCY_USD_SIMPLE,
],
[
'$1,111.12 ',
'1111.119',
NumberFormat::FORMAT_CURRENCY_USD_SIMPLE,
],
[
'$0.00 ',
'-0',
NumberFormat::FORMAT_CURRENCY_USD_SIMPLE,
],
[
'$-1,111.00 ',
'-1111',
NumberFormat::FORMAT_CURRENCY_USD_SIMPLE,
],
[
'$-1,111.11 ',
'-1111.111',
NumberFormat::FORMAT_CURRENCY_USD_SIMPLE,
],
[
'$-1,111.11 ',
'-1111.114',
NumberFormat::FORMAT_CURRENCY_USD_SIMPLE,
],
[
'$-1,111.12 ',
'-1111.115',
NumberFormat::FORMAT_CURRENCY_USD_SIMPLE,
],
[
'$-1,111.12 ',
'-1111.119',
NumberFormat::FORMAT_CURRENCY_USD_SIMPLE,
],
[
'$0 ',
'0',
NumberFormat::FORMAT_CURRENCY_USD,
],
[
'$1,000 ',
'1000',
NumberFormat::FORMAT_CURRENCY_USD,
],
[
'$1,111 ',
'1111.1',
NumberFormat::FORMAT_CURRENCY_USD,
],
[
'$1,111 ',
'1111.4',
NumberFormat::FORMAT_CURRENCY_USD,
],
[
'$1,112 ',
'1111.5',
NumberFormat::FORMAT_CURRENCY_USD,
],
[
'$1,112 ',
'1111.9',
NumberFormat::FORMAT_CURRENCY_USD,
],
[
'$0 ',
'-0',
NumberFormat::FORMAT_CURRENCY_USD,
],
[
'$-1,111 ',
'-1111',
NumberFormat::FORMAT_CURRENCY_USD,
],
[
'$-1,111 ',
'-1111.1',
NumberFormat::FORMAT_CURRENCY_USD,
],
[
'$-1,111 ',
'-1111.4',
NumberFormat::FORMAT_CURRENCY_USD,
],
[
'$-1,112 ',
'-1111.5',
NumberFormat::FORMAT_CURRENCY_USD,
],
[
'$-1,112 ',
'-1111.9',
NumberFormat::FORMAT_CURRENCY_USD,
],
[
'0.00 €',
'0',
NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE,
],
[
'1,000.00 €',
'1000',
NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE,
],
[
'1,111.11 €',
'1111.111',
NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE,
],
[
'1,111.11 €',
'1111.114',
NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE,
],
[
'1,111.12 €',
'1111.115',
NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE,
],
[
'1,111.12 €',
'1111.119',
NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE,
],
[
'0.00 €',
'-0',
NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE,
],
[
'-1,111.00 €',
'-1111',
NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE,
],
[
'-1,111.11 €',
'-1111.111',
NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE,
],
[
'-1,111.11 €',
'-1111.114',
NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE,
],
[
'-1,111.12 €',
'-1111.115',
NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE,
],
[
'-1,111.12 €',
'-1111.119',
NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE,
],
[
'0 €',
'0',
NumberFormat::FORMAT_CURRENCY_EUR,
],
[
'1,000 €',
'1000',
NumberFormat::FORMAT_CURRENCY_EUR,
],
[
'1,111 €',
'1111.1',
NumberFormat::FORMAT_CURRENCY_EUR,
],
[
'1,111 €',
'1111.4',
NumberFormat::FORMAT_CURRENCY_EUR,
],
[
'1,112 €',
'1111.5',
NumberFormat::FORMAT_CURRENCY_EUR,
],
[
'1,112 €',
'1111.9',
NumberFormat::FORMAT_CURRENCY_EUR,
],
[
'0 €',
'-0',
NumberFormat::FORMAT_CURRENCY_EUR,
],
[
'-1,111 €',
'-1111',
NumberFormat::FORMAT_CURRENCY_EUR,
],
[
'-1,111 €',
'-1111.1',
NumberFormat::FORMAT_CURRENCY_EUR,
],
[
'-1,111 €',
'-1111.4',
NumberFormat::FORMAT_CURRENCY_EUR,
],
[
'-1,112 €',
'-1111.5',
NumberFormat::FORMAT_CURRENCY_EUR,
],
[
'-1,112 €',
'-1111.9',
NumberFormat::FORMAT_CURRENCY_EUR,
],
[
' $ - ',
'0',
NumberFormat::FORMAT_ACCOUNTING_USD,
],
[
' $ 1,000.00 ',
'1000',
NumberFormat::FORMAT_ACCOUNTING_USD,
],
[
' $ 1,111.11 ',
'1111.111',
NumberFormat::FORMAT_ACCOUNTING_USD,
],
[
' $ 1,111.11 ',
'1111.114',
NumberFormat::FORMAT_ACCOUNTING_USD,
],
[
' $ 1,111.12 ',
'1111.115',
NumberFormat::FORMAT_ACCOUNTING_USD,
],
[
' $ 1,111.12 ',
'1111.119',
NumberFormat::FORMAT_ACCOUNTING_USD,
],
[
' $ - ',
'-0',
NumberFormat::FORMAT_ACCOUNTING_USD,
],
[
' $ (1,111.00)',
'-1111',
NumberFormat::FORMAT_ACCOUNTING_USD,
],
[
' $ (1,111.11)',
'-1111.111',
NumberFormat::FORMAT_ACCOUNTING_USD,
],
[
' $ (1,111.11)',
'-1111.114',
NumberFormat::FORMAT_ACCOUNTING_USD,
],
[
' $ (1,111.12)',
'-1111.115',
NumberFormat::FORMAT_ACCOUNTING_USD,
],
[
' $ (1,111.12)',
'-1111.119',
NumberFormat::FORMAT_ACCOUNTING_USD,
],
[
' € - ',
'0',
NumberFormat::FORMAT_ACCOUNTING_EUR,
],
[
' € 1,000.00 ',
'1000',
NumberFormat::FORMAT_ACCOUNTING_EUR,
],
[
' € 1,111.11 ',
'1111.111',
NumberFormat::FORMAT_ACCOUNTING_EUR,
],
[
' € 1,111.11 ',
'1111.114',
NumberFormat::FORMAT_ACCOUNTING_EUR,
],
[
' € 1,111.12 ',
'1111.115',
NumberFormat::FORMAT_ACCOUNTING_EUR,
],
[
' € 1,111.12 ',
'1111.119',
NumberFormat::FORMAT_ACCOUNTING_EUR,
],
[
' € - ',
'-0',
NumberFormat::FORMAT_ACCOUNTING_EUR,
],
[
' € (1,111.00)',
'-1111',
NumberFormat::FORMAT_ACCOUNTING_EUR,
],
[
' € (1,111.11)',
'-1111.111',
NumberFormat::FORMAT_ACCOUNTING_EUR,
],
[
' € (1,111.11)',
'-1111.114',
NumberFormat::FORMAT_ACCOUNTING_EUR,
],
[
' € (1,111.12)',
'-1111.115',
NumberFormat::FORMAT_ACCOUNTING_EUR,
],
[
' € (1,111.12)',
'-1111.119',
NumberFormat::FORMAT_ACCOUNTING_EUR,
],
]; ];