Code Duplication    Length = 14-14 lines in 2 locations

includes/WatchedItemStore.php 2 locations

@@ 73-86 (lines=14) @@
70
	 * @return ScopedCallback to reset the overridden value
71
	 * @throws MWException
72
	 */
73
	public function overrideDeferredUpdatesAddCallableUpdateCallback( $callback ) {
74
		if ( !defined( 'MW_PHPUNIT_TEST' ) ) {
75
			throw new MWException(
76
				'Cannot override DeferredUpdates::addCallableUpdate callback in operation.'
77
			);
78
		}
79
		Assert::parameterType( 'callable', $callback, '$callback' );
80
81
		$previousValue = $this->deferredUpdatesAddCallableUpdateCallback;
82
		$this->deferredUpdatesAddCallableUpdateCallback = $callback;
83
		return new ScopedCallback( function() use ( $previousValue ) {
84
			$this->deferredUpdatesAddCallableUpdateCallback = $previousValue;
85
		} );
86
	}
87
88
	/**
89
	 * Overrides the Revision::getTimestampFromId callback
@@ 98-111 (lines=14) @@
95
	 * @return ScopedCallback to reset the overridden value
96
	 * @throws MWException
97
	 */
98
	public function overrideRevisionGetTimestampFromIdCallback( $callback ) {
99
		if ( !defined( 'MW_PHPUNIT_TEST' ) ) {
100
			throw new MWException(
101
				'Cannot override Revision::getTimestampFromId callback in operation.'
102
			);
103
		}
104
		Assert::parameterType( 'callable', $callback, '$callback' );
105
106
		$previousValue = $this->revisionGetTimestampFromIdCallback;
107
		$this->revisionGetTimestampFromIdCallback = $callback;
108
		return new ScopedCallback( function() use ( $previousValue ) {
109
			$this->revisionGetTimestampFromIdCallback = $previousValue;
110
		} );
111
	}
112
113
	/**
114
	 * Overrides the default instance of this class