HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhost/disk-apps/dev-beg.teky.com.co/vendor/aws/aws-crt-php/tests/CrcTest.php
<?php
/**
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * SPDX-License-Identifier: Apache-2.0.
 */
use AWS\CRT\CRT;

require_once('common.inc');

final class CrcTest extends CrtTestCase {

    public function testCrc32ZeroesOneShot() {
        $input = implode(array_map("chr", array_fill(0, 32, 0)));
        $output = CRT::crc32($input);
        $expected = 0x190A55AD;
        $this->assertEquals($output, $expected);
    }

    public function testCrc32ZeroesIterated() {
        $output = 0;
        for ($i = 0; $i < 32; $i++) {
            $output = CRT::crc32("\x00", $output);
        }
        $expected = 0x190A55AD;
        $this->assertEquals($output, $expected);
    }

    public function testCrc32ValuesOneShot() {
        $input = implode(array_map("chr", range(0, 31)));
        $output = CRT::crc32($input);
        $expected = 0x91267E8A;
        $this->assertEquals($output, $expected);
    }

    public function testCrc32ValuesIterated() {
        $output = 0;
        foreach (range(0, 31) as $n) {
            $output = CRT::crc32(chr($n), $output);
        }
        $expected = 0x91267E8A;
        $this->assertEquals($output, $expected);
    }

    public function testCrc32LargeBuffer() {
        $input = implode(array_map("chr", array_fill(0, 1 << 20, 0)));
        $output = CRT::crc32($input);
        $expected = 0xA738EA1C;
        $this->assertEquals($output, $expected);
    }

    public function testCrc32cZeroesOneShot() {
        $input = implode(array_map("chr", array_fill(0, 32, 0)));
        $output = CRT::crc32c($input);
        $expected = 0x8A9136AA;
        $this->assertEquals($output, $expected);
    }

    public function testCrc32cZeroesIterated() {
        $output = 0;
        for ($i = 0; $i < 32; $i++) {
            $output = CRT::crc32c("\x00", $output);
        }
        $expected = 0x8A9136AA;
        $this->assertEquals($output, $expected);
    }

    public function testCrc32cValuesOneShot() {
        $input = implode(array_map("chr", range(0, 31)));
        $output = CRT::crc32c($input);
        $expected = 0x46DD794E;
        $this->assertEquals($output, $expected);
    }

    public function testCrc32cValuesIterated() {
        $output = 0;
        foreach (range(0, 31) as $n) {
            $output = CRT::crc32c(chr($n), $output);
        }
        $expected = 0x46DD794E;
        $this->assertEquals($output, $expected);
    }

    public function testCrc32cLargeBuffer() {
        $input = implode(array_map("chr", array_fill(0, 1 << 20, 0)));
        $output = CRT::crc32c($input);
        $expected = 0x14298C12;
        $this->assertEquals($output, $expected);
    }
    
}