Skip to content

Commit

Permalink
Test whether optimizer gets caching and fallback downloads
Browse files Browse the repository at this point in the history
  • Loading branch information
schlessera committed Apr 14, 2021
1 parent 1496f57 commit 70dced8
Showing 1 changed file with 29 additions and 0 deletions.
29 changes: 29 additions & 0 deletions tests/php/src/Optimizer/OptimizerServiceTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,23 @@

namespace AmpProject\AmpWP\Tests\Optimizer;

use AmpProject\AmpWP\AmpWpPlugin;
use AmpProject\AmpWP\Optimizer\OptimizerService;
use AmpProject\AmpWP\RemoteRequest\CachedRemoteGetRequest;
use AmpProject\AmpWP\Tests\Helpers\AssertContainsCompatibility;
use AmpProject\Dom\Document;
use AmpProject\Optimizer\ErrorCollection;
use AmpProject\Optimizer\TransformationEngine;
use \AmpProject\AmpWP\Tests\Helpers\PrivateAccess;
use AmpProject\RemoteGetRequest;
use AmpProject\RemoteRequest\FallbackRemoteGetRequest;
use PHPUnit\Framework\TestCase;

/** @coversDefaultClass \AmpProject\AmpWP\Optimizer\OptimizerService */
final class OptimizerServiceTest extends TestCase {

use AssertContainsCompatibility;
use PrivateAccess;

const HERO_IMAGE_MARKUP = '<amp-img data-hero src="https://example.com/image.jpg" width="500" height="500"></amp-img>';

Expand All @@ -37,4 +43,27 @@ public function test_method_forwarding() {
$this->assertStringContains( 'transformed="self;v=1"', $output );
$this->assertTrue( $html_errors->has( 'TooManyHeroImages' ) );
}

/**
* @covers \AmpProject\AmpWP\Optimizer\OptimizerService::__construct()
* @covers \AmpProject\AmpWP\AmpWpPlugin::get_delegations()
*/
public function test_caching_and_fallback_are_enabled() {
$plugin = new AmpWpPlugin();
$plugin->register_services();

$injector = $plugin->get_container()->get( 'injector' );
$optimizer = $injector->make( OptimizerService::class );

$transformation_engine = $this->get_private_property( $optimizer, 'transformation_engine' );
$this->assertInstanceOf( TransformationEngine::class, $transformation_engine );

$remote_request = $this->get_private_property( $transformation_engine, 'remoteRequest' );
$this->assertInstanceOf( RemoteGetRequest::class, $remote_request );
$this->assertInstanceOf( CachedRemoteGetRequest::class, $remote_request );

$cached_remote_request = $this->get_private_property( $remote_request, 'remote_request' );
$this->assertInstanceOf( RemoteGetRequest::class, $cached_remote_request );
$this->assertInstanceOf( FallbackRemoteGetRequest::class, $cached_remote_request );
}
}

0 comments on commit 70dced8

Please sign in to comment.