Commit Graph

4462 Commits

Author SHA1 Message Date
oleibman d620497511 Merge pull request #3893 from oleibman/stanarray2
Phpstan Fixes
2024-02-07 17:44:53 +00:00
oleibman 3512304974 Merge pull request #3897 from oleibman/round84
Floating Point and Php Nightly 8.4
2024-02-07 17:32:00 +00:00
oleibman e4ce0ea8f8 Floating Point and Php Nightly 8.4
Fix #3896. It appears that floating-point arithmetic will give different results in Php 8.4 vs. all earlier releases. This causes tests to fail in the nightly run for ROUNDDOWN, ROUNDUP, and AMORDEGRC. I imagine this won't be the last we hear of this. The failures are a distraction when reviewing PR's. This PR eliminates the distraction by adding in a fudge factor for Php 8.4+ while not changing Php 8.3-. It is not a particularly robust solution, but it should be stable for Php 8.3-, and good enough for Php 8.4+ while I study if a better solution is available.
2024-02-06 12:04:58 -08:00
oleibman 101a31bc24 Phpstan Fixes
Reduce baseline.neon to a single entry.
2024-02-04 20:26:29 -08:00
oleibman d767ee1015 Merge pull request #3892 from oleibman/reorgsamples2
Reorganize Samples Part 2
2024-02-04 21:29:35 +00:00
oleibman 5266086781 Reorganize Samples Part 2
Further reorganization following on PR #3890.
2024-02-04 10:29:41 -08:00
oleibman a444d1c41f Merge pull request #3891 from oleibman/stanarray
Phpstan and ArrayEnabled
2024-02-04 07:11:15 +00:00
oleibman c2f9af660c Merge pull request #3890 from oleibman/reorgsamples
Reorganize Samples
2024-02-04 06:51:23 +00:00
oleibman 6b4cbf1f68 Phpstan and ArrayEnabled
Phpstan baseline had been reduced to almost nothing, but recently had a big bump in size. Almost all of the increase was due to trait ArrayEnabled, which is easily recoded to avoid the problems.
2024-02-03 22:16:16 -08:00
oleibman 17845d8e06 Merge Conflict 2024-02-03 07:31:48 -08:00
oleibman b3de003aa5 Reorganize Samples
The samples have become unwieldy when running them from a browser. In particular, the drop-down lists are fixed size with no scrolling, and many of them are now just too large. I have moved all the Calculation samples up a level, and broken several categories (Basic, Chart, DateTime, Engineering, Financial, and Reader) into several pieces.

Convert-Online (now found in the Engineering category) had a number of different problems which are now resolved. It is the only member with any significant code change.
2024-02-03 07:25:29 -08:00
oleibman ec5e66479d Merge pull request #3888 from TobiasBg/patch-1
Fix spelling of `Xlxs` in class names
2024-02-02 20:38:56 +00:00
Tobias Bäthge 80843f5cff Fix spelling of Xlxs in class names
While not making a functional difference, it's nice to follow naming conventions.

This was discovered when reviewing https://github.com/PHPOffice/PhpSpreadsheet/pull/3887/files#diff-923ac4c5046834ceb5d9bbf617347caa125bbf85f29c62e36ed87d1fe99dd4ea.
2024-02-02 19:23:40 +01:00
oleibman 22f4d6ee17 Merge pull request #3887 from oleibman/updatefixer
Php-cs-fixer Changes
2024-02-01 19:41:59 +00:00
oleibman 84cc3b560f Php-cs-fixer Changes
Its latest update added some new stringencies, resulting in 62 messages. Used `composer fix` to take care of them.
2024-02-01 11:26:22 -08:00
oleibman d93c07bf67 Merge pull request #3885 from PHPOffice/dependabot/composer/phpstan/phpstan-1.10.57
Bump phpstan/phpstan from 1.10.50 to 1.10.57
2024-02-01 17:27:45 +00:00
oleibman 847f39f009 Merge pull request #3884 from PHPOffice/dependabot/composer/phpunit/phpunit-9.6.16
Bump phpunit/phpunit from 9.6.15 to 9.6.16
2024-02-01 17:12:01 +00:00
oleibman f6ac28d838 Merge pull request #3886 from PHPOffice/dependabot/composer/squizlabs/php_codesniffer-3.8.1
Bump squizlabs/php_codesniffer from 3.8.0 to 3.8.1
2024-02-01 17:11:19 +00:00
oleibman ba4ecd17be Merge pull request #3882 from PHPOffice/dependabot/composer/mitoteam/jpgraph-10.4.1
Bump mitoteam/jpgraph from 10.3.2 to 10.4.1
2024-02-01 17:10:04 +00:00
dependabot[bot] 4e4a35b87a Bump squizlabs/php_codesniffer from 3.8.0 to 3.8.1
Bumps [squizlabs/php_codesniffer](https://github.com/PHPCSStandards/PHP_CodeSniffer) from 3.8.0 to 3.8.1.
- [Release notes](https://github.com/PHPCSStandards/PHP_CodeSniffer/releases)
- [Changelog](https://github.com/PHPCSStandards/PHP_CodeSniffer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/PHPCSStandards/PHP_CodeSniffer/compare/3.8.0...3.8.1)

---
updated-dependencies:
- dependency-name: squizlabs/php_codesniffer
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-01 11:42:53 +00:00
dependabot[bot] 09b11453b5 Bump phpstan/phpstan from 1.10.50 to 1.10.57
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan) from 1.10.50 to 1.10.57.
- [Release notes](https://github.com/phpstan/phpstan/releases)
- [Changelog](https://github.com/phpstan/phpstan/blob/1.11.x/CHANGELOG.md)
- [Commits](https://github.com/phpstan/phpstan/compare/1.10.50...1.10.57)

---
updated-dependencies:
- dependency-name: phpstan/phpstan
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-01 11:42:43 +00:00
dependabot[bot] 09cce8ce1b Bump phpunit/phpunit from 9.6.15 to 9.6.16
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.15 to 9.6.16.
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/9.6.16/ChangeLog-9.6.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.15...9.6.16)

---
updated-dependencies:
- dependency-name: phpunit/phpunit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-01 11:42:31 +00:00
dependabot[bot] 95e354ed77 Bump mitoteam/jpgraph from 10.3.2 to 10.4.1
Bumps [mitoteam/jpgraph](https://github.com/mitoteam/jpgraph) from 10.3.2 to 10.4.1.
- [Release notes](https://github.com/mitoteam/jpgraph/releases)
- [Commits](https://github.com/mitoteam/jpgraph/compare/v10.3.2...10.4.1)

---
updated-dependencies:
- dependency-name: mitoteam/jpgraph
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-01 11:41:59 +00:00
oleibman a5e47f2b3c Merge pull request #3879 from oleibman/emptyarginif
IF Empty Arguments
2024-01-28 16:16:35 +00:00
oleibman e1bcab6ca9 IF Empty Arguments
Fix #3875. Even better, fix #2146, which has been open for 2.5 years.

Empty arguments are improperly placed on the stack; in particular, they are added without `onlyIf` and `onlyIfNot` attributes.This results in problems described in 3875.

IF has a somewhat unexpected design. In Excel, `IF(false, valueIfTrue)` evaluates as `false`, but `IF(false, valueIfTrue,)` evaluates as 0. This means that IF empty arguments should be handled in the same manner as MIN/MAX/MINA/MAXA, but you need to be careful to distinguish empty from omitted.

Also note that IF requires 2 operands - `IF(true)` is an error, but `IF(true,)` evaluates to 0.
2024-01-27 07:34:37 -08:00
Adrien Crivelli 4a77798f83 2.0.0 2.0.0 2024-01-24 18:41:42 +08:00
oleibman 570c86f950 Merge pull request #3869 from oleibman/bit32b
Fixes for 32-bit
2024-01-23 04:35:24 +00:00
oleibman 132c374f41 Merge branch 'master' into bit32b 2024-01-22 14:24:42 -08:00
Adrien Crivelli a83e9fb70c Merge pull request #3873 from PHPOffice/powerkiki
Remove all `mixed` in param type where reasonable (except Calculcation/)
2024-01-22 15:45:15 +00:00
Adrien Crivelli b9901c3de3 Describe breaking changes 2024-01-22 23:42:49 +08:00
Adrien Crivelli 3dce900eff Typed coordinate and range parameters 2024-01-22 23:26:04 +08:00
Adrien Crivelli ad9fe0a13b Remove all mixed in param type where reasonable (except Calculcation/) 2024-01-22 22:59:24 +08:00
Adrien Crivelli 5faaf26e75 Merge pull request #3872 from PHPOffice/powerkiki
Remove all `mixed` in return type where possible
2024-01-22 01:03:08 +00:00
Adrien Crivelli 013e5ccb73 Remove all mixed in return type where possible 2024-01-22 08:59:42 +08:00
oleibman 936805a6ab Merge pull request #3871 from oleibman/mixedsamples
Eliminate Some "Mixed" Variables in Samples
2024-01-21 06:53:05 +00:00
oleibman d6e4f4c19c Merge branch 'master' into mixedsamples 2024-01-20 16:42:46 -08:00
oleibman 641f86dc80 Eliminate Some "Mixed" Variables in Samples
A continuation of PR #3859. Change code that would be flagged if we were to run Phpstan at level 9 (we currently run level 8). I may or may not follow up with source code (454 level-9 problems remain for src), but there is no reason to avoid the effort for samples.

No changes are made to src.
2024-01-20 16:39:23 -08:00
oleibman 0824fd5f37 Merge pull request #3868 from oleibman/issue3866
Excel Inconsistent Handling of Empty Argument MIN/MAX/MINA/MAXA
2024-01-21 00:36:49 +00:00
oleibman b5e3ca346d Update CHANGELOG.md 2024-01-20 16:28:05 -08:00
oleibman 6ecd141b02 Merge branch 'master' into issue3866 2024-01-20 16:15:01 -08:00
oleibman 73ee354d00 Update MissingArgumentsTest.php
Misplaced "middle missing" argument.
2024-01-16 15:45:28 -08:00
oleibman 5cfe66e18f Fixes for 32-bit
I check from time to time. There are a number of problems now, mostly due to the elimination of Php 7.4 and replacement of doc-block typing with explicit Php typing.
- Bitwise functions were particularly affected by PR #3718 and PR #3793.
- Chart/Axis and Writer/Xlsx were amusingly affected by PR #3836, which added a scaling option which included an array indexed by the known allowable factors, one of which is 1 trillion, which cannot be represented as an integer on a 32-bit system. Issue3833Test, introduced by the same PR (and not suffering any errors) was expanded to test this value.
- Some minor changes to Reader/Xls and Shared/OLE/PPS to accommodate hex values which are negative in 32-bit but which Php-32 may wind up casting to large floating point numbers; it is not clear to me why these hadn't shown up as problems previously. Possibly this is the result of changes in the most recent Php versions.
- BitAndTest, BitOrTest, BitXorTest and Shared/DateTest were adversely affected by PR #3859 when arguments and/or expected results too large for a 32-bit integer were supplied.
- ImExpTest required a slightly reduced precision for 32-bit. No idea why this hadn't shown up earlier.
2024-01-16 13:09:57 -08:00
oleibman 0d6673dd8a Excel Inconsistent Handling of Empty Argument MIN/MAX/MINA/MAXA
Fix #3866. Excel normally treats a missing argument (e.g. `PRODUCT(2,3,)`) as null and ignores it. Not so for MIN/MAX/MINA/MAXA; for those, an empty argument is treated as zero. PhpSpreadsheet is changed to do the same.
2024-01-15 07:56:01 -08:00
oleibman d50b8b5de7 Merge pull request #3856 from oleibman/issue3687
Use Less Space When Inserting Rows and Columns
2024-01-13 16:41:10 +00:00
oleibman 57c6d12e19 Update CHANGELOG.md 2024-01-13 08:38:23 -08:00
oleibman bcd55ef1d3 Merge branch 'master' into issue3687 2024-01-13 07:48:53 -08:00
oleibman bd68ec71ef Merge pull request #3865 from oleibman/issue3863
Excel Omits `Between` Operator for Data Validation
2024-01-12 07:55:23 +00:00
oleibman 3bf77c48df Update CHANGELOG.md 2024-01-11 23:25:44 -08:00
oleibman 3b7c1f6205 Merge branch 'master' into issue3863 2024-01-11 23:22:56 -08:00
oleibman 9e89c36c97 Excel Omits Between Operator for Data Validation
Fix #3863. Data Validation default operator is `between`. When Excel writes out a data validation item, it may omit the operator. Xlsx reader will therefore initialize operator to null string. Issue indicates that user wants `between` returned for `getOperator`. A more serious problem is that `isValid` method does not handle this situation correctly. Data Validation is changed to set Operator to the default value if an attempt is made to set it to null string.
2024-01-11 23:03:55 -08:00