Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 54 additions & 12 deletions .github/workflows/run-tests.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,61 @@
name: Laravel
name: run-tests

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

types: [ready_for_review, synchronize]
paths:
- '**.php'
- '.github/workflows/run-tests.yml'
- 'phpunit.xml.dist'
- 'composer.json'
- 'composer.lock'
jobs:
laravel-tests:
test:
runs-on: ${{ matrix.os }}
timeout-minutes: 5
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest, windows-latest]
php: [8.5, 8.4, 8.3, 8.2]
laravel: [12.*, 13.*]
stability: [prefer-stable]
exclude:
- laravel: 13.*
php: 8.2
include:
- laravel: 12.*
testbench: 10.*
carbon: ^3.0
- laravel: 13.*
testbench: 11.*
carbon: ^3.0

runs-on: ubuntu-latest
name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.stability }} - ${{ matrix.os }}

steps:
- uses: actions/checkout@v2
- name: Install Dependencies
run: composer install -q --no-ansi --no-interaction --no-scripts --no-suggest --no-progress --prefer-dist
- name: Execute tests (Unit and Feature tests) via PHPUnit
run: vendor/bin/phpunit
- name: Checkout code
uses: actions/checkout@v6

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, imagick, fileinfo
coverage: none

- name: Setup problem matchers
run: |
echo "::add-matcher::${{ runner.tool_cache }}/php.json"
echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"

- name: Install dependencies
run: |
composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" "nesbot/carbon:${{ matrix.os == 'windows-latest' && '^^^' || '' }}${{ matrix.carbon }}" --no-interaction --no-update
composer update --${{ matrix.stability }} --prefer-dist --no-interaction

- name: List Installed Dependencies
run: composer show -D

- name: Execute tests
run: vendor/bin/phpunit
45 changes: 12 additions & 33 deletions tests/Filters/CastTest.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php

use BinaryCats\Sanitizer\Sanitizer;
use PHPUnit\Framework\Attributes\Test;
use PHPUnit\Framework\TestCase;

class CastTest extends TestCase
Expand All @@ -17,67 +18,53 @@ public function sanitize($data, $rules)
return $sanitizer->sanitize();
}

/**
* @test
*/
#[Test]
public function it_throws_exception_when_no_cast_type_is_set()
{
$this->expectException(\InvalidArgumentException::class);
$this->sanitize(['name' => 'Name'], ['name' => 'cast']);
}

/**
* @test
*/
#[Test]
public function it_throws_exception_when_non_existing_cast_type_is_set()
{
$this->expectException(\InvalidArgumentException::class);
$this->sanitize(['name' => 'Name'], ['name' => 'cast:bullshit']);
}

/**
* @test
*/
#[Test]
public function it_casts_to_integer()
{
$results = $this->sanitize(['var' => '15.6'], ['var' => 'cast:integer']);
$this->assertIsInt($results['var']);
$this->assertEquals(15, $results['var']);
}

/**
* @test
*/
#[Test]
public function it_casts_to_float()
{
$results = $this->sanitize(['var' => '15.6'], ['var' => 'cast:double']);
$this->assertIsFloat($results['var']);
$this->assertEquals(15.6, $results['var']);
}

/**
* @test
*/
#[Test]
public function it_casts_to_string()
{
$results = $this->sanitize(['var' => 15], ['var' => 'cast:string']);
$this->assertIsString($results['var']);
$this->assertEquals('15', $results['var']);
}

/**
* @test
*/
#[Test]
public function it_casts_to_boolean()
{
$results = $this->sanitize(['var' => 15], ['var' => 'cast:boolean']);
$this->assertIsBool($results['var']);
$this->assertEquals(true, $results['var']);
}

/**
* @test
*/
#[Test]
public function it_casts_array_to_object()
{
$data = [
Expand All @@ -91,9 +78,7 @@ public function it_casts_array_to_object()
$this->assertEquals(15.6, $results['var']->cost);
}

/**
* @test
*/
#[Test]
public function it_casts_json_to_object()
{
$data = [
Expand All @@ -107,9 +92,7 @@ public function it_casts_json_to_object()
$this->assertEquals(15.6, $results['var']->cost);
}

/**
* @test
*/
#[Test]
public function it_casts_json_to_array()
{
$data = [
Expand All @@ -123,9 +106,7 @@ public function it_casts_json_to_array()
$this->assertEquals(15.6, $results['var']['cost']);
}

/**
* @test
*/
#[Test]
public function it_casts_array_to_collection()
{
$data = [
Expand All @@ -138,9 +119,7 @@ public function it_casts_array_to_collection()
$this->assertEquals('Name', $results['var']->first());
}

/**
* @test
*/
#[Test]
public function it_casts_json_to_collection()
{
$data = [
Expand Down
9 changes: 3 additions & 6 deletions tests/Filters/DigitTest.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php

use BinaryCats\Sanitizer\Sanitizer;
use PHPUnit\Framework\Attributes\Test;
use PHPUnit\Framework\TestCase;

class DigitTest extends TestCase
Expand All @@ -17,9 +18,7 @@ public function sanitize($data, $rules)
return $sanitizer->sanitize();
}

/**
* @test
*/
#[Test]
public function it_string_to_digits()
{
$data = [
Expand All @@ -32,9 +31,7 @@ public function it_string_to_digits()
$this->assertEquals('080969012345', $data['name']);
}

/**
* @test
*/
#[Test]
public function it_string_to_digits2()
{
$data = [
Expand Down
5 changes: 2 additions & 3 deletions tests/Filters/EscapeHTMLTest.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php

use BinaryCats\Sanitizer\Sanitizer;
use PHPUnit\Framework\Attributes\Test;
use PHPUnit\Framework\TestCase;

class EscapeHTMLTest extends TestCase
Expand All @@ -17,9 +18,7 @@ public function sanitize($data, $rules)
return $sanitizer->sanitize();
}

/**
* @test
*/
#[Test]
public function it_escapes_strings()
{
$data = [
Expand Down
9 changes: 3 additions & 6 deletions tests/Filters/FilterIfTest.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php

use BinaryCats\Sanitizer\Sanitizer;
use PHPUnit\Framework\Attributes\Test;
use PHPUnit\Framework\TestCase;

class FilterIfTest extends TestCase
Expand All @@ -17,9 +18,7 @@ public function sanitize($data, $rules)
return $sanitizer->sanitize();
}

/**
* @test
*/
#[Test]
public function it_apply_filter_if_match()
{
$data = [
Expand All @@ -32,9 +31,7 @@ public function it_apply_filter_if_match()
$this->assertEquals('HELLO EVERYBODY', $data['name']);
}

/**
* @test
*/
#[Test]
public function it_does_not_apply_filter_if_no_match()
{
$data = [
Expand Down
9 changes: 3 additions & 6 deletions tests/Filters/FormatDateTest.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php

use BinaryCats\Sanitizer\Sanitizer;
use PHPUnit\Framework\Attributes\Test;
use PHPUnit\Framework\TestCase;

class FormatDateTest extends TestCase
Expand All @@ -17,9 +18,7 @@ public function sanitize($data, $rules)
return $sanitizer->sanitize();
}

/**
* @test
*/
#[Test]
public function it_formats_dates()
{
$data = [
Expand All @@ -32,9 +31,7 @@ public function it_formats_dates()
$this->assertEquals('1983-03-21', $data['name']);
}

/**
* @test
*/
#[Test]
public function it_requires_two_arguments()
{
$this->expectException(\InvalidArgumentException::class);
Expand Down
9 changes: 3 additions & 6 deletions tests/Filters/LowercaseTest.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php

use BinaryCats\Sanitizer\Sanitizer;
use PHPUnit\Framework\Attributes\Test;
use PHPUnit\Framework\TestCase;

class LowercaseTest extends TestCase
Expand All @@ -17,9 +18,7 @@ public function sanitize($data, $rules)
return $sanitizer->sanitize();
}

/**
* @test
*/
#[Test]
public function it_lowercases_strings()
{
$data = [
Expand All @@ -32,9 +31,7 @@ public function it_lowercases_strings()
$this->assertEquals('hello everybody', $data['name']);
}

/**
* @test
*/
#[Test]
public function it_lowercases_special_characters_strings()
{
$data = [
Expand Down
5 changes: 2 additions & 3 deletions tests/Filters/StripTagsTest.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php

use BinaryCats\Sanitizer\Sanitizer;
use PHPUnit\Framework\Attributes\Test;
use PHPUnit\Framework\TestCase;

class StripTagsTest extends TestCase
Expand All @@ -17,9 +18,7 @@ public function sanitize($data, $rules)
return $sanitizer->sanitize();
}

/**
* @test
*/
#[Test]
public function it_trims_strings()
{
$data = [
Expand Down
5 changes: 2 additions & 3 deletions tests/Filters/TrimTest.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php

use BinaryCats\Sanitizer\Sanitizer;
use PHPUnit\Framework\Attributes\Test;
use PHPUnit\Framework\TestCase;

class TrimTest extends TestCase
Expand All @@ -17,9 +18,7 @@ public function sanitize($data, $rules)
return $sanitizer->sanitize();
}

/**
* @test
*/
#[Test]
public function it_trims_strings()
{
$data = [
Expand Down
Loading