Skip to content

Commit

Permalink
Add AmpWPConfiguration test
Browse files Browse the repository at this point in the history
  • Loading branch information
schlessera committed Apr 14, 2021
1 parent 5a89e49 commit 1496f57
Show file tree
Hide file tree
Showing 2 changed files with 80 additions and 1 deletion.
79 changes: 79 additions & 0 deletions tests/php/src/Optimizer/AmpWPConfigurationTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
<?php

namespace AmpProject\AmpWP\Tests\Optimizer;

use AmpProject\AmpWP\Optimizer\AmpWPConfiguration;
use AmpProject\Optimizer\Configuration\PreloadHeroImageConfiguration;
use AmpProject\Optimizer\Transformer\PreloadHeroImage;
use AmpProject\Optimizer\Transformer\ServerSideRendering;
use AmpProject\Optimizer\TransformerConfiguration;
use WP_UnitTestCase;

/** @coversDefaultClass \AmpProject\AmpWP\Optimizer\AmpWPConfiguration */
final class AmpWPConfigurationTest extends WP_UnitTestCase {

/**
* @covers \AmpProject\AmpWP\Optimizer\AmpWPConfiguration::apply_filters()
* @covers \AmpProject\AmpWP\Optimizer\AmpWPConfiguration::get()
*/
public function test_get_unfiltered_configuration_key() {
$configuration = new AmpWPConfiguration();
$transformers = $configuration->get( AmpWPConfiguration::KEY_TRANSFORMERS );

$this->assertContains( ServerSideRendering::class, $transformers );
}

/**
* @covers \AmpProject\AmpWP\Optimizer\AmpWPConfiguration::apply_filters()
* @covers \AmpProject\AmpWP\Optimizer\AmpWPConfiguration::get()
*/
public function test_get_filtered_configuration_key() {
add_filter( 'amp_enable_ssr', '__return_false' );

$configuration = new AmpWPConfiguration();
$transformers = $configuration->get( AmpWPConfiguration::KEY_TRANSFORMERS );

$this->assertNotContains( ServerSideRendering::class, $transformers );

remove_filter( 'amp_enable_ssr', '__return_false' );
}

/**
* @covers \AmpProject\AmpWP\Optimizer\AmpWPConfiguration::apply_filters()
* @covers \AmpProject\AmpWP\Optimizer\AmpWPConfiguration::getTransformerConfiguration
*/
public function test_get_unfiltered_transformer_configuration_key() {
$configuration = new AmpWPConfiguration();
$transformer_configuration = $configuration->getTransformerConfiguration( PreloadHeroImage::class );

$this->assertInstanceOf( TransformerConfiguration::class, $transformer_configuration );
$this->assertEquals(
'data-amp-original-style',
$transformer_configuration->get( PreloadHeroImageConfiguration::INLINE_STYLE_BACKUP_ATTRIBUTE )
);
}

/**
* @covers \AmpProject\AmpWP\Optimizer\AmpWPConfiguration::apply_filters()
* @covers \AmpProject\AmpWP\Optimizer\AmpWPConfiguration::getTransformerConfiguration()
*/
public function test_get_filtered_transformer_configuration_key() {
$configuration_filter = static function ( $configuration ) {
$configuration[ PreloadHeroImage::class ]['inlineStyleBackupAttribute'] = 'data-backup-style';
return $configuration;
};

add_filter( 'amp_optimizer_config', $configuration_filter );

$configuration = new AmpWPConfiguration();
$transformer_configuration = $configuration->getTransformerConfiguration( PreloadHeroImage::class );

$this->assertInstanceOf( TransformerConfiguration::class, $transformer_configuration );
$this->assertEquals(
'data-backup-style',
$transformer_configuration->get( PreloadHeroImageConfiguration::INLINE_STYLE_BACKUP_ATTRIBUTE )
);

remove_filter( 'amp_optimizer_config', $configuration_filter );
}
}
2 changes: 1 addition & 1 deletion tests/php/src/Optimizer/OptimizerServiceTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ final class OptimizerServiceTest extends TestCase {
* @covers \AmpProject\AmpWP\Optimizer\OptimizerService::optimizeDom()
* @covers \AmpProject\AmpWP\Optimizer\OptimizerService::optimizeHtml()
*/
public function testMethodForwarding() {
public function test_method_forwarding() {
$html = self::HERO_IMAGE_MARKUP . self::HERO_IMAGE_MARKUP . self::HERO_IMAGE_MARKUP;
$document = Document::fromHtml( $html );
$transformation_engine = new TransformationEngine();
Expand Down

0 comments on commit 1496f57

Please sign in to comment.