Code Duplication    Length = 6-7 lines in 4 locations

packages/block-loader/tests/php/test-class.jetpack-gutenberg.php 4 locations

@@ 89-94 (lines=6) @@
86
		$this->assertTrue( $availability['apple']['available'] );
87
	}
88
89
	function test_registered_block_is_not_available() {
90
		Jetpack_Gutenberg::set_extension_unavailable( 'jetpack/banana', 'bar' );
91
		$availability = Jetpack_Gutenberg::get_availability();
92
		$this->assertFalse( $availability['banana']['available'], 'banana is available!' );
93
		$this->assertEquals( $availability['banana']['unavailable_reason'], 'bar', 'unavailable_reason is not "bar"' );
94
	}
95
96
	function test_registered_block_is_not_available_when_not_defined_in_whitelist() {
97
		jetpack_register_block( 'jetpack/durian' );
@@ 102-108 (lines=7) @@
99
		$this->assertArrayNotHasKey( 'durian', $availability, 'durian is available!' );
100
	}
101
102
	function test_block_is_not_available_when_not_registered_returns_missing_module() {
103
		$availability = Jetpack_Gutenberg::get_availability();
104
105
		// 'unavailable_reason' should be 'missing_module' if the block wasn't registered
106
		$this->assertFalse( $availability['grape']['available'], 'Availability is not false exists' );
107
		$this->assertEquals( $availability['grape']['unavailable_reason'], 'missing_module', 'unavailable_reason is not "missing_module"'  );
108
	}
109
110
	// Plugins
111
	function test_registered_plugin_is_available() {
@@ 117-122 (lines=6) @@
114
		$this->assertTrue( $availability['onion']['available'] );
115
	}
116
117
	function test_registered_plugin_is_not_available() {
118
		Jetpack_Gutenberg::set_extension_unavailable( 'jetpack/potato', 'bar' );
119
		$availability = Jetpack_Gutenberg::get_availability();
120
		$this->assertFalse( $availability['potato']['available'], 'potato is available!' );
121
		$this->assertEquals( $availability['potato']['unavailable_reason'], 'bar', 'unavailable_reason is not "bar"' );
122
	}
123
124
	function test_registered_plugin_is_not_available_when_not_defined_in_whitelist() {
125
		Jetpack_Gutenberg::set_extension_available( 'jetpack/parsnip' );
@@ 131-137 (lines=7) @@
128
129
	}
130
131
	function test_plugin_is_not_available_when_not_registered_returns_missing_module() {
132
		$availability = Jetpack_Gutenberg::get_availability();
133
134
		// 'unavailable_reason' should be 'missing_module' if the block wasn't registered
135
		$this->assertFalse( $availability['tomato']['available'], 'Availability is not false exists' );
136
		$this->assertEquals( $availability['tomato']['unavailable_reason'], 'missing_module', 'unavailable_reason is not "missing_module"'  );
137
	}
138
139
	function test_get_available_extensions() {
140
		$extensions = Jetpack_Gutenberg::get_available_extensions( $this->get_extensions_whitelist() );