Merge pull request #257 from cryptounifier/php-80-test-passing

Support PHP 8.0
This commit is contained in:
Peter Lai 2022-03-06 19:26:51 -08:00 committed by GitHub
commit 2eafffbbe5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
57 changed files with 87 additions and 67 deletions

View File

@ -1,13 +1,13 @@
name: PHP
on: ["push", "pull_request"]
on: ["push", "pull_request", "workflow_dispatch"]
jobs:
build_and_test:
name: Build and test web3.php with ${{ matrix.php-version }}
strategy:
matrix:
php-version: ["7.3", "7.4"]
php-version: ["7.3", "7.4", "8.0"]
runs-on: ubuntu-latest

View File

@ -11,13 +11,13 @@
],
"require": {
"guzzlehttp/guzzle": "^6.3|^7.0",
"PHP": "^7.1",
"PHP": "^7.2|^8.0",
"kornrunner/keccak": "~1.0",
"phpseclib/phpseclib": "~2.0.11",
"phpseclib/phpseclib": "~2.0.30",
"ext-mbstring": "*"
},
"require-dev": {
"phpunit/phpunit": "~6.0"
"phpunit/phpunit": "~8.0|~9.0"
},
"autoload": {
"psr-4": {

23
docker/php/Dockerfile-80 Normal file
View File

@ -0,0 +1,23 @@
FROM php:8.0-alpine
MAINTAINER Peter Lai <alk03073135@gmail.com>
COPY composer-setup.php composer-setup.php
# COPY php.ini-production $PHP_INI_DIR/php.ini
RUN apk update && \
apk add git
# Install gmp
Run apk add gmp-dev && \
docker-php-ext-install gmp
# Install nodejs
# Run apk add --update nodejs nodejs-npm
# Install composer
RUN php composer-setup.php && \
php composer-setup.php --install-dir=/usr/bin --filename=composer && \
php -r "unlink('composer-setup.php');"
WORKDIR /app

View File

@ -7,8 +7,7 @@
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
syntaxCheck="false">
stopOnFailure="false">
<testsuite name="Web3.php unit test">
<directory suffix="Test.php">./test/unit</directory>

View File

@ -529,7 +529,7 @@ class Utils
$number = str_replace('-', '', $number, $count);
$negative1 = new BigNumber(-1);
}
if (self::isZeroPrefixed($number) || preg_match('/[a-f]+/', $number) === 1) {
if (self::isZeroPrefixed($number) || preg_match('/^[0-9a-f]+$/i', $number) === 1) {
$number = self::stripZero($number);
$bn = new BigNumber($number, 16);
} elseif (empty($number)) {

View File

@ -37,10 +37,8 @@ class TestCase extends BaseTestCase
/**
* setUp
*
* @return void
*/
public function setUp()
public function setUp(): void
{
$web3 = new Web3($this->testHost);
$this->web3 = $web3;
@ -55,8 +53,6 @@ class TestCase extends BaseTestCase
/**
* tearDown
*
* @return void
*/
public function tearDown() {}
public function tearDown(): void {}
}

View File

@ -19,7 +19,7 @@ class AddressFormatterTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->formatter = new AddressFormatter;

View File

@ -47,7 +47,7 @@ class AddressTypeTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->solidityType = new Address;

View File

@ -19,7 +19,7 @@ class AddressValidatorTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->validator = new AddressValidator;

View File

@ -20,7 +20,7 @@ class BigNumberFormatterTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->formatter = new BigNumberFormatter;

View File

@ -19,7 +19,7 @@ class BlockHashValidatorTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->validator = new BlockHashValidator;

View File

@ -20,7 +20,7 @@ class BooleanFormatterTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->formatter = new BooleanFormatter;

View File

@ -47,7 +47,7 @@ class BooleanTypeTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->solidityType = new Boolean;

View File

@ -19,7 +19,7 @@ class BooleanValidatorTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->validator = new BooleanValidator;

View File

@ -53,7 +53,7 @@ class BytesTypeTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->solidityType = new Bytes;

View File

@ -19,7 +19,7 @@ class CallValidatorTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->validator = new CallValidator;

View File

@ -412,7 +412,7 @@ class ContractTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();

View File

@ -53,7 +53,7 @@ class DynamicBytesTypeTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->solidityType = new DynamicBytes;

View File

@ -21,7 +21,7 @@ class EthApiTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();

View File

@ -20,7 +20,7 @@ class EthBatchTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();

View File

@ -23,7 +23,7 @@ class EthTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();

View File

@ -163,7 +163,7 @@ class EthabiTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
// Error: Using $this when not in object context

View File

@ -19,7 +19,7 @@ class FilterValidatorTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->validator = new FilterValidator;

View File

@ -19,7 +19,7 @@ class HexFormatterTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->formatter = new HexFormatter;

View File

@ -19,7 +19,7 @@ class HexValidatorTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->validator = new HexValidator;

View File

@ -19,7 +19,7 @@ class IdentityValidatorTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->validator = new IdentityValidator;

View File

@ -19,7 +19,7 @@ class IntegerFormatterTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->formatter = new IntegerFormatter;

View File

@ -53,7 +53,7 @@ class IntegerTypeTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->solidityType = new Integer;

View File

@ -21,7 +21,7 @@ class NetApiTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();

View File

@ -20,7 +20,7 @@ class NetBatchTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();

View File

@ -23,7 +23,7 @@ class NetTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();

View File

@ -19,7 +19,7 @@ class NonceValidatorTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->validator = new NonceValidator;

View File

@ -19,7 +19,7 @@ class NumberFormatterTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->formatter = new NumberFormatter;

View File

@ -19,7 +19,7 @@ class OptionalQuantityFormatterTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->formatter = new OptionalQuantityFormatter;
@ -55,6 +55,8 @@ class OptionalQuantityFormatterTest extends TestCase
$this->assertEquals('latest', $formatter->format('latest'));
$this->assertEquals('earliest', $formatter->format('earliest'));
$this->assertEquals('pending', $formatter->format('pending'));
$this->assertEquals('0x0', $formatter->format('hello'));
$this->expectExceptionMessage('toBn number must be valid hex string.');
$formatter->format('hello');
}
}

View File

@ -27,7 +27,7 @@ class PersonalApiTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();

View File

@ -19,7 +19,7 @@ class PersonalBatchTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();

View File

@ -23,7 +23,7 @@ class PersonalTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();

View File

@ -19,7 +19,7 @@ class PostFormatterTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->formatter = new PostFormatter;

View File

@ -19,7 +19,7 @@ class PostValidatorTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->validator = new PostValidator;

View File

@ -19,7 +19,7 @@ class QuantityFormatterTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->formatter = new QuantityFormatter;

View File

@ -19,7 +19,7 @@ class QuantityValidatorTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->validator = new QuantityValidator;

View File

@ -21,7 +21,7 @@ class ShhApiTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();

View File

@ -19,7 +19,7 @@ class ShhBatchTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();

View File

@ -19,7 +19,7 @@ class ShhFilterValidatorTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->validator = new ShhFilterValidator;

View File

@ -23,7 +23,7 @@ class ShhTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();

View File

@ -20,7 +20,7 @@ class SolidityTypeTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->type = new SolidityType();

View File

@ -47,7 +47,7 @@ class StrTypeTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->solidityType = new Str;

View File

@ -19,7 +19,7 @@ class StringFormatterTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->formatter = new StringFormatter;

View File

@ -19,7 +19,7 @@ class StringValidatorTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->validator = new StringValidator;

View File

@ -19,7 +19,7 @@ class TagValidatorTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->validator = new TagValidator;

View File

@ -19,7 +19,7 @@ class TransactionFormatterTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->formatter = new TransactionFormatter;

View File

@ -19,7 +19,7 @@ class TransactionValidatorTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->validator = new TransactionValidator;

View File

@ -53,7 +53,7 @@ class UintegerTypeTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
$this->solidityType = new Uinteger;

View File

@ -137,7 +137,7 @@ class UtilsTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
}

View File

@ -29,7 +29,7 @@ class Web3ApiTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
}

View File

@ -28,7 +28,7 @@ class Web3BatchTest extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
}

View File

@ -37,7 +37,7 @@ class Web3Test extends TestCase
*
* @return void
*/
public function setUp()
public function setUp(): void
{
parent::setUp();
}