https://www.mediawiki.org/wiki/Special:Code/MediaWiki/115022
Revision: 115022
Author: netbrain
Date: 2012-04-24 14:02:20 +0000 (Tue, 24 Apr 2012)
Log Message:
-----------
added a new state to expanded property of a menu item.
a menu item does no longer show their controls (show/hide) of + or - is not
specified in the menu definition.
Modified Paths:
--------------
trunk/extensions/SideBarMenu/SideBarMenu.hooks.php
trunk/extensions/SideBarMenu/SideBarMenu.i18n.php
trunk/extensions/SideBarMenu/includes/MenuItem.php
trunk/extensions/SideBarMenu/includes/MenuParser.php
trunk/extensions/SideBarMenu/test/MenuItemTest.php
trunk/extensions/SideBarMenu/test/MenuParserTest.php
Modified: trunk/extensions/SideBarMenu/SideBarMenu.hooks.php
===================================================================
--- trunk/extensions/SideBarMenu/SideBarMenu.hooks.php 2012-04-24 12:08:14 UTC
(rev 115021)
+++ trunk/extensions/SideBarMenu/SideBarMenu.hooks.php 2012-04-24 14:02:20 UTC
(rev 115022)
@@ -15,7 +15,7 @@
$output = '<div class="sidebar-menu-container">';
try {
- $menuParser = new MenuParser($config[SBM_EXPANDED]);
+ $menuParser = new MenuParser($config);
$output .=
$parser->recursiveTagParse($menuParser->getMenuTree($input)->toHTML(), $frame);
} catch (Exception $x) {
wfDebug("An error occured during parsing of: '$input'
caught exception: $x");
Modified: trunk/extensions/SideBarMenu/SideBarMenu.i18n.php
===================================================================
--- trunk/extensions/SideBarMenu/SideBarMenu.i18n.php 2012-04-24 12:08:14 UTC
(rev 115021)
+++ trunk/extensions/SideBarMenu/SideBarMenu.i18n.php 2012-04-24 14:02:20 UTC
(rev 115022)
@@ -16,8 +16,8 @@
'sidebarmenu-parser-input-error' => 'Parser returned with error: $1',
'sidebarmenu-parser-syntax-error' => 'Could not parse "$1", make sure
the syntax is correct.',
'sidebarmenu-js-init-error' => 'Failed loading JavaScript resources.',
- 'sidebarmenu-parser-menuitem-expanded-null' =>
'"parser.menuitem.expanded" should be true or false, instead it is null.',
- 'sidebarmenu-edit' => 'Edit menu'
+ 'sidebarmenu-edit' => 'Edit menu',
+ 'sidebarmenu-parser-menuitem-expanded-null' => 'Invalid value given,
value should be one of null,true,false.'
);
/** Message documentation (Message documentation)
@@ -29,8 +29,8 @@
'sidebarmenu-parser-input-error' => '$1 is the error message returned',
'sidebarmenu-parser-syntax-error' => '$1 is the line which failed to be
parsed',
'sidebarmenu-js-init-error' => 'General error message',
- 'sidebarmenu-parser-menuitem-expanded-null' =>
'"parser.menuitem.expanded" is a configuration property.',
'sidebarmenu-edit' => 'The text/html of the edit link',
+ 'sidebarmenu-parser-menuitem-expanded-null' => 'The value of the
expanded property of a menuitem'
);
/** Belarusian (Taraškievica orthography) (Беларуская (тарашкевіца))
@@ -41,7 +41,6 @@
'sidebarmenu-parser-input-error' => 'Парсэр павярнуў памылку: $1',
'sidebarmenu-parser-syntax-error' => 'Не атрымалася разабраць «$1».
Запэўніцеся, што сынтэкс карэктны.',
'sidebarmenu-js-init-error' => 'Не атрымалася загрузіць
JavaScript-рэсурсы.',
- 'sidebarmenu-parser-menuitem-expanded-null' =>
'«parser.menuitem.expanded» мусіць павяртаць true ці false, але выстаўлены ў
null.',
);
/** German (Deutsch)
@@ -53,7 +52,6 @@
'sidebarmenu-parser-input-error' => 'Der Parser hat den folgenden
Fehler ausgegeben: $1',
'sidebarmenu-parser-syntax-error' => '„$1“ konnte nicht verarbeitet
werden. Bitte sicherstellen, dass die Syntax richtig ist.',
'sidebarmenu-js-init-error' => 'Das Laden des JavaScripts ist
gescheitert.',
- 'sidebarmenu-parser-menuitem-expanded-null' => 'Der Parameter
„<code>parser.menuitem.expanded</code>“ sollte mit „true“ oder „false“
festgelegt sein. Stattdessen wurde nichts festgelegt.',
'sidebarmenu-edit' => 'Menü bearbeiten',
);
@@ -65,7 +63,6 @@
'sidebarmenu-parser-input-error' => 'El analizador (parser) devolvió el
error: $1',
'sidebarmenu-parser-syntax-error' => 'No se pudo analizar "$1",
asegúrese de que la sintaxis es correcta.',
'sidebarmenu-js-init-error' => 'Error al cargar recursos de
JavaScript.',
- 'sidebarmenu-parser-menuitem-expanded-null' =>
'"parser.menuitem.expanded" debe tener el valor "true" o "false", en vez de
"null".',
'sidebarmenu-edit' => 'Editar el menú',
);
@@ -77,7 +74,6 @@
'sidebarmenu-parser-input-error' => "L'analyseur a renvoyé une erreur:
$1",
'sidebarmenu-parser-syntax-error' => 'Impossible d\'analyser "$1",
assurez-vous que la syntaxe est correcte.',
'sidebarmenu-js-init-error' => 'Échec au chargement des ressources
JavaScript.',
- 'sidebarmenu-parser-menuitem-expanded-null' =>
'"parser.menuitem.expanded" doit être true ou false, mais il est null.',
'sidebarmenu-edit' => 'Modifier le menu',
);
@@ -89,7 +85,6 @@
'sidebarmenu-parser-input-error' => 'O analizador devolveu o seguinte
erro: $1',
'sidebarmenu-parser-syntax-error' => 'Non se puido analizar "$1";
asegúrese de que a sintaxe é correcta.',
'sidebarmenu-js-init-error' => 'Erro ao cargar os recursos do
JavaScript.',
- 'sidebarmenu-parser-menuitem-expanded-null' =>
'"parser.menuitem.expanded" debe ter o valor "true" ou "false", pero ten
"null".',
);
/** Upper Sorbian (Hornjoserbsce)
@@ -100,7 +95,6 @@
'sidebarmenu-parser-input-error' => 'Parser je zmylk wróćił: $1',
'sidebarmenu-parser-syntax-error' => '"$1" njeda so parsować, zawěsćće,
zo syntaksa je korektna.',
'sidebarmenu-js-init-error' => 'Začitowanje JavaScriptowych resursow je
so njeporadźiło.',
- 'sidebarmenu-parser-menuitem-expanded-null' =>
'"parser.menuitem.expanded" dyrbjał hódnotu "true" abo "false" měć, Město toho
hódnota je nul.',
'sidebarmenu-edit' => 'Meni wobdźěłać',
);
@@ -112,8 +106,7 @@
'sidebarmenu-parser-input-error' => 'Le analysator syntactic retornava
un error: $1',
'sidebarmenu-parser-syntax-error' => 'Non poteva interpretar "$1".
Assecura que le syntaxe es correcte.',
'sidebarmenu-js-init-error' => 'Le cargamento de ressources JavaScript
ha fallite.',
- 'sidebarmenu-parser-menuitem-expanded-null' =>
'"parser.menuitem.expanded" debe esser "true" (ver) o "false" (false), ma illo
es "null" (sin valor).',
- 'sidebarmenu-edit' => 'Modificar menu',
+ 'sidebarmenu-edit' => 'Modificar',
);
/** Korean (한국어)
@@ -124,7 +117,6 @@
'sidebarmenu-parser-input-error' => '$1 오류가 발생했습니다.',
'sidebarmenu-parser-syntax-error' => '"$1"을 분석할 수 없었습니다. 구문이 올바른지
확인하십시오.',
'sidebarmenu-js-init-error' => '자바스크립트 리소스를 불러오지 못했습니다.',
- 'sidebarmenu-parser-menuitem-expanded-null' =>
'"parser.menuitem.expanded"는 참 또는 거짓이어야 하는데 지금 올바르지 않습니다.',
);
/** Luxembourgish (Lëtzebuergesch)
@@ -133,7 +125,6 @@
$messages['lb'] = array(
'sidebarmenu-parser-input-error' => 'Parser-Feeler: $1',
'sidebarmenu-js-init-error' => 'De JavaScript konnt net geluede ginn.',
- 'sidebarmenu-parser-menuitem-expanded-null' => 'De Parameter
„<code>parser.menuitem.expanded</code>“ solle entweder „true“ oder „false“
sinn. En ass awer eidel (null).',
);
/** Macedonian (Македонски)
@@ -144,7 +135,6 @@
'sidebarmenu-parser-input-error' => 'Парсерот се врати со грешката: $1',
'sidebarmenu-parser-syntax-error' => 'Не можам да го предадам редот
„$1“. Проверете дали синтаксата е исправна.',
'sidebarmenu-js-init-error' => 'Вчитувањето на ресурсите на JavaScript
не успеа.',
- 'sidebarmenu-parser-menuitem-expanded-null' => 'Параметарот
„parser.menuitem.expanded“ треба да има зададено „true“ или „false“, а
моментално нема ништо.',
'sidebarmenu-edit' => 'Уреди',
);
@@ -156,7 +146,6 @@
'sidebarmenu-parser-input-error' => 'Penghurai dikembalikan dengan
ralat: $1',
'sidebarmenu-parser-syntax-error' => '"$1" tidak dapat dihuraikan, sila
pastikan sintaksnya betul.',
'sidebarmenu-js-init-error' => 'Sumber-sumber JavaScript gagal
dimuatkan.',
- 'sidebarmenu-parser-menuitem-expanded-null' =>
'"parser.menuitem.expanded" mestilah benar (true) atau palsu (false), tetapi ia
nol (null).',
);
/** Dutch (Nederlands)
@@ -170,7 +159,6 @@
'sidebarmenu-parser-input-error' => 'Er is een foutmelding uit de
parser teruggekomen: $1',
'sidebarmenu-parser-syntax-error' => 'Het was niet mogelijk om "$1" te
verwerken. Zorg ervoor dat de syntaxis correct is.',
'sidebarmenu-js-init-error' => 'Het laden van de JavaScriptbronnen is
mislukt.',
- 'sidebarmenu-parser-menuitem-expanded-null' =>
'"parser.menuitem.expanded" moet waar of onwaar zijn. Deze is nu null.',
'sidebarmenu-edit' => 'Bewerken',
);
@@ -182,7 +170,6 @@
'sidebarmenu-parser-input-error' => 'Analizator zwrócił błąd: $1',
'sidebarmenu-parser-syntax-error' => 'Nie można przeanalizować "$1",
upewnij się, że składnia jest poprawna.',
'sidebarmenu-js-init-error' => 'Nie powiodło się ładowanie zasobów z
kodem JavaScript.',
- 'sidebarmenu-parser-menuitem-expanded-null' =>
'"parser.menuitem.expanded" powinien mieć wartość true lub false, zamiast tego
jest pusty.',
);
/** Pashto (پښتو)
@@ -200,6 +187,5 @@
'sidebarmenu-parser-input-error' => '解析器返回错误:$1',
'sidebarmenu-parser-syntax-error' => '无法解析"$1",请确认语法是否正确。',
'sidebarmenu-js-init-error' => 'JavaScript资源加载失败。',
- 'sidebarmenu-parser-menuitem-expanded-null' =>
'"parser.menuitem.expanded"应该为 true 或 false;相反,它却为空(null)。',
);
Modified: trunk/extensions/SideBarMenu/includes/MenuItem.php
===================================================================
--- trunk/extensions/SideBarMenu/includes/MenuItem.php 2012-04-24 12:08:14 UTC
(rev 115021)
+++ trunk/extensions/SideBarMenu/includes/MenuItem.php 2012-04-24 14:02:20 UTC
(rev 115022)
@@ -1,24 +1,36 @@
<?php
class MenuItem {
- private $expanded = false;
+ private $expanded = null;
private $children = array();
private $parent = null;
private $text;
private $customCSSStyle;
private $customCSSClasses;
+ private $config;
+ function __construct($config) {
+ $this->config = $config;
+ }
public function setExpanded($expanded) {
- if (is_null($expanded)) {
- throw new
InvalidArgumentException(wfMsg('sidebarmenu-parser-menuitem-expanded-null'));
+ if (is_null($expanded) || $expanded === true || $expanded ===
false) {
+ $this->expanded = $expanded;
} else {
- $this->expanded = $expanded;
+ throw new
InvalidArgumentException(wfMsg('sidebarmenu-parser-menuitem-expanded-invalid'));
}
}
+ public function isExpandedSpecified(){
+ return !is_null($this->expanded);
+ }
+
public function isExpanded() {
- return $this->expanded;
+ if($this->isExpandedSpecified()){
+ return $this->expanded;
+ }else{
+ return $this->config[SBM_EXPANDED];
+ }
}
public function setText($link) {
@@ -76,7 +88,11 @@
$itemClasses[] = 'sidebar-menu-item-' .
$this->getLevel();
if ($this->hasChildren()) {
- $itemClasses[] = $this->isExpanded() ?
'sidebar-menu-item-expanded' : 'sidebar-menu-item-collapsed';
+ if($this->isExpandedSpecified()){
+ $itemClasses[] = $this->isExpanded() ?
'sidebar-menu-item-expanded' : 'sidebar-menu-item-collapsed';
+ }else{
+ $itemClasses[] =
$this->config[SBM_EXPANDED] ? 'sidebar-menu-item-expanded' :
'sidebar-menu-item-collapsed';
+ }
}
if ($this->hasCustomCSSClasses()) {
@@ -90,7 +106,7 @@
$output .= "<div
class=\"sidebar-menu-item-text-container\">";
$output .= "<span class=\"" . join(' ', $textClasses) .
"\">" . $this->getText() . "</span>";
- if ($this->hasChildren()) {
+ if ($this->hasChildren() &&
$this->isExpandedSpecified()) {
$output .= "<span
class=\"sidebar-menu-item-controls\"></span>";
}
Modified: trunk/extensions/SideBarMenu/includes/MenuParser.php
===================================================================
--- trunk/extensions/SideBarMenu/includes/MenuParser.php 2012-04-24
12:08:14 UTC (rev 115021)
+++ trunk/extensions/SideBarMenu/includes/MenuParser.php 2012-04-24
14:02:20 UTC (rev 115022)
@@ -1,13 +1,12 @@
<?php
class MenuParser {
- private $expandedByDefault;
+ private $config;
- function __construct($expandedByDefault) {
- $this->expandedByDefault = $expandedByDefault;
+ function __construct($config) {
+ $this->config = $config;
}
-
public function isValidInput($data) {
return !(is_null($data) || strlen($data) == 0);
}
@@ -25,7 +24,7 @@
return false;
}
}
- return $this->expandedByDefault;
+ return null;
}
public function getTextParameter($line) {
@@ -44,7 +43,7 @@
public function getMenuTree($data) {
if ($this->isValidInput($data)) {
$data = $this->cleanupData($data);
- $root = new MenuItem();
+ $root = new MenuItem($this->config);
$root->setExpanded(true);
$arrayData =
$this->parseDataIntoHierarchicalArray($data);
$this->addChildrenToMenuItemFromArrayData($root,
$arrayData);
@@ -57,7 +56,7 @@
public function getMenuItem($line) {
$line = trim($line);
if ($this->isValidInput($line)) {
- $menuItem = new MenuItem();
+ $menuItem = new MenuItem($this->config);
$menuItem->setExpanded($this->getExpandedParameter($line));
$menuItem->setText($this->getTextParameter($line));
$menuItem->setCustomCSSStyle($this->getStyleParameter($line));
Modified: trunk/extensions/SideBarMenu/test/MenuItemTest.php
===================================================================
--- trunk/extensions/SideBarMenu/test/MenuItemTest.php 2012-04-24 12:08:14 UTC
(rev 115021)
+++ trunk/extensions/SideBarMenu/test/MenuItemTest.php 2012-04-24 14:02:20 UTC
(rev 115022)
@@ -2,9 +2,11 @@
class MenuItemTest extends MediaWikiTestCase {
private $menuItem;
+ private $config;
protected function setUp() {
- $this->menuItem = new MenuItem();
+ $this->config = array(SBM_EXPANDED => false);
+ $this->menuItem = new MenuItem($this->config);
}
public function testIsRoot() {
@@ -12,7 +14,7 @@
}
public function testIsNotRoot() {
- $this->menuItem->setParent(new MenuItem());
+ $this->menuItem->setParent(new MenuItem($this->config));
$this->assertFalse($this->menuItem->isRoot());
}
@@ -21,14 +23,14 @@
}
public function testGetLevelWhenChild() {
- $this->menuItem->setParent(new MenuItem());
+ $this->menuItem->setParent(new MenuItem($this->config));
$this->assertEquals(1, $this->menuItem->getLevel());
}
public function testGetLevelWhenSeveralChildren() {
$prev = $this->menuItem;
for ($x = 0; $x < 10; $x++) {
- $child = new MenuItem();
+ $child = new MenuItem($this->config);
$child->setParent($prev);
$prev = $child;
@@ -37,14 +39,14 @@
}
public function testAddChildAlsoAddsParent() {
- $child = new MenuItem();
+ $child = new MenuItem($this->config);
$this->menuItem->addChild($child);
$this->assertContains($child, $this->menuItem->getChildren());
$this->assertEquals($child->getParent(), $this->menuItem);
}
public function testAddSameChildSeveralTimes() {
- $child = new MenuItem();
+ $child = new MenuItem($this->config);
for ($x = 0; $x < 3; $x++) {
$this->menuItem->addChild($child);
}
@@ -52,7 +54,7 @@
}
public function testAddParentAlsoAddsChild() {
- $parent = new MenuItem();
+ $parent = new MenuItem($this->config);
$this->menuItem->setParent($parent);
$this->assertContains($this->menuItem, $parent->getChildren());
}
@@ -63,7 +65,7 @@
}
public function testToHTMLOnProperMenuItem() {
- $menuItemChild = new MenuItem();
+ $menuItemChild = new MenuItem($this->config);
$menuItemChild->setText("MenuItem1");
$this->menuItem->addChild($menuItemChild);
$html = $this->menuItem->toHTML();
@@ -71,9 +73,9 @@
}
public function testToHTMLOnSeveralMenuItems() {
- $menuItemChild1 = new MenuItem();
+ $menuItemChild1 = new MenuItem($this->config);
$menuItemChild1->setText("MenuItem1");
- $menuItemChild2 = new MenuItem();
+ $menuItemChild2 = new MenuItem($this->config);
$menuItemChild2->setText("MenuItem2");
$this->menuItem->addChild($menuItemChild1);
@@ -84,25 +86,55 @@
}
public function testToHTMLOnSeveralMenuItemsWithSublevels() {
- $menuItemChild1 = new MenuItem();
+ $menuItemChild1 = new MenuItem($this->config);
$menuItemChild1->setText("MenuItem1");
- $menuItemChild2 = new MenuItem();
+ $menuItemChild2 = new MenuItem($this->config);
$menuItemChild2->setText("MenuItem2");
$this->menuItem->addChild($menuItemChild1);
$this->menuItem->addChild($menuItemChild2);
- $subLevel1 = new MenuItem();
+ $subLevel1 = new MenuItem($this->config);
$subLevel1->setText("SubMenuItem1");
$subLevel1->setParent($menuItemChild2);
$html = $this->menuItem->toHTML();
- $this->assertEquals('<ul class="sidebar-menu
sidebar-menu-0"><li class="sidebar-menu-item sidebar-menu-item-1"><div
class="sidebar-menu-item-text-container"><span class="sidebar-menu-item-text
sidebar-menu-item-text-1">MenuItem1</span></div></li><li
class="sidebar-menu-item sidebar-menu-item-1 sidebar-menu-item-collapsed"><div
class="sidebar-menu-item-text-container"><span class="sidebar-menu-item-text
sidebar-menu-item-text-1">MenuItem2</span><span
class="sidebar-menu-item-controls"></span></div><ul class="sidebar-menu
sidebar-menu-1"><li class="sidebar-menu-item sidebar-menu-item-2"><div
class="sidebar-menu-item-text-container"><span class="sidebar-menu-item-text
sidebar-menu-item-text-2">SubMenuItem1</span></div></li></ul></li></ul>',
$html);
+ $this->assertEquals('<ul class="sidebar-menu
sidebar-menu-0"><li class="sidebar-menu-item sidebar-menu-item-1"><div
class="sidebar-menu-item-text-container"><span class="sidebar-menu-item-text
sidebar-menu-item-text-1">MenuItem1</span></div></li><li
class="sidebar-menu-item sidebar-menu-item-1 sidebar-menu-item-collapsed"><div
class="sidebar-menu-item-text-container"><span class="sidebar-menu-item-text
sidebar-menu-item-text-1">MenuItem2</span></div><ul class="sidebar-menu
sidebar-menu-1"><li class="sidebar-menu-item sidebar-menu-item-2"><div
class="sidebar-menu-item-text-container"><span class="sidebar-menu-item-text
sidebar-menu-item-text-2">SubMenuItem1</span></div></li></ul></li></ul>',
$html);
}
+ public function
testToHTMLOnSeveralMenuItemsWithSublevelsWhereExpandedIsTrue() {
+ $menuItemChild = new MenuItem($this->config);
+ $menuItemChild->setText("MenuItem");
+ $menuItemChild->setExpanded(true);
+ $this->menuItem->addChild($menuItemChild);
+
+ $subLevel1 = new MenuItem($this->config);
+ $subLevel1->setText("SubMenuItem1");
+ $subLevel1->setParent($menuItemChild);
+
+ $html = $this->menuItem->toHTML();
+ $this->assertEquals('<ul class="sidebar-menu
sidebar-menu-0"><li class="sidebar-menu-item sidebar-menu-item-1
sidebar-menu-item-expanded"><div class="sidebar-menu-item-text-container"><span
class="sidebar-menu-item-text sidebar-menu-item-text-1">MenuItem</span><span
class="sidebar-menu-item-controls"></span></div><ul class="sidebar-menu
sidebar-menu-1"><li class="sidebar-menu-item sidebar-menu-item-2"><div
class="sidebar-menu-item-text-container"><span class="sidebar-menu-item-text
sidebar-menu-item-text-2">SubMenuItem1</span></div></li></ul></li></ul>',
$html);
+ }
+
+ public function
testToHTMLOnSeveralMenuItemsWithSublevelsWhereExpandedIsFalse() {
+ $menuItemChild = new MenuItem($this->config);
+ $menuItemChild->setText("MenuItem");
+ $menuItemChild->setExpanded(false);
+
+ $this->menuItem->addChild($menuItemChild);
+
+ $subLevel1 = new MenuItem($this->config);
+ $subLevel1->setText("SubMenuItem1");
+ $subLevel1->setParent($menuItemChild);
+
+ $html = $this->menuItem->toHTML();
+ $this->assertEquals('<ul class="sidebar-menu
sidebar-menu-0"><li class="sidebar-menu-item sidebar-menu-item-1
sidebar-menu-item-collapsed"><div
class="sidebar-menu-item-text-container"><span class="sidebar-menu-item-text
sidebar-menu-item-text-1">MenuItem</span><span
class="sidebar-menu-item-controls"></span></div><ul class="sidebar-menu
sidebar-menu-1"><li class="sidebar-menu-item sidebar-menu-item-2"><div
class="sidebar-menu-item-text-container"><span class="sidebar-menu-item-text
sidebar-menu-item-text-2">SubMenuItem1</span></div></li></ul></li></ul>',
$html);
+ }
+
+
public function testToHTMLOnMenuItemWithStyling() {
- $menuItemChild = new MenuItem();
+ $menuItemChild = new MenuItem($this->config);
$menuItemChild->setText("MenuItem1");
$menuItemChild->setCustomCSSStyle('color: red;');
$this->menuItem->addChild($menuItemChild);
@@ -111,7 +143,7 @@
}
public function testToHTMLOnMenuItemWithCustomClasses() {
- $menuItemChild = new MenuItem();
+ $menuItemChild = new MenuItem($this->config);
$menuItemChild->setText("MenuItem1");
$menuItemChild->setCustomCSSClasses('testclass1 testclass2');
$this->menuItem->addChild($menuItemChild);
Modified: trunk/extensions/SideBarMenu/test/MenuParserTest.php
===================================================================
--- trunk/extensions/SideBarMenu/test/MenuParserTest.php 2012-04-24
12:08:14 UTC (rev 115021)
+++ trunk/extensions/SideBarMenu/test/MenuParserTest.php 2012-04-24
14:02:20 UTC (rev 115022)
@@ -3,9 +3,11 @@
class MenuParserTest extends MediaWikiTestCase {
private $menuParser;
+ private $config;
protected function setUp() {
- $this->menuParser = new MenuParser(true);
+ $this->config = array(SBM_EXPANDED => true);
+ $this->menuParser = new MenuParser($this->config);
}
public function testValidInputWhenNull() {
@@ -37,10 +39,10 @@
}
public function testGetExpandedParameterWhenNoneSupplied() {
- $this->menuParser = new MenuParser(true);
-
$this->assertTrue($this->menuParser->getExpandedParameter("MenuItem"));
- $this->menuParser = new MenuParser(false);
-
$this->assertFalse($this->menuParser->getExpandedParameter("MenuItem"));
+ $menuParser = new MenuParser(array(SBM_EXPANDED => true));
+
$this->assertNull($menuParser->getExpandedParameter("MenuItem"));
+ $menuParser = new MenuParser(array(SBM_EXPANDED => false));
+
$this->assertNull($menuParser->getExpandedParameter("MenuItem"));
}
public function testGetExpandedParameterWhenNotExpanded() {
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs