Code Duplication    Length = 43-43 lines in 2 locations

packages/autoloader/tests/php/tests/unit/AutoloadProcessorTest.php 2 locations

@@ 77-119 (lines=43) @@
74
	/**
75
	 * Tests that `processClassmap` scans PSR-4 packages when requested.
76
	 */
77
	public function test_process_classmap_scans_psr_packages_when_requested() {
78
		$classmap_scanner      = function ( $path, $class_blacklist, $namespace ) {
79
			$this->assertEquals( 'src', $path );
80
			$this->assertNull( $class_blacklist );
81
			$this->assertEquals( 'Jetpack\\Autoloader\\', $namespace );
82
83
			return array(
84
				'TestClass'  => 'src/TestClass.php',
85
				'TestClass2' => 'src/TestClass2.php',
86
			);
87
		};
88
		$path_code_transformer = function ( $path ) {
89
			return 'converted2-' . $path;
90
		};
91
		$processor             = new AutoloadProcessor( $classmap_scanner, $path_code_transformer );
92
93
		$autoloads = array(
94
			'psr-4' => array(
95
				'Jetpack\\Autoloader\\' => array(
96
					array(
97
						'path'    => 'src',
98
						'version' => 'dev-test2',
99
					),
100
				),
101
			),
102
		);
103
104
		$processed = $processor->processClassmap( $autoloads, true );
105
106
		$this->assertEquals(
107
			array(
108
				'TestClass'  => array(
109
					'version' => 'dev-test2',
110
					'path'    => 'converted2-src/TestClass.php',
111
				),
112
				'TestClass2' => array(
113
					'version' => 'dev-test2',
114
					'path'    => 'converted2-src/TestClass2.php',
115
				),
116
			),
117
			$processed
118
		);
119
	}
120
121
	/**
122
	 * Tests that `processClassmap` passes the blacklist correctly when given one.
@@ 124-166 (lines=43) @@
121
	/**
122
	 * Tests that `processClassmap` passes the blacklist correctly when given one.
123
	 */
124
	public function test_process_classmap_uses_blacklist() {
125
		$classmap_scanner      = function ( $path, $class_blacklist, $namespace ) {
126
			$this->assertEquals( 'src', $path );
127
			$this->assertEquals( '{(TestClass)}', $class_blacklist );
128
			$this->assertNull( $namespace );
129
130
			return array(
131
				'TestClass'  => 'src/TestClass.php',
132
				'TestClass2' => 'src/TestClass2.php',
133
			);
134
		};
135
		$path_code_transformer = function ( $path ) {
136
			return 'converted-' . $path;
137
		};
138
		$processor             = new AutoloadProcessor( $classmap_scanner, $path_code_transformer );
139
140
		$autoloads = array(
141
			'classmap' => array(
142
				array(
143
					'path'    => 'src',
144
					'version' => 'dev-test',
145
				),
146
			),
147
		);
148
149
		$autoloads['exclude-from-classmap'] = array( 'TestClass' );
150
151
		$processed = $processor->processClassmap( $autoloads, false );
152
153
		$this->assertEquals(
154
			array(
155
				'TestClass'  => array(
156
					'version' => 'dev-test',
157
					'path'    => 'converted-src/TestClass.php',
158
				),
159
				'TestClass2' => array(
160
					'version' => 'dev-test',
161
					'path'    => 'converted-src/TestClass2.php',
162
				),
163
			),
164
			$processed
165
		);
166
	}
167
168
	/**
169
	 * Tests that `processPsr4Packages` returns the expected format.