Browse Source

Add deprecation warning.

ADmad 7 years ago
parent
commit
401870e6a0
2 changed files with 34 additions and 21 deletions
  1. 5 1
      src/View/ViewVarsTrait.php
  2. 29 20
      tests/TestCase/View/ViewVarsTraitTest.php

+ 5 - 1
src/View/ViewVarsTrait.php

@@ -80,7 +80,7 @@ trait ViewVarsTrait
             $builder->setClassName($viewClass);
         }
 
-        $validViewOptions = $this->viewOptions();
+        $validViewOptions = isset($this->_validViewOptions) ? $this->_validViewOptions : [];
         $viewOptions = [];
         foreach ($validViewOptions as $option) {
             if (property_exists($this, $option)) {
@@ -161,6 +161,10 @@ trait ViewVarsTrait
      */
     public function viewOptions($options = null, $merge = true)
     {
+        deprecationWarning(
+            'ViewVarsTrait::viewOptions() is deprecated, used ViewBuilder::setOptions() instead.'
+        );
+
         if (!isset($this->_validViewOptions)) {
             $this->_validViewOptions = [];
         }

+ 29 - 20
tests/TestCase/View/ViewVarsTraitTest.php

@@ -101,10 +101,12 @@ class ViewVarsTraitTest extends TestCase
      */
     public function testAddOneViewOption()
     {
-        $option = 'newOption';
-        $this->subject->viewOptions($option);
+        $this->deprecated(function () {
+            $option = 'newOption';
+            $this->subject->viewOptions($option);
 
-        $this->assertContains($option, $this->subject->viewOptions());
+            $this->assertContains($option, $this->subject->viewOptions());
+        });
     }
 
     /**
@@ -114,13 +116,15 @@ class ViewVarsTraitTest extends TestCase
      */
     public function testAddTwoViewOption()
     {
-        $this->subject->viewOptions(['oldOption'], false);
-        $option = ['newOption', 'anotherOption'];
-        $result = $this->subject->viewOptions($option);
-        $expects = ['oldOption', 'newOption', 'anotherOption'];
+        $this->deprecated(function () {
+            $this->subject->viewOptions(['oldOption'], false);
+            $option = ['newOption', 'anotherOption'];
+            $result = $this->subject->viewOptions($option);
+            $expects = ['oldOption', 'newOption', 'anotherOption'];
 
-        $this->assertContainsOnly('string', $result);
-        $this->assertEquals($expects, $result);
+            $this->assertContainsOnly('string', $result);
+            $this->assertEquals($expects, $result);
+        });
     }
 
     /**
@@ -130,10 +134,12 @@ class ViewVarsTraitTest extends TestCase
      */
     public function testReadingViewOptions()
     {
-        $expected = $this->subject->viewOptions(['one', 'two', 'three'], false);
-        $result = $this->subject->viewOptions();
+        $this->deprecated(function () {
+            $expected = $this->subject->viewOptions(['one', 'two', 'three'], false);
+            $result = $this->subject->viewOptions();
 
-        $this->assertEquals($expected, $result);
+            $this->assertEquals($expected, $result);
+        });
     }
 
     /**
@@ -143,11 +149,13 @@ class ViewVarsTraitTest extends TestCase
      */
     public function testMergeFalseViewOptions()
     {
-        $this->subject->viewOptions(['one', 'two', 'three'], false);
-        $expected = ['four', 'five', 'six'];
-        $result = $this->subject->viewOptions($expected, false);
+        $this->deprecated(function () {
+            $this->subject->viewOptions(['one', 'two', 'three'], false);
+            $expected = ['four', 'five', 'six'];
+            $result = $this->subject->viewOptions($expected, false);
 
-        $this->assertEquals($expected, $result);
+            $this->assertEquals($expected, $result);
+        });
     }
 
     /**
@@ -157,10 +165,11 @@ class ViewVarsTraitTest extends TestCase
      */
     public function testUndefinedValidViewOptions()
     {
-        $result = $this->subject->viewOptions([], false);
-
-        $this->assertInternalType('array', $result);
-        $this->assertEmpty($result);
+        $this->deprecated(function () {
+            $result = $this->subject->viewOptions([], false);
+            $this->assertInternalType('array', $result);
+            $this->assertEmpty($result);
+        });
     }
 
     /**