function test_collections()
 {
     $collection = new StyleCollection("div", null, "The Block", "Some Blocky Block");
     $collection->addSP(new ColorSP("#FFBBAA"));
     $css1 = $collection->getCSS();
     $css2 = "div {\n\tcolor: #FFBBAA;\n}\n";
     $this->assertIdentical($css1, $css2);
     $this->assertFalse($collection->canBeApplied());
     // another one
     $collection = new StyleCollection("p.col3", "col3", "The Block", "Some Blocky Block");
     $sp = $collection->addSP(new ColorSP("#FFBBAA"));
     $collection->addSP(new BorderSP("3em", "solid", "#421"));
     $css1 = $collection->getCSS("\t\t");
     $css2 = "\t\tp.col3 {\n\t\t\tcolor: #FFBBAA;\n\t\t\tborder: 3em solid #421;\n\t\t}\n";
     $this->assertIdentical($css1, $css2);
     $this->assertTrue($collection->canBeApplied());
     $this->assertIdentical($collection->getClassSelector(), "col3");
     $this->assertNotNull($collection->_SPs['color']);
     $sp1 = $collection->removeSP($sp);
     $this->assertReference($sp1, $sp);
     $this->assertTrue(!isset($collection->_SPs['color']));
     $sps = $collection->getSPs();
     $this->assertTrue(!isset($sps['color']));
 }
 function test_menu_components()
 {
     $theme = new Theme("", "");
     $heading = new MenuItemHeading("hoho", 3);
     $this->assertIdentical($heading->getType(), MENU_ITEM_HEADING);
     $this->assertIdentical($heading->getDisplayName(), "hoho");
     //			$comp->render($theme);
     $comp = new MenuItemLink("Google", "http://www.google.com", true, 1, "_BLANK", "g", "Go to the Google search page");
     $this->assertIdentical($comp->getDisplayName(), "Google");
     $this->assertIdentical($comp->getURL(), "http://www.google.com");
     $this->assertTrue($comp->isSelected());
     $this->assertIdentical($comp->getTarget(), "_BLANK");
     $this->assertIdentical($comp->getAccessKey(), "g");
     $this->assertIdentical($comp->getToolTip(), "Go to the Google search page");
     $this->assertIdentical($comp->getType(), MENU_ITEM_LINK_SELECTED);
     $comp->setDisplayName("1");
     $comp->setURL("2");
     $comp->setSelected(false);
     $comp->setTarget("4");
     $comp->setAccessKey("5");
     $comp->setToolTip("6");
     $this->assertIdentical($comp->getDisplayName(), "1");
     $this->assertIdentical($comp->getURL(), "2");
     $this->assertFalse($comp->isSelected());
     $this->assertIdentical($comp->getTarget(), "4");
     $this->assertIdentical($comp->getAccessKey(), "5");
     $this->assertIdentical($comp->getToolTip(), "6");
     $this->assertIdentical($comp->getType(), MENU_ITEM_LINK_UNSELECTED);
     $comp = new MenuItemLink("Google", "http://www.google.com", true, 1, "_BLANK", "g", "Go to the Google search page");
     $comp->addAttribute("name", "haha");
     //			$comp->render($theme);
     $menuStyle = new StyleCollection("*.menu", "menu", "Menu Style", "Style for the menu.");
     $menuStyle->addSP(new BackgroundColorSP("#997755"));
     $menuStyle->addSP(new BorderSP("1px", "solid", "#FFFFFF"));
     $menu = new Menu(new XLayout(), 4, $menuStyle);
     $this->assertTrue(!isset($comp->_selectedId));
     $menu->add($comp, "100px", null, CENTER);
     $this->assertIdentical($menu->_selectedId, 1);
     $this->assertIdentical($comp->isSelected(), true);
     $this->assertReference($menu->getSelected(), $comp);
     $comp1 = $comp;
     $menu->add($comp1, "100px", null, CENTER);
     $this->assertIdentical($menu->_selectedId, 2);
     $this->assertIdentical($comp1->isSelected(), true);
     $this->assertIdentical($comp->isSelected(), false);
     $this->assertReference($menu->getSelected(), $comp1);
     $comp2 = $comp;
     $comp2->setSelected(false);
     $menu->add($comp2, "100px", null, CENTER);
     $this->assertIdentical($menu->_selectedId, 2);
     $this->assertIdentical($comp->isSelected(), false);
     $this->assertIdentical($comp1->isSelected(), true);
     $this->assertIdentical($comp2->isSelected(), false);
     $this->assertReference($menu->getSelected(), $comp1);
     $menu->select(3);
     $this->assertIdentical($comp->isSelected(), false);
     $this->assertIdentical($comp1->isSelected(), false);
     $this->assertIdentical($comp2->isSelected(), true);
     $this->assertReference($menu->getSelected(), $comp2);
     $menu->add($heading, "100px", null, CENTER);
     echo "<style>";
     echo $menuStyle->getCSS();
     echo "</style>";
     $menu->render($theme);
 }