Browse Source

Add tests for string properties.

Mark Story 10 years ago
parent
commit
d0ebb56c0f
2 changed files with 66 additions and 8 deletions
  1. 8 8
      src/View/ViewBuilder.php
  2. 58 0
      tests/TestCase/View/ViewBuilderTest.php

+ 8 - 8
src/View/ViewBuilder.php

@@ -37,11 +37,11 @@ class ViewBuilder
     protected $viewPath;
 
     /**
-     * The view file to render.
+     * The template file to render.
      *
      * @var string
      */
-    protected $view;
+    protected $template;
 
     /**
      * The plugin name to use.
@@ -90,7 +90,7 @@ class ViewBuilder
      *
      * @var string
      */
-    protected $viewClass;
+    protected $className;
 
     /**
      * The view variables to use
@@ -143,7 +143,7 @@ class ViewBuilder
      * On by default. Setting to off means that layouts will not be
      * automatically applied to rendered views.
      *
-     * @param bool|ull $autoLayout Boolean to turn on/off. If null returns current value.
+     * @param bool|null $autoLayout Boolean to turn on/off. If null returns current value.
      * @return bool|$this
      */
     public function autoLayout($autoLayout = null)
@@ -152,7 +152,7 @@ class ViewBuilder
             return $this->autoLayout;
         }
 
-        $this->autoLayout = $autoLayout;
+        $this->autoLayout = (bool)$autoLayout;
         return $this;
     }
 
@@ -211,13 +211,13 @@ class ViewBuilder
      * @param string|null $name View file name to set. If null returns current name.
      * @return string|$this
      */
-    public function view($name = null)
+    public function template($name = null)
     {
         if ($name === null) {
-            return $this->view;
+            return $this->template;
         }
 
-        $this->view = $name;
+        $this->template = $name;
         return $this;
     }
 

+ 58 - 0
tests/TestCase/View/ViewBuilderTest.php

@@ -0,0 +1,58 @@
+<?php
+/**
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * For full copyright and license information, please see the LICENSE.txt
+ * Redistributions of files must retain the above copyright notice
+ *
+ * @copyright     Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @since         3.1.0
+ * @license       http://www.opensource.org/licenses/mit-license.php MIT License
+ */
+namespace Cake\Test\TestCase\View;
+
+use Cake\TestSuite\TestCase;
+use Cake\View\ViewBuilder;
+
+/**
+ * View builder test case.
+ */
+class ViewBuilderTest extends TestCase
+{
+    /**
+     * data provider for string properties.
+     *
+     * @return array
+     */
+    public function stringPropertyProvider()
+    {
+        return [
+            ['layoutPath', 'Admin/'],
+            ['viewPath', 'Admin/'],
+            ['plugin', 'TestPlugin'],
+            ['layout', 'admin'],
+            ['theme', 'TestPlugin'],
+            ['template', 'edit'],
+            ['name', 'Articles'],
+            ['autoLayout', true],
+            ['className', 'Cake\View\JsonView'],
+        ];
+    }
+
+    /**
+     * Test string property accessor/mutator methods.
+     *
+     * @dataProvider stringPropertyProvider
+     * @return void
+     */
+    public function testStringProperties($property, $value)
+    {
+        $builder = new ViewBuilder();
+        $this->assertNull($builder->{$property}(), 'Default value should be null');
+        $this->assertSame($builder, $builder->{$property}($value), 'Setter returns this');
+        $this->assertSame($value, $builder->{$property}(), 'Getter gets value.');
+    }
+}