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
69 changes: 42 additions & 27 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,53 +6,61 @@ on:
- main

pull_request:
types: [opened, synchronize, reopened]
types: [ opened, synchronize, reopened ]

jobs:
test:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'ci skip')"
strategy:
fail-fast: false
matrix:
php: [ 7.3, 7.4, 8.0, 8.1 ]
laravel: [ 8.*, 9.* , 10.*]
dependency-version: [ prefer-lowest, prefer-stable ]
php: ['8.0', '8.1', '8.2', '8.3']
laravel: ['8.*', '9.*', '10.*', '11.*']
dependency-version: [prefer-lowest, prefer-stable]
include:
- laravel: 8.*
testbench: 6.*
- laravel: 9.*
testbench: 7.*
- laravel: 10.*
testbench: 8.*
- laravel: 11.*
testbench: 9.*

exclude:
- laravel: 8.*
testbench: 6.*
php: 8.1
dependency-version: prefer-lowest
- laravel: 8.*
php: 8.2
dependency-version: prefer-lowest
- laravel: 8.*
php: 8.3
dependency-version: prefer-lowest

- laravel: 9.*
testbench: 7.*
php: 8.2
dependency-version: prefer-lowest
- laravel: 9.*
php: 8.3
dependency-version: prefer-lowest

exclude:
- laravel: 10.*
php: 7.3
- laravel: 10.*
php: 7.4
- laravel: 10.*
php: 8.0
- laravel: 9.*
php: 7.3

- laravel: 9.*
php: 7.4

- laravel: 8.*
- laravel: 11.*
php: 8.0
- laravel: 11.*
php: 8.1
dependency-version: prefer-lowest

name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.dependency-version }}

steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v4

- name: Cache dependencies
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: ~/.composer/cache/files
key: dependencies-laravel-${{ matrix.laravel }}-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
Expand All @@ -74,13 +82,20 @@ jobs:
- name: Execute tests
run: vendor/bin/phpunit

- name: Execute tests
if: "! startsWith(matrix.laravel, '9.')"
run: vendor/bin/phpunit

- name: Install Livewire V2
- name: Install Livewire V2 (Below Laravel 11.0)
if: "! startsWith(matrix.laravel, '11.')"
run: |
composer require "livewire/livewire:^2.3.10" -W --${{ matrix.dependency-version }} --no-interaction

- name: Execute tests
- name: Test with Livewire V2
if: "! startsWith(matrix.laravel, '11.')"
run: vendor/bin/phpunit

- name: Install Livewire V3 (Above Laravel 9.0)
if: "! startsWith(matrix.laravel, '8.') && ! startsWith(matrix.laravel, '9.')"
run: |
composer require "livewire/livewire:^3" -W --${{ matrix.dependency-version }} --no-interaction

- name: Test with Livewire V3
if: "! startsWith(matrix.laravel, '8.') && ! startsWith(matrix.laravel, '9.')"
run: vendor/bin/phpunit
14 changes: 7 additions & 7 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,18 @@
],
"require": {
"php": "^7.3|^8.0",
"illuminate/support": "^8.0|^9.0|^10.0",
"illuminate/console": "^8.0|^9.0|^10.0",
"illuminate/http": "^8.0|^9.0|^10.0",
"illuminate/cache": "^8.0|^9.0|^10.0",
"illuminate/view": "^8.0|^9.0|^10.0",
"illuminate/support": "^8.0|^9.0|^10.0|^11.0",
"illuminate/console": "^8.0|^9.0|^10.0|^11.0",
"illuminate/http": "^8.0|^9.0|^10.0|^11.0",
"illuminate/cache": "^8.0|^9.0|^10.0|^11.0",
"illuminate/view": "^8.0|^9.0|^10.0|^11.0",
"guzzlehttp/guzzle": "^7.2",
"ramsey/uuid": "^3.7|^4.0"
},
"require-dev": {
"orchestra/testbench": "^5.0|^6.0|^7.0",
"orchestra/testbench": "^5.0|^6.0|^7.0|^9.0",
"mockery/mockery": "^1.3.3",
"phpunit/phpunit": "^8.5.23|^9.5"
"phpunit/phpunit": "^8.5.23|^9.5|^10.5"
},
"autoload": {
"psr-4": {
Expand Down
13 changes: 11 additions & 2 deletions src/Middleware/RenderTorchlight.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,18 @@ protected function handleLivewireRequest(JsonResponse $response)

$data = $response->getData();

$html = BladeManager::renderContent(data_get($data, 'effects.html'));
if (data_get($data, 'effects.html')) {
// Livewire v2
$html = BladeManager::renderContent(data_get($data, 'effects.html'));

data_set($data, 'effects.html', $html);
data_set($data, 'effects.html', $html);
} else {
// Livewire v3
foreach (data_get($data, 'components.*.effects.html') as $componentIndex => $componentHtml) {
$html = BladeManager::renderContent($componentHtml);
data_set($data, "components.$componentIndex.effects.html", $html);
}
}

return $response->setData($data);
}
Expand Down
2 changes: 1 addition & 1 deletion tests/BaseTest.php → tests/BaseTestCase.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
use Orchestra\Testbench\TestCase;
use Torchlight\TorchlightServiceProvider;

abstract class BaseTest extends TestCase
abstract class BaseTestCase extends TestCase
{
protected $apiFaked = false;

Expand Down
2 changes: 1 addition & 1 deletion tests/BlockTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
use Torchlight\Block;
use Torchlight\Torchlight;

class BlockTest extends BaseTest
class BlockTest extends BaseTestCase
{
/** @test */
public function it_dedents_code()
Expand Down
2 changes: 1 addition & 1 deletion tests/ClientTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
use Torchlight\Client;
use Torchlight\Torchlight;

class ClientTest extends BaseTest
class ClientTest extends BaseTestCase
{
public function getEnvironmentSetUp($app)
{
Expand Down
2 changes: 1 addition & 1 deletion tests/ClientTimeoutTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
use Torchlight\Exceptions\RequestException;
use Torchlight\Torchlight;

class ClientTimeoutTest extends BaseTest
class ClientTimeoutTest extends BaseTestCase
{
public function getEnvironmentSetUp($app)
{
Expand Down
2 changes: 1 addition & 1 deletion tests/CustomizationTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
use Illuminate\Support\Facades\Cache;
use Torchlight\Torchlight;

class CustomizationTest extends BaseTest
class CustomizationTest extends BaseTestCase
{
public function getEnvironmentSetUp($app)
{
Expand Down
2 changes: 1 addition & 1 deletion tests/DualThemeTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
use Illuminate\Support\Facades\View;
use Torchlight\Middleware\RenderTorchlight;

class DualThemeTest extends BaseTest
class DualThemeTest extends BaseTestCase
{
public function getEnvironmentSetUp($app)
{
Expand Down
2 changes: 1 addition & 1 deletion tests/FindIdsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
use Torchlight\Block;
use Torchlight\Torchlight;

class FindIdsTest extends BaseTest
class FindIdsTest extends BaseTestCase
{
/** @test */
public function it_will_find_all_the_ids()
Expand Down
17 changes: 5 additions & 12 deletions tests/LivewireTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,25 +9,18 @@
use Livewire\Livewire;
use Torchlight\Middleware\RenderTorchlight;

class LivewireTest extends BaseTest
class LivewireTest extends BaseTestCase
{
/** @test */
public function livewire_2_registers_a_middleware()
public function livewire_registers_a_middleware()
{
// Check for the Livewire Facade.
if (!class_exists('\\Livewire\\Livewire')) {
return $this->markTestSkipped('Livewire not installed.');
}

$version = InstalledVersions::getVersion('livewire/livewire');

if (version_compare($version, '2.0.0', '>=')) {
$this->assertTrue(in_array(
RenderTorchlight::class,
Livewire::getPersistentMiddleware()
));
} else {
$this->markTestSkipped('Livewire 1 cannot register middleware.');
}
$this->assertTrue(in_array(
RenderTorchlight::class, Livewire::getPersistentMiddleware()
));
}
}
2 changes: 1 addition & 1 deletion tests/MiddlewareAndComponentTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
use Torchlight\Blade\BladeManager;
use Torchlight\Middleware\RenderTorchlight;

class MiddlewareAndComponentTest extends BaseTest
class MiddlewareAndComponentTest extends BaseTestCase
{
public function getEnvironmentSetUp($app)
{
Expand Down
2 changes: 1 addition & 1 deletion tests/PostProcessorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
use Torchlight\PostProcessors\SimpleSwapProcessor;
use Torchlight\Torchlight;

class PostProcessorTest extends BaseTest
class PostProcessorTest extends BaseTestCase
{
public function getEnvironmentSetUp($app)
{
Expand Down
2 changes: 1 addition & 1 deletion tests/RealClientTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
use Illuminate\Support\Facades\View;
use Torchlight\Middleware\RenderTorchlight;

class RealClientTest extends BaseTest
class RealClientTest extends BaseTestCase
{
public function getEnvironmentSetUp($app)
{
Expand Down