Code Duplication    Length = 76-76 lines in 2 locations

projects/plugins/jetpack/tests/php/modules/masterbar/test-class-atomic-admin-menu.php 1 location

@@ 404-479 (lines=76) @@
401
	 *
402
	 * @covers ::add_tools_menu
403
	 */
404
	public function test_add_tools_menu() {
405
		global $menu, $submenu;
406
407
		$slug = 'https://wordpress.com/marketing/tools/' . static::$domain;
408
		static::$admin_menu->add_tools_menu( static::$domain );
409
410
		$tools_menu_item = array(
411
			'Tools',
412
			'manage_options',
413
			$slug,
414
			'Tools',
415
			'menu-top toplevel_page_' . $slug,
416
			'toplevel_page_' . $slug,
417
			'dashicons-admin-tools',
418
		);
419
420
		$this->assertSame( $menu[75], $tools_menu_item );
421
		$this->assertArrayNotHasKey( 'tools.php', $submenu );
422
423
		// Contains the following menu items.
424
425
		$marketing_submenu_item = array(
426
			'Marketing',
427
			'manage_options',
428
			'https://wordpress.com/marketing/tools/' . static::$domain,
429
			'Marketing',
430
		);
431
		$this->assertContains( $marketing_submenu_item, $submenu[ $slug ] );
432
433
		$earn_submenu_item = array(
434
			'Earn',
435
			'manage_options',
436
			'https://wordpress.com/earn/' . static::$domain,
437
			'Earn',
438
		);
439
		$this->assertContains( $earn_submenu_item, $submenu[ $slug ] );
440
441
		$import_submenu_item = array(
442
			'Import',
443
			'import',
444
			'https://wordpress.com/import/' . static::$domain,
445
			'Import',
446
		);
447
		$this->assertContains( $import_submenu_item, $submenu[ $slug ] );
448
449
		$export_submenu_item = array(
450
			'Export',
451
			'export',
452
			'https://wordpress.com/export/' . static::$domain,
453
			'Export',
454
		);
455
		$this->assertContains( $export_submenu_item, $submenu[ $slug ] );
456
457
		// NOT contains the following menu items.
458
459
		$tools_submenu_item = array(
460
			'Available Tools',
461
			'edit_posts',
462
			'tools.php',
463
		);
464
		$this->assertNotContains( $tools_submenu_item, $submenu[ $slug ] );
465
466
		$import_submenu_item = array(
467
			'Import',
468
			'import',
469
			'import.php',
470
		);
471
		$this->assertNotContains( $import_submenu_item, $submenu[ $slug ] );
472
473
		$export_submenu_item = array(
474
			'Export',
475
			'export',
476
			'export.php',
477
		);
478
		$this->assertNotContains( $export_submenu_item, $submenu[ $slug ] );
479
	}
480
481
	/**
482
	 * Tests add_options_menu

projects/plugins/jetpack/tests/php/modules/masterbar/test-class-wpcom-admin-menu.php 1 location

@@ 452-527 (lines=76) @@
449
	 *
450
	 * @covers ::add_tools_menu
451
	 */
452
	public function test_add_tools_menu() {
453
		global $menu, $submenu;
454
455
		$slug = 'https://wordpress.com/marketing/tools/' . static::$domain;
456
		static::$admin_menu->add_tools_menu( static::$domain );
457
458
		$tools_menu_item = array(
459
			'Tools',
460
			'manage_options',
461
			$slug,
462
			'Tools',
463
			'menu-top toplevel_page_' . $slug,
464
			'toplevel_page_' . $slug,
465
			'dashicons-admin-tools',
466
		);
467
468
		$this->assertSame( $menu[75], $tools_menu_item );
469
		$this->assertArrayNotHasKey( 'tools.php', $submenu );
470
471
		// Contains the following menu items.
472
473
		$marketing_submenu_item = array(
474
			'Marketing',
475
			'manage_options',
476
			'https://wordpress.com/marketing/tools/' . static::$domain,
477
			'Marketing',
478
		);
479
		$this->assertContains( $marketing_submenu_item, $submenu[ $slug ] );
480
481
		$earn_submenu_item = array(
482
			'Earn',
483
			'manage_options',
484
			'https://wordpress.com/earn/' . static::$domain,
485
			'Earn',
486
		);
487
		$this->assertContains( $earn_submenu_item, $submenu[ $slug ] );
488
489
		$import_submenu_item = array(
490
			'Import',
491
			'import',
492
			'https://wordpress.com/import/' . static::$domain,
493
			'Import',
494
		);
495
		$this->assertContains( $import_submenu_item, $submenu[ $slug ] );
496
497
		$export_submenu_item = array(
498
			'Export',
499
			'export',
500
			'https://wordpress.com/export/' . static::$domain,
501
			'Export',
502
		);
503
		$this->assertContains( $export_submenu_item, $submenu[ $slug ] );
504
505
		// NOT contains the following menu items.
506
507
		$tools_submenu_item = array(
508
			'Available Tools',
509
			'edit_posts',
510
			'tools.php',
511
		);
512
		$this->assertNotContains( $tools_submenu_item, $submenu[ $slug ] );
513
514
		$import_submenu_item = array(
515
			'Import',
516
			'import',
517
			'import.php',
518
		);
519
		$this->assertNotContains( $import_submenu_item, $submenu[ $slug ] );
520
521
		$export_submenu_item = array(
522
			'Export',
523
			'export',
524
			'export.php',
525
		);
526
		$this->assertNotContains( $export_submenu_item, $submenu[ $slug ] );
527
	}
528
529
	/**
530
	 * Tests add_options_menu