From ee77964e6be38e1912735807aaeb583461ba91bc Mon Sep 17 00:00:00 2001
From: Antonio De Marco <antonio@nuvole.org>
Date: Sat, 23 Sep 2017 17:03:18 +0200
Subject: [PATCH] Issue #126: Remove bovig/assert in favour of leo.

---
 composer.json                                 |  6 ++---
 tests/features/bootstrap/FeatureContext.php   |  4 +---
 .../Kernel/Plugin/Deriver/YamlDeriverTest.php |  7 +-----
 tests/src/Kernel/Plugin/PatternBaseTest.php   |  4 +---
 .../TypedData/PatternDataDefinitionTest.php   |  4 +---
 tests/src/Kernel/UiPatternsManagerTest.php    |  4 +---
 .../Kernel/UiPatternsSourceManagerTest.php    | 13 +++++------
 .../Unit/Definition/PatternDefinitionTest.php | 22 +++++++++----------
 tests/src/Unit/Element/PatternPreviewTest.php |  4 +---
 9 files changed, 24 insertions(+), 44 deletions(-)

diff --git a/composer.json b/composer.json
index 32c0abf5f..8c634ff13 100644
--- a/composer.json
+++ b/composer.json
@@ -17,6 +17,8 @@
     "drupal/config_installer": "1.3.0",
     "drupal/console": "~1",
     "drush/drush": "*",
+    "drupal/coder": "8.2.8",
+    "drupal/core": "~8",
     "drupal/ds": "~3",
     "drupal/field_group": "~1",
     "drupal/coffee": "~1",
@@ -27,7 +29,6 @@
     "drupal/token": "~1",
     "drupal/bootstrap": "3.1",
     "phpunit/phpunit": "5.5.*",
-    "bovigo/assert": "~1.7",
     "nuvoleweb/drupal-behat": "1.0.2",
     "mikey179/vfsStream": "*",
     "bex/behat-screenshot": "^1.2",
@@ -35,8 +36,7 @@
     "bex/behat-extension-driver-locator": "^1.0",
     "phpro/grumphp": "0.11.4",
     "squizlabs/php_codesniffer": "~2.9",
-    "drupal/coder": "8.2.8",
-    "drupal/core": "8.4.x-dev"
+    "peridot-php/leo": "^1.6"
   },
   "conflict": {
     "drupal/drupal": "*"
diff --git a/tests/features/bootstrap/FeatureContext.php b/tests/features/bootstrap/FeatureContext.php
index 2b867f0f3..0737faffb 100644
--- a/tests/features/bootstrap/FeatureContext.php
+++ b/tests/features/bootstrap/FeatureContext.php
@@ -6,8 +6,6 @@
 
 use Behat\Gherkin\Node\TableNode;
 use NuvoleWeb\Drupal\DrupalExtension\Context\RawDrupalContext;
-use function bovigo\assert\assert;
-use function bovigo\assert\predicate\isTrue;
 
 /**
  * Class FeatureContext.
@@ -31,7 +29,7 @@ class FeatureContext extends RawDrupalContext {
   public function assertModulesEnabled(TableNode $table) {
     $rows = $table->getRows();
     foreach ($rows as $row) {
-      assert(\Drupal::moduleHandler()->moduleExists($row[0]), isTrue(), "Module '{$row[0]}' should be enabled but it is not.");
+      expect(\Drupal::moduleHandler()->moduleExists($row[0]))->to->be->true("Module '{$row[0]}' should be enabled but it is not.");
     }
   }
 
diff --git a/tests/src/Kernel/Plugin/Deriver/YamlDeriverTest.php b/tests/src/Kernel/Plugin/Deriver/YamlDeriverTest.php
index 78f4d01d6..491f4b660 100644
--- a/tests/src/Kernel/Plugin/Deriver/YamlDeriverTest.php
+++ b/tests/src/Kernel/Plugin/Deriver/YamlDeriverTest.php
@@ -2,8 +2,6 @@
 
 namespace Drupal\Tests\ui_patterns\Kernel\Plugin\Deriver;
 
-use function bovigo\assert\assert;
-use function bovigo\assert\predicate\hasKey;
 use Drupal\Tests\ui_patterns\Kernel\AbstractUiPatternsTest;
 use Drupal\ui_patterns\UiPatterns;
 
@@ -21,10 +19,7 @@ class YamlDeriverTest extends AbstractUiPatternsTest {
    */
   public function testGetDerivativeDefinitions() {
     foreach (UiPatterns::getManager()->getDefinitions() as $definition) {
-      assert($definition, hasKey('id')
-        ->and(hasKey('provider'))
-        ->and(hasKey('base path'))
-      );
+      expect($definition)->to->have->keys(['id', 'provider', 'base path']);
     }
   }
 
diff --git a/tests/src/Kernel/Plugin/PatternBaseTest.php b/tests/src/Kernel/Plugin/PatternBaseTest.php
index 5fd9496e1..07ed30ac6 100644
--- a/tests/src/Kernel/Plugin/PatternBaseTest.php
+++ b/tests/src/Kernel/Plugin/PatternBaseTest.php
@@ -2,8 +2,6 @@
 
 namespace Drupal\Tests\ui_patterns\Kernel\Plugin;
 
-use function bovigo\assert\assert;
-use function bovigo\assert\predicate\equals;
 use Drupal\Component\Serialization\Yaml;
 use Drupal\Tests\ui_patterns\Kernel\AbstractUiPatternsTest;
 use Drupal\ui_patterns\Plugin\PatternBase;
@@ -28,7 +26,7 @@ class PatternBaseTest extends AbstractUiPatternsTest {
 
       /** @var \Drupal\ui_patterns\Plugin\PatternBase $pattern */
       $libraries = $pattern->getLibraryDefinitions();
-      assert($libraries, equals($item['expected']));
+      expect($libraries)->to->loosely->equal($item['expected']);
     }
   }
 
diff --git a/tests/src/Kernel/TypedData/PatternDataDefinitionTest.php b/tests/src/Kernel/TypedData/PatternDataDefinitionTest.php
index e10db73ce..8727590fc 100644
--- a/tests/src/Kernel/TypedData/PatternDataDefinitionTest.php
+++ b/tests/src/Kernel/TypedData/PatternDataDefinitionTest.php
@@ -2,8 +2,6 @@
 
 namespace Drupal\Tests\ui_patterns\Kernel\TypedData;
 
-use function bovigo\assert\assert;
-use function bovigo\assert\predicate\equals;
 use Drupal\Tests\ui_patterns\Kernel\AbstractUiPatternsTest;
 use Drupal\ui_patterns\TypedData\PatternDataDefinition;
 use Drupal\Component\Serialization\Yaml;
@@ -28,7 +26,7 @@ class PatternDataDefinitionTest extends AbstractUiPatternsTest {
     foreach ($violations as $violation) {
       $actual[] = $violation->getPropertyPath() . ': ' . $violation->getMessage();
     }
-    assert($actual, equals($expected));
+    expect($actual)->to->equal($expected);
   }
 
   /**
diff --git a/tests/src/Kernel/UiPatternsManagerTest.php b/tests/src/Kernel/UiPatternsManagerTest.php
index f22b0c16b..0ce777ef6 100644
--- a/tests/src/Kernel/UiPatternsManagerTest.php
+++ b/tests/src/Kernel/UiPatternsManagerTest.php
@@ -2,8 +2,6 @@
 
 namespace Drupal\Tests\ui_patterns\Kernel;
 
-use function bovigo\assert\assert;
-use function bovigo\assert\predicate\equals;
 use Drupal\ui_patterns\UiPatterns;
 
 /**
@@ -23,7 +21,7 @@ class UiPatternsManagerTest extends AbstractUiPatternsTest {
     $definitions = $manager->getDefinitions();
 
     foreach ($manager->getPatterns() as $pattern) {
-      assert($pattern->getBaseId(), equals($definitions[$pattern->getPluginId()]->id()));
+      expect($pattern->getBaseId())->to->equal($definitions[$pattern->getPluginId()]->id());
     }
   }
 
diff --git a/tests/src/Kernel/UiPatternsSourceManagerTest.php b/tests/src/Kernel/UiPatternsSourceManagerTest.php
index ccf9c57a7..b8a6124a2 100644
--- a/tests/src/Kernel/UiPatternsSourceManagerTest.php
+++ b/tests/src/Kernel/UiPatternsSourceManagerTest.php
@@ -2,11 +2,6 @@
 
 namespace Drupal\Tests\ui_patterns\Kernel;
 
-use function bovigo\assert\assert;
-use function bovigo\assert\predicate\isNotEmpty;
-use function bovigo\assert\predicate\hasKey;
-use function bovigo\assert\predicate\equals;
-
 /**
  * @coversDefaultClass \Drupal\ui_patterns\UiPatternsSourceManager
  *
@@ -24,7 +19,9 @@ class UiPatternsSourceManagerTest extends AbstractUiPatternsTest {
     $plugin_manager = \Drupal::service('plugin.manager.ui_patterns_source');
 
     $definitions = $plugin_manager->getDefinitions();
-    assert($definitions, isNotEmpty()->and(hasKey('test_source')));
+    expect($definitions)
+      ->to->not->be->empty()
+      ->and->to->have->keys(['test_source']);
 
     $expected = [
       ['name' => 'field_1', 'label' => 'Field 1'],
@@ -37,8 +34,8 @@ class UiPatternsSourceManagerTest extends AbstractUiPatternsTest {
     /** @var \Drupal\ui_patterns\Plugin\PatternSourceBase $plugin */
     $plugin = $plugin_manager->createInstance('test_source');
     foreach ($plugin->getSourceFields() as $key => $field) {
-      assert($field->getFieldName(), equals($expected[$key]['name']));
-      assert($field->getFieldLabel(), equals($expected[$key]['label']));
+      expect($field->getFieldName())->to->equal($expected[$key]['name']);
+      expect($field->getFieldLabel())->to->equal($expected[$key]['label']);
     }
   }
 
diff --git a/tests/src/Unit/Definition/PatternDefinitionTest.php b/tests/src/Unit/Definition/PatternDefinitionTest.php
index aa6160860..9942c0786 100644
--- a/tests/src/Unit/Definition/PatternDefinitionTest.php
+++ b/tests/src/Unit/Definition/PatternDefinitionTest.php
@@ -2,8 +2,6 @@
 
 namespace Drupal\Tests\ui_patterns\Unit\Definition;
 
-use function bovigo\assert\assert;
-use function bovigo\assert\predicate\equals;
 use Drupal\Component\Serialization\Yaml;
 use Drupal\Tests\ui_patterns\Unit\AbstractUiPatternsTest;
 use Drupal\ui_patterns\Definition\PatternDefinition;
@@ -22,7 +20,7 @@ class PatternDefinitionTest extends AbstractUiPatternsTest {
    */
   public function testGettersSetters($getter, $name, $value) {
     $pattern_definition = new PatternDefinition([$name => $value]);
-    assert($value, equals(call_user_func([$pattern_definition, $getter])));
+    expect($value)->to->equal(call_user_func([$pattern_definition, $getter]));
   }
 
   /**
@@ -39,18 +37,18 @@ class PatternDefinitionTest extends AbstractUiPatternsTest {
     ];
     $pattern_definition = new PatternDefinition();
     $pattern_definition->setFields($fields);
-    assert($pattern_definition->getField('name')->getLabel(), equals($fields['name']['label']));
-    assert($pattern_definition->getField('name')->getName(), equals($fields['name']['name']));
-    assert($pattern_definition->getField('name')->getType(), equals(NULL));
-    assert($pattern_definition->getField('name')->getDescription(), equals(NULL));
-    assert($pattern_definition->getField('name')->getPreview(), equals(NULL));
+    expect($pattern_definition->getField('name')->getLabel())->to->equal($fields['name']['label']);
+    expect($pattern_definition->getField('name')->getName())->to->equal($fields['name']['name']);
+    expect($pattern_definition->getField('name')->getType())->to->equal(NULL);
+    expect($pattern_definition->getField('name')->getDescription())->to->equal(NULL);
+    expect($pattern_definition->getField('name')->getPreview())->to->equal(NULL);
 
     $pattern_definition->getField('name')->setType('type');
     $pattern_definition->getField('name')->setPreview('preview');
     $pattern_definition->getField('name')->setDescription('description');
-    assert($pattern_definition->getField('name')->getType(), equals('type'));
-    assert($pattern_definition->getField('name')->getDescription(), equals('description'));
-    assert($pattern_definition->getField('name')->getPreview(), equals('preview'));
+    expect($pattern_definition->getField('name')->getType())->to->equal('type');
+    expect($pattern_definition->getField('name')->getDescription())->to->equal('description');
+    expect($pattern_definition->getField('name')->getPreview())->to->equal('preview');
   }
 
   /**
@@ -61,7 +59,7 @@ class PatternDefinitionTest extends AbstractUiPatternsTest {
   public function testFieldsProcessing($actual, $expected) {
     $pattern_definition = new PatternDefinition();
     $data = $pattern_definition->setFields($actual)->toArray();
-    assert($data['fields'], equals($expected));
+    expect($data['fields'])->to->be->loosely->equal($expected);
   }
 
   /**
diff --git a/tests/src/Unit/Element/PatternPreviewTest.php b/tests/src/Unit/Element/PatternPreviewTest.php
index 5d2528b08..bad88b799 100644
--- a/tests/src/Unit/Element/PatternPreviewTest.php
+++ b/tests/src/Unit/Element/PatternPreviewTest.php
@@ -2,8 +2,6 @@
 
 namespace Drupal\Tests\ui_patterns\Unit\Element;
 
-use function bovigo\assert\assert;
-use function bovigo\assert\predicate\equals;
 use Drupal\Component\Serialization\Yaml;
 use Drupal\Tests\ui_patterns\Unit\AbstractUiPatternsTest;
 use Drupal\ui_patterns\Element\PatternPreview;
@@ -24,7 +22,7 @@ class PatternPreviewTest extends AbstractUiPatternsTest {
     $assertions = Yaml::decode(file_get_contents($this->getFixturePath() . '/preview_markup.yml'));
     foreach ($assertions as $assertion) {
       $result = PatternPreview::getPreviewMarkup($assertion['actual']);
-      assert($assertion['expected'], equals($result));
+      expect($assertion['expected'])->to->equal($result);
     }
   }
 
-- 
GitLab