AngularLoader - Emit warning when setModules method is used.
authorColeman Watts <coleman@civicrm.org>
Wed, 16 Jun 2021 21:55:49 +0000 (17:55 -0400)
committerColeman Watts <coleman@civicrm.org>
Wed, 16 Jun 2021 21:57:16 +0000 (17:57 -0400)
It can cause conflicts with other extensions who have added modules.

Civi/Angular/AngularLoader.php
tests/phpunit/Civi/Angular/LoaderTest.php

index a5d6d38b5774ecde81dc9da97fab8b942c750cbb..a6b5f80a42e8f3c40237a69ba3fc994f755be7cc 100644 (file)
@@ -345,11 +345,13 @@ class AngularLoader {
    * Replace all previously set modules.
    *
    * Use with caution, as it can cause conflicts with other extensions who have added modules.
-   *
+   * @internal
+   * @deprecated
    * @param array $modules
    * @return AngularLoader
    */
   public function setModules($modules) {
+    \CRM_Core_Error::deprecatedFunctionWarning('addModules');
     $this->modules = $modules;
     return $this;
   }
index d26e4d2e4ce04d10658d8a08ecc470f0bfcab84e..029daef6aa2b530e4198cc71a4b22675807331c8 100644 (file)
@@ -47,9 +47,9 @@ class LoaderTest extends \CiviUnitTestCase {
    */
   public function testSettingFactory($module, $expectedSettingCount, $expectedCallbackCount, $expectedPermissions) {
     $loader = new \Civi\Angular\AngularLoader();
-    $loader->setModules([$module]);
+    $loader->addModules([$module]);
     $loader->useApp();
-    // Load triggers a depreaction notice, use @ to suppress it for the test.
+    // Load triggers a deprecation notice, use @ to suppress it for the test.
     @$loader->load();
 
     // Run factory callbacks