Code Duplication    Length = 23-24 lines in 4 locations

projects/packages/autoloader/tests/php/tests/acceptance/AutoloaderTest.php 2 locations

@@ 54-77 (lines=24) @@
51
	/**
52
	 * Tests that the autoloader does not reset when all of the plugins are known during initialization.
53
	 */
54
	public function test_autoloader_does_not_reset_when_all_plugins_are_known() {
55
		// Activate the current autoloader so that the mu-plugin autoloader can see it.
56
		$this->activate_autoloader( Test_Plugin_Factory::CURRENT );
57
58
		// Load and shutdown the autoloaders safely.
59
		$this->execute_autoloader_chain(
60
			array(
61
				self::CURRENT_MU,
62
				Test_Plugin_Factory::CURRENT,
63
			),
64
			true
65
		);
66
67
		// Make sure the autoloader worked as expected.
68
		$this->assertAutoloaderVersion( Test_Plugin_Factory::CURRENT );
69
		$this->assertAutoloaderResetCount( 0 );
70
		$this->assertAutoloaderFoundUnknown( self::CURRENT_MU );
71
		$this->assertAutoloaderCacheEquals( array( self::CURRENT_MU, Test_Plugin_Factory::CURRENT ) );
72
		$this->assertAutoloaderProvidesClass( \Automattic\Jetpack\AutoloaderTesting\SharedTestClass::class );
73
74
		$this->markTestIncomplete( 'The autoloader does not currently support PSR-4 loading from multiple directories.' );
75
		$this->assertAutoloaderProvidesClass( \Automattic\Jetpack\AutoloaderTesting\Current\UniqueTestClass::class );
76
		$this->assertAutoloaderProvidesClass( \Automattic\Jetpack\AutoloaderTesting\Currentmu\UniqueTestClass::class );
77
	}
78
79
	/**
80
	 * Tests that the autoloader resets when it encounters unknown plugins.
@@ 82-104 (lines=23) @@
79
	/**
80
	 * Tests that the autoloader resets when it encounters unknown plugins.
81
	 */
82
	public function test_autoloader_resets_when_plugins_are_unknown() {
83
		// Do not activate any plugins so that all are considered unknown.
84
85
		// Load and shutdown the autoloaders safely.
86
		$this->execute_autoloader_chain(
87
			array(
88
				self::CURRENT_MU,
89
				Test_Plugin_Factory::CURRENT,
90
			),
91
			true
92
		);
93
94
		// Make sure the autoloader worked as expected.
95
		$this->assertAutoloaderVersion( Test_Plugin_Factory::CURRENT );
96
		$this->assertAutoloaderResetCount( 1 );
97
		$this->assertAutoloaderFoundUnknown( self::CURRENT_MU );
98
		$this->assertAutoloaderCacheEquals( array( self::CURRENT_MU, Test_Plugin_Factory::CURRENT ) );
99
		$this->assertAutoloaderProvidesClass( \Automattic\Jetpack\AutoloaderTesting\SharedTestClass::class );
100
101
		$this->markTestIncomplete( 'The autoloader does not currently support PSR-4 loading from multiple directories.' );
102
		$this->assertAutoloaderProvidesClass( \Automattic\Jetpack\AutoloaderTesting\Current\UniqueTestClass::class );
103
		$this->assertAutoloaderProvidesClass( \Automattic\Jetpack\AutoloaderTesting\Currentmu\UniqueTestClass::class );
104
	}
105
106
	/**
107
	 * Tests that the autoloader resolves symlinks to plugins so that those environments can be handled correctly.

projects/packages/autoloader/tests/php/tests/acceptance/CacheTest.php 2 locations

@@ 64-87 (lines=24) @@
61
	/**
62
	 * Tests that the autoloader does not reset when it encounters unknown plugins that are in the cache already.
63
	 */
64
	public function test_autoloader_does_not_reset_when_unknown_plugins_are_cached() {
65
		// Cache the plugins so that they will not be unknown.
66
		$this->cache_plugin( array( self::CURRENT_MU, Test_Plugin_Factory::CURRENT ) );
67
68
		// Load and shutdown the autoloaders safely.
69
		$this->execute_autoloader_chain(
70
			array(
71
				self::CURRENT_MU,
72
				Test_Plugin_Factory::CURRENT,
73
			),
74
			true
75
		);
76
77
		// Make sure the autoloader worked as expected.
78
		$this->assertAutoloaderVersion( Test_Plugin_Factory::CURRENT );
79
		$this->assertAutoloaderResetCount( 0 );
80
		$this->assertAutoloaderFoundUnknown( self::CURRENT_MU );
81
		$this->assertAutoloaderCacheEquals( array( self::CURRENT_MU, Test_Plugin_Factory::CURRENT ) );
82
		$this->assertAutoloaderProvidesClass( \Automattic\Jetpack\AutoloaderTesting\SharedTestClass::class );
83
84
		$this->markTestIncomplete( 'The autoloader does not currently support PSR-4 loading from multiple directories.' );
85
		$this->assertAutoloaderProvidesClass( \Automattic\Jetpack\AutoloaderTesting\Current\UniqueTestClass::class );
86
		$this->assertAutoloaderProvidesClass( \Automattic\Jetpack\AutoloaderTesting\Currentmu\UniqueTestClass::class );
87
	}
88
89
	/**
90
	 * Tests that the autoloader is able to add new plugins to the cache.
@@ 92-115 (lines=24) @@
89
	/**
90
	 * Tests that the autoloader is able to add new plugins to the cache.
91
	 */
92
	public function test_autoloader_adds_new_plugins_to_cache() {
93
		// Cache only one of the plugins so that it won't be unknown.
94
		$this->cache_plugin( array( Test_Plugin_Factory::CURRENT ) );
95
96
		// Load and shutdown the autoloaders safely.
97
		$this->execute_autoloader_chain(
98
			array(
99
				self::CURRENT_MU,
100
				Test_Plugin_Factory::CURRENT,
101
			),
102
			true
103
		);
104
105
		// Make sure the autoloader worked as expected.
106
		$this->assertAutoloaderVersion( Test_Plugin_Factory::CURRENT );
107
		$this->assertAutoloaderResetCount( 0 );
108
		$this->assertAutoloaderFoundUnknown( self::CURRENT_MU );
109
		$this->assertAutoloaderCacheEquals( array( self::CURRENT_MU, Test_Plugin_Factory::CURRENT ) );
110
		$this->assertAutoloaderProvidesClass( \Automattic\Jetpack\AutoloaderTesting\SharedTestClass::class );
111
112
		$this->markTestIncomplete( 'The autoloader does not currently support PSR-4 loading from multiple directories.' );
113
		$this->assertAutoloaderProvidesClass( \Automattic\Jetpack\AutoloaderTesting\Current\UniqueTestClass::class );
114
		$this->assertAutoloaderProvidesClass( \Automattic\Jetpack\AutoloaderTesting\Currentmu\UniqueTestClass::class );
115
	}
116
117
	/**
118
	 * Tests that the autoloader resolves symlinks to plugins pulled from cache so that those environments can be handled correctly.