566 Commits

Author SHA1 Message Date
Zach Borboa 76e74fdc44 Improve and add tests for Curl::fastDownload() 2023-06-13 02:52:59 -07:00
Zach Borboa 2bb2f32087 Make method to display curl option value public 2023-06-12 20:27:16 -07:00
Zach Borboa bbf1e1417b Add test server support for specifying which requests fail and succeed 2023-06-12 19:31:49 -07:00
Zach Borboa 5427717469 Fix existing header overwritten after using MultiCurl::addCurl() 2023-06-08 19:18:32 -07:00
Zach Borboa 1b2e2d446f Return JSON from the retry test server endpoint 2023-06-03 04:50:41 -07:00
Zach Borboa c37bb58a48 Make function public 2023-05-23 20:35:36 -07:00
Zach Borboa 1c270272c8 Update Curl::diagnose() to detect bit flags with negative values 2023-05-20 13:32:44 -07:00
Zach Borboa 2a73070caf Run PHPCompatibility on PHP 7.2 and higher
Error message:

++ phpcs_to_use=vendor/bin/phpcs
++ vendor/bin/phpcs --version
PHP_CodeSniffer version 3.7.2 (stable) by Squiz (http://www.squiz.net)
++ vendor/bin/phpcs --extensions=php '--ignore=*/vendor/*' --standard=tests/ruleset.xml -p -s .
W...........................................................  60 / 116 (52%)
........................................................     116 / 116 (100%)

FILE: ...me/runner/work/php-curl-class/php-curl-class/examples/custom.php
----------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
----------------------------------------------------------------------
 1 | WARNING | IMPORTANT: Please be advised that for the most
   |         | reliable PHPCompatibility results, PHP 7.2 or higher
   |         | should be used. Support for lower versions will be
   |         | dropped in the foreseeable future. You are currently
   |         | using PHP 7.0.33-65+ubuntu22.04.1+deb.sury.org+1.
   |         | Please upgrade your PHP installation to version 7.2 or
   |         | higher.
   |         |
   |         | To disable this notice, add
   |         | --exclude=PHPCompatibility.Upgrade.LowPHP to your
   |         | command or add <exclude
   |         | name="PHPCompatibility.Upgrade.LowPHP.BelowRecommended_7_2"/>
   |         | to your custom ruleset.
   |         |
   |         | Thank you for using PHPCompatibility!
   |         | (PHPCompatibility.Upgrade.LowPHP.BelowRecommended_7_2)
----------------------------------------------------------------------
2023-05-20 10:41:23 -07:00
Zach Borboa a304084a61 Display bit flags in use when calling Curl::diagnose()
This change attempts to determine which underlying constants were
bitmasked together to reach the resulting value passed to curl_setopt()
using Curl::setOpt().
2023-05-18 16:11:07 -07:00
Zach Borboa f7b216a3d9 Fix #777: Handle missing content-type response header in Curl::diagnose() 2023-05-15 19:33:59 -07:00
Zach Borboa 5b39126488 Update article in Curl::diagnose() Allow header warning 2023-05-07 02:50:08 -07:00
Zach Borboa dfdd2f5fb0 Remove use of array_merge() inside loop 2023-03-11 05:01:00 -08:00
Zach Borboa 3971c2f081 Fix sed portability 2023-03-10 04:31:11 -08:00
Zach Borboa 4133006c9f Remove coding standard ruleset exclusion 2023-02-26 12:07:58 -08:00
Zach Borboa 1aa3f87115 Replace some private method names not in camel caps format 2023-02-26 12:07:58 -08:00
Zach Borboa c6256e31b3 Remove coding standard ruleset exclusion 2023-02-26 12:07:58 -08:00
Zach Borboa d4af343164 Add emits warning test for PHPUnit 10 2023-02-17 21:32:20 -08:00
Zach Borboa 10ead55ca4 Fail on risky tests
Catch the following:
  There was 1 risky test:

  1) CurlTest\PHPCurlClassTest::testRequiredOptionCurlOptReturnTransferEmitsWarning
  This test did not perform any assertions

  /home/runner/work/php-curl-class/php-curl-class/tests/PHPCurlClass/PHPCurlClassTest.php:3097
2023-02-17 20:21:54 -08:00
Zach Borboa 4ed7644250 Update tests to work with PHPUnit 10 2023-02-17 19:31:41 -08:00
Zach Borboa acf5443a68 Fix sed command portability
Error messages:
    $ sed -i'' '-e/->expectWarning(/d' ./PHPCurlClass/PHPCurlClassTest.php ./PHPCurlClass/PHPMultiCurlClassTest.php
    sed: 1: "./PHPCurlClass/PHPCurlC ...": invalid command code .

    + phpunit_v10_shim
    + remove_expectWarning
    + sed -i '' '-e/->expectWarning(/d' ./PHPCurlClass/PHPCurlClassTest.php ./PHPCurlClass/PHPMultiCurlClassTest.php
    sed: can't read : No such file or directory
2023-02-17 19:29:22 -08:00
Zach Borboa bcf3c1ad33 Remove --verbose option removed in PHPUnit 10
Error:
  + ../vendor/bin/phpunit --configuration phpunit.xml --verbose
  PHPUnit 10.0.1 by Sebastian Bergmann and contributors.

  Unknown option "--verbose"
2023-02-03 17:24:13 -08:00
Zach Borboa 43e666de0f Remove --debug option removed in PHPUnit 10 for continuous integration tests
Error:
  + ../vendor/bin/phpunit --configuration phpunit.xml --debug --verbose
  PHPUnit 10.0.1 by Sebastian Bergmann and contributors.

  Unknown option "--debug"
2023-02-03 17:16:17 -08:00
Zach Borboa 08850b1a90 Remove --debug option removed in PHPUnit 10
Error:
  + ../vendor/bin/phpunit --configuration phpunit.xml --debug --verbose
  PHPUnit 10.0.1 by Sebastian Bergmann and contributors.

  Unknown option "--debug"
2023-02-03 17:04:12 -08:00
Zach Borboa 99bd995288 Format response header type notice as sentence 2023-01-26 16:58:45 -08:00
Zach Borboa f6ed305633 Clean up 2023-01-15 19:09:34 -08:00
Zach Borboa b41168b89b Clean up 2023-01-15 13:28:04 -08:00
Zach Borboa 673564609a Add tests for using CURLStringFile 2023-01-15 13:28:04 -08:00
Zach Borboa b6b3800dfa Fix psalm UndefinedClass error
Message:
    ERROR: UndefinedClass - ../src/Curl/ArrayUtil.php:96:87 - Class, interface or enum named CURLStringFile does not exist (see https://psalm.dev/019)
        } elseif (class_exists('CURLStringFile') && $value instanceof \CURLStringFile) {
2023-01-15 13:28:04 -08:00
Zach Borboa de7751b4e1 Add additional test cases for Curl::diagnose() 2023-01-13 05:42:29 -08:00
Zach Borboa 85794dacbe Display error messages found in Curl::diagnose() 2023-01-12 07:25:24 -08:00
Zach Borboa d40c3b3cb1 Fix Curl::diagnose() request type output for POST requests 2023-01-12 06:47:36 -08:00
Zach Borboa b20f535f7c Replace use of #[\AllowDynamicProperties] 2023-01-10 13:18:26 -08:00
Michael Bolli 95f4aac970 silence PHP 8.2 deprecation notices 2023-01-10 10:27:19 +01:00
Zach Borboa 5b388dd4dd Add script to run static analysis checks 2022-12-16 05:14:40 -08:00
Zach Borboa 3cfe83b222 Move static analysis config under tests/ and exclude from git archive 2022-12-16 04:03:56 -08:00
Zach Borboa d8ed09f266 Fix #747: Ensure string response before gzip decode 2022-12-12 05:53:53 -08:00
Zach Borboa c5a471ff2d Add assertions for response content type and content encoding 2022-12-10 11:50:37 -08:00
Zach Borboa 1f06b2c2a0 Fix #747: Disable warning when gzip-decoding response errors 2022-12-10 08:15:18 -08:00
Zach Borboa 7b07ab5166 Add automatic gzip decoding of response (#740) 2022-12-05 18:41:56 -08:00
Zach Borboa b86aca6f74 Add Curl::diagnose() HTTP method check matches methods allowed 2022-12-04 13:09:07 -08:00
Zach Borboa 4fb8e2867f Display request options in Curl::diagnose() output
Request options are now displayed when Curl::diagnose() is called and a
deferred constant curlOptionCodeConstants has been added.
2022-11-05 15:27:09 -07:00
Zach Borboa 99795d1d69 Fix MultiCurl::setCookieString() 2022-11-05 14:43:21 -07:00
Zach Borboa cb6a0e83e6 Pass MultiCurl options to new Curl instances earlier
Fix setting of options by passing of MultiCurl options to new Curl
instances earlier. Set options during the Curl initialization instead of
waiting until the request instance is configured in
MultiCurl::initHandle().
2022-11-05 13:48:30 -07:00
Zach Borboa 5bfe59109a Add files to run PHP 8.1 tests inside a docker container 2022-09-30 19:39:50 -07:00
Zach Borboa f66b365896 Allow running script from outside the script directory 2022-09-29 19:12:16 -07:00
Zach Borboa 7bce4bfcd5 Add script for running test suite while skipping slow tests 2022-09-28 14:54:23 -07:00
Zach Borboa 8666fc38fb Add exclusion to fix incorrectly flagged error
Error message:

    FILE: ...lass/php-curl-class/tests/PHPCurlClass/PHPMultiCurlClassTest.php
    ----------------------------------------------------------------------
    FOUND 8 ERRORS AFFECTING 8 LINES
    ----------------------------------------------------------------------
    3575 | ERROR | list() will assign variable from left-to-right since
        |       | PHP 7.0. Ensure all variables in list() are unique to
        |       | prevent unexpected results.
        |       | (PHPCompatibility.Lists.AssignmentOrder.Affected)
    [...]
    ----------------------------------------------------------------------
2022-09-23 10:15:20 -07:00
Zach Borboa 3ddc22e590 Fix installed_paths config for PHPCS23Utils
Fixes error:
    $ ./tests/check_coding_standards.sh
    PHP_CodeSniffer version 3.7.1 (stable) by Squiz (http://www.squiz.net)
    ERROR: Referenced sniff "PHPCS23Utils" does not exist

    Run "phpcs --help" for usage information

    Error: found standard violation(s)
2022-09-23 08:25:55 -07:00
Zach Borboa 6ce21bb755 Update PHPCompatibility
Comment out installed_paths config to fix error:

    $ ./tests/check_coding_standards.sh
    PHP_CodeSniffer version 3.7.1 (stable) by Squiz (http://www.squiz.net)
    ERROR: Referenced sniff "PHPCS23Utils" does not exist

    Run "phpcs --help" for usage information

    Error: found standard violation(s)
2022-09-23 07:59:39 -07:00
Zach Borboa 3ff53bfbdf Replace egrep with grep --extended-regexp' (grep -E')
Warning message:
    egrep: warning: egrep is obsolescent; using grep -E
2022-09-23 07:14:56 -07:00