MockMenuBlock.php

Same filename and directory in other branches
  1. 9 core/modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/mock_block/MockMenuBlock.php
  2. 8.9.x core/modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/mock_block/MockMenuBlock.php
  3. 10 core/modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/mock_block/MockMenuBlock.php

Namespace

Drupal\plugin_test\Plugin\plugin_test\mock_block

File

core/modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/mock_block/MockMenuBlock.php

View source
<?php

namespace Drupal\plugin_test\Plugin\plugin_test\mock_block;


/**
 * Mock implementation of a menu block plugin used by Plugin API unit tests.
 *
 * @see \Drupal\plugin_test\Plugin\MockBlockManager
 */
class MockMenuBlock {
    
    /**
     * The title to display when rendering this block instance.
     *
     * @var string
     */
    protected $title;
    
    /**
     * The number of menu levels deep to render.
     *
     * @var int
     */
    protected $depth;
    public function __construct($title = '', $depth = 0) {
        $this->title = $title;
        $this->depth = $depth;
    }
    
    /**
     * Returns the content to display.
     */
    public function getContent() {
        // Since this is a mock object, we just return some HTML of the desired
        // nesting level. For depth=2, this returns:
        // '<ul><li>1<ul><li>1.1</li></ul></li></ul>'.
        $content = '';
        for ($i = 0; $i < $this->depth; $i++) {
            $content .= '<ul><li>' . implode('.', array_fill(0, $i + 1, '1'));
        }
        for ($i = 0; $i < $this->depth; $i++) {
            $content .= '</li></ul>';
        }
        return $content;
    }

}

Classes

Title Deprecated Summary
MockMenuBlock Mock implementation of a menu block plugin used by Plugin API unit tests.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.