diff --git a/core/modules/views/src/Tests/Handler/HandlerTest.php b/core/modules/views/src/Tests/Handler/HandlerTest.php
index 6507e23..488f6e2 100644
--- a/core/modules/views/src/Tests/Handler/HandlerTest.php
+++ b/core/modules/views/src/Tests/Handler/HandlerTest.php
@@ -69,102 +69,6 @@ protected function viewsData() {
   }
 
   /**
-   * Tests the breakString method.
-   */
-  public function testBreakString() {
-    // Check defaults.
-    $this->assertEqual((object) array('value' => array(), 'operator' => NULL), HandlerBase::breakString(''));
-
-    // Test ors
-    $handler = HandlerBase::breakString('word1 word2+word');
-    $this->assertEqualValue(array('word1', 'word2', 'word'), $handler);
-    $this->assertEqual('or', $handler->operator);
-    $handler = HandlerBase::breakString('word1+word2+word');
-    $this->assertEqualValue(array('word1', 'word2', 'word'), $handler);
-    $this->assertEqual('or', $handler->operator);
-    $handler = HandlerBase::breakString('word1 word2 word');
-    $this->assertEqualValue(array('word1', 'word2', 'word'), $handler);
-    $this->assertEqual('or', $handler->operator);
-    $handler = HandlerBase::breakString('word-1+word-2+word');
-    $this->assertEqualValue(array('word-1', 'word-2', 'word'), $handler);
-    $this->assertEqual('or', $handler->operator);
-    $handler = HandlerBase::breakString('wõrd1+wõrd2+wõrd');
-    $this->assertEqualValue(array('wõrd1', 'wõrd2', 'wõrd'), $handler);
-    $this->assertEqual('or', $handler->operator);
-
-    // Test ands.
-    $handler = HandlerBase::breakString('word1,word2,word');
-    $this->assertEqualValue(array('word1', 'word2', 'word'), $handler);
-    $this->assertEqual('and', $handler->operator);
-    $handler = HandlerBase::breakString('word1 word2,word');
-    $this->assertEqualValue(array('word1 word2', 'word'), $handler);
-    $this->assertEqual('and', $handler->operator);
-    $handler = HandlerBase::breakString('word1,word2 word');
-    $this->assertEqualValue(array('word1', 'word2 word'), $handler);
-    $this->assertEqual('and', $handler->operator);
-    $handler = HandlerBase::breakString('word-1,word-2,word');
-    $this->assertEqualValue(array('word-1', 'word-2', 'word'), $handler);
-    $this->assertEqual('and', $handler->operator);
-    $handler = HandlerBase::breakString('wõrd1,wõrd2,wõrd');
-    $this->assertEqualValue(array('wõrd1', 'wõrd2', 'wõrd'), $handler);
-    $this->assertEqual('and', $handler->operator);
-
-    // Test a single word
-    $handler = HandlerBase::breakString('word');
-    $this->assertEqualValue(array('word'), $handler);
-    $this->assertEqual('and', $handler->operator);
-
-    $s1 = $this->randomMachineName();
-    // Generate three random numbers which can be used below;
-    $n1 = rand(0, 100);
-    $n2 = rand(0, 100);
-    $n3 = rand(0, 100);
-
-    // Test "or"s.
-    $handlerBase = HandlerBase::breakString("$s1 $n2+$n3");
-    $this->assertEqualValue(array($s1, $n2, $n3), $handlerBase);
-    $this->assertEqual('or', $handlerBase->operator);
-
-    $handlerBase = HandlerBase::breakString("$s1+$n2+$n3");
-    $this->assertEqualValue(array($s1, $n2, $n3), $handlerBase);
-    $this->assertEqual('or', $handlerBase->operator);
-
-    $handlerBase = HandlerBase::breakString("$s1 $n2 $n3");
-    $this->assertEqualValue(array($s1, $n2, $n3), $handlerBase);
-    $this->assertEqual('or', $handlerBase->operator);
-
-    $handlerBase = HandlerBase::breakString("$s1 $n2++$n3");
-    $this->assertEqualValue(array($s1, $n2, $n3), $handlerBase);
-    $this->assertEqual('or', $handlerBase->operator);
-
-    // Test "and"s.
-    $handlerBase = HandlerBase::breakString("$s1,$n2,$n3");
-    $this->assertEqualValue(array($s1, $n2, $n3), $handlerBase);
-    $this->assertEqual('and', $handlerBase->operator);
-
-    $handlerBase = HandlerBase::breakString("$s1,,$n2,$n3");
-    $this->assertEqualValue(array($s1, $n2, $n3), $handlerBase);
-    $this->assertEqual('and', $handlerBase->operator);
-
-    // Enforce int values.
-    $handlerBase = HandlerBase::breakString("$n1,$n2,$n3", TRUE);
-    $this->assertEqualValue(array($n1, $n2, $n3), $handlerBase);
-    $this->assertEqual('and', $handlerBase->operator);
-
-    $handlerBase = HandlerBase::breakString("$n1+$n2+$n3", TRUE);
-    $this->assertEqualValue(array($n1, $n2, $n3), $handlerBase);
-    $this->assertEqual('or', $handlerBase->operator);
-
-    $handlerBase = HandlerBase::breakString("$s1,$n2,$n3", TRUE);
-    $this->assertEqualValue(array((int) $s1, $n2, $n3), $handlerBase);
-    $this->assertEqual('and', $handlerBase->operator);
-
-    $handlerBase = HandlerBase::breakString("$s1+$n2+$n3", TRUE);
-    $this->assertEqualValue(array((int) $s1, $n2, $n3), $handlerBase);
-    $this->assertEqual('or', $handlerBase->operator);
-  }
-
-  /**
    * Tests the order of handlers is the same before and after saving.
    */
   public function testHandlerWeights() {
@@ -191,29 +95,6 @@ public function testHandlerWeights() {
   }
 
   /**
-   * Check to see if a value is the same as the value on a certain handler.
-   *
-   * @param $expected
-   *   The expected value to check.
-   * @param \Drupal\views\Plugin\views\ViewsHandlerInterface $handler
-   *   The handler that has the $handler->value property to compare with first.
-   * @param string $message
-   *   The message to display along with the assertion.
-   * @param string $group
-   *   The type of assertion - examples are "Browser", "PHP".
-   *
-   * @return bool
-   *   TRUE if the assertion succeeded, FALSE otherwise.
-   */
-  protected function assertEqualValue($expected, $handler, $message = '', $group = 'Other') {
-    if (empty($message)) {
-      $message = t('Comparing @first and @second', array('@first' => implode(',', $expected), '@second' => implode(',', $handler->value)));
-    }
-
-    return $this->assert($expected == $handler->value, $message, $group);
-  }
-
-  /**
    * Tests the relationship ui for field/filter/argument/relationship.
    */
   public function testRelationshipUI() {
diff --git a/core/modules/views/tests/src/Unit/Plugin/HandlerBaseTest.php b/core/modules/views/tests/src/Unit/Plugin/HandlerBaseTest.php
index 12b7ca1..206e1a8 100644
--- a/core/modules/views/tests/src/Unit/Plugin/HandlerBaseTest.php
+++ b/core/modules/views/tests/src/Unit/Plugin/HandlerBaseTest.php
@@ -91,8 +91,73 @@ public function testGetEntityTypeForFieldWithRelationship() {
     $this->assertEquals('test_other_entity_type', $handler->getEntityType());
   }
 
-}
+  /**
+   * Check to see if a value is the same as the value on a certain handler.
+   *
+   * @param $expected
+   *   The expected value to check.
+   * @param \Drupal\views\Plugin\views\ViewsHandlerInterface $handler
+   *   The handler that has the $handler->value property to compare with first.
+   * @param string $message
+   *   The message to display along with the assertion.
+   *
+   * @return bool
+   *   TRUE if the assertion succeeded, FALSE otherwise.
+   */
+  protected function assertEqualValue($expected, $handler, $message = '') {
+    if (empty($message)) {
+      $message = strtr('Comparing @first and @second', array('@first' => implode(',', $expected), '@second' => implode(',', $handler->value)));
+    }
+    return $this->assertTrue($expected == $handler->value, $message);
+  }
+
+  /**
+   * Tests the breakString method.
+   * @dataProvider breakstringProvider
+   */
+  public function testBreakString($expected_split_string, $expected_operator, $input_string) {
+    $result = HandlerBase::breakString($input_string);
+    $this->assertEqualValue($expected_split_string, $result);
+    $this->assertEquals($expected_operator, $result->operator);
+  }
 
+  public function breakstringProvider() {
+    $s1 = 'string';
+    $n1 = 1;
+    $n2 = 2;
+    $n3 = 3;
+
+    return array(
+      // Test ors.
+      array(array('word1', 'word2', 'word'), 'or', 'word1 word2+word'),
+      array(array('word1', 'word2', 'word'), 'or', 'word1+word2+word'),
+      array(array('word1', 'word2', 'word'), 'or', 'word1 word2 word'),
+      array(array('word-1', 'word-2', 'word'), 'or', 'word-1+word-2+word'),
+      array(array('wõrd1', 'wõrd2', 'wõrd'), 'or', 'wõrd1+wõrd2+wõrd'),
+      // Test ands.
+      array(array('word1', 'word2', 'word'), 'and', 'word1,word2,word'),
+      array(array('word1 word2', 'word'), 'and', 'word1 word2,word'),
+      array(array('word1', 'word2 word'), 'and', 'word1,word2 word'),
+      array(array('word-1', 'word-2', 'word'), 'and', 'word-1,word-2,word'),
+      array(array('wõrd1', 'wõrd2', 'wõrd'), 'and', 'wõrd1,wõrd2,wõrd'),
+      // Test a single word.
+      array(array('word'), 'and', 'word'),
+      // Test numerical "or"s.
+      array(array($s1, $n2, $n3), 'or', "$s1 $n2+$n3"),
+      array(array($s1, $n2, $n3), 'or', "$s1+$n2+$n3"),
+      array(array($s1, $n2, $n3), 'or', "$s1 $n2 $n3"),
+      array(array($s1, $n2, $n3), 'or', "$s1 $n2++$n3"),
+      // Test "and"s.
+      array(array($s1, $n2, $n3), 'and', "$s1,$n2,$n3"),
+      array(array($s1, $n2, $n3), 'and', "$s1,,$n2,$n3"),
+      // Enforce int values.
+      array(array($n1, $n2, $n3), 'and', "$n1,$n2,$n3", TRUE),
+      array(array($n1, $n2, $n3), 'or', "$n1+$n2+$n3", TRUE),
+      array(array((int) $s1, $n2, $n3), 'and', "$s1,$n2,$n3", TRUE),
+      array(array((int) $s1, $n2, $n3), 'or', "$s1+$n2+$n3", TRUE)
+    );
+  }
+}
 /**
  * Allow testing base handler implementation by extending the abstract class.
  */
