diff --git a/tests/system/PEAR/Testing/Selenium.php b/tests/system/PEAR/Testing/Selenium.php deleted file mode 100644 index a49c57ed2fda7..0000000000000 --- a/tests/system/PEAR/Testing/Selenium.php +++ /dev/null @@ -1,2755 +0,0 @@ - - * @author Bjoern Schotte - * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0 - * @version @package_version@ - * @see http://www.openqa.org/selenium-rc/ - * @since 0.1 - */ - -/** - * Selenium exception class - */ -require_once 'Testing/Selenium/Exception.php'; - -/** - * Defines an object that runs Selenium commands. - * - * - *

- * Element Locators - *

- * - * Element Locators tell Selenium which HTML element a command refers to. - * The format of a locator is: - *

- * - * locatorType=argument - *

- *

- * - * We support the following strategies for locating elements: - * - *

- *

- * - * Without an explicit locator prefix, Selenium uses the following default - * strategies: - * - *

- * - *

- * Element Filters - *

- * - *

- * Element filters can be used with a locator to refine a list of candidate elements. They are currently used only in the 'name' element-locator. - *

-

- * Filters look much like locators, ie. - *

-

- * - * filterType=argument - *

- *

- * Supported element-filters are: - *

-

- * value=valuePattern - *

-

- * - * - * Matches elements based on their values. This is particularly useful for refining a list of similarly-named toggle-buttons. - *

- *

- * index=index - *

-

- * - * - * Selects a single element based on its position in the list (offset from zero). - *

- * - *

- * - *

- * String-match Patterns - *

- * - * Various Pattern syntaxes are available for matching string values: - * - *

- *

- * - * If no pattern prefix is specified, Selenium assumes that it's a "glob" - * pattern. - * - *

- * - * For commands that return multiple values (such as verifySelectOptions), - * the string being matched is a comma-separated list of the return values, - * where both commas and backslashes in the values are backslash-escaped. - * When providing a pattern, the optional matching syntax (i.e. glob, - * regexp, etc.) is specified once, as usual, at the beginning of the - * pattern. - * - *

- * - * @package Selenium - * @author Shin Ohno - * @author Bjoern Schotte - */ -class Testing_Selenium -{ - /** - * @var string - * @access private - */ - private $browser; - - /** - * @var string - * @access private - */ - private $browserUrl; - - /** - * @var string - * @access private - */ - private $host; - - /** - * @var int - * @access private - */ - private $port; - - /** - * @var string - * @access private - */ - private $sessionId; - - /** - * @var string - * @access private - */ - private $timeout; - - /** - * Constructor - * - * @param string $browser - * @param string $browserUrl - * @param string $host - * @param int $port - * @param int $timeout - * @access public - * @throws Testing_Selenium_Exception - */ - public function __construct($browser, $browserUrl, $host = 'localhost', $port = 4444, $timeout = 30000) - { - $this->browser = $browser; - $this->browserUrl = $browserUrl; - $this->host = $host; - $this->port = $port; - $this->timeout = $timeout; - } - - /** - * Run the browser and set session id. - * - * @access public - * @return void - */ - public function start() - { - $this->sessionId = $this->getString("getNewBrowserSession", array($this->browser, $this->browserUrl)); - return $this->sessionId; - } - - /** - * Close the browser and set session id null - * - * @access public - * @return void - */ - public function stop() - { - $this->doCommand("testComplete"); - $this->sessionId = null; - } - - /** - * Clicks on a link, button, checkbox or radio button. If the click action - * causes a new page to load (like a link usually does), call - * waitForPageToLoad. - * - * @access public - * @param string $locator an element locator - */ - public function click($locator) - { - $this->doCommand("click", array($locator)); - } - - - /** - * Double clicks on a link, button, checkbox or radio button. If the double click action - * causes a new page to load (like a link usually does), call - * waitForPageToLoad. - * - * @access public - * @param string $locator an element locator - */ - public function doubleClick($locator) - { - $this->doCommand("doubleClick", array($locator)); - } - - - /** - * Simulates opening the context menu for the specified element (as might happen if the user "right-clicked" on the element). - * - * @access public - * @param string $locator an element locator - */ - public function contextMenu($locator) - { - $this->doCommand("contextMenu", array($locator)); - } - - - /** - * Clicks on a link, button, checkbox or radio button. If the click action - * causes a new page to load (like a link usually does), call - * waitForPageToLoad. - * - * @access public - * @param string $locator an element locator - * @param string $coordString specifies the x,y position (i.e. - 10,20) of the mouse event relative to the element returned by the locator. - */ - public function clickAt($locator, $coordString) - { - $this->doCommand("clickAt", array($locator, $coordString)); - } - - - /** - * Doubleclicks on a link, button, checkbox or radio button. If the action - * causes a new page to load (like a link usually does), call - * waitForPageToLoad. - * - * @access public - * @param string $locator an element locator - * @param string $coordString specifies the x,y position (i.e. - 10,20) of the mouse event relative to the element returned by the locator. - */ - public function doubleClickAt($locator, $coordString) - { - $this->doCommand("doubleClickAt", array($locator, $coordString)); - } - - - /** - * Simulates opening the context menu for the specified element (as might happen if the user "right-clicked" on the element). - * - * @access public - * @param string $locator an element locator - * @param string $coordString specifies the x,y position (i.e. - 10,20) of the mouse event relative to the element returned by the locator. - */ - public function contextMenuAt($locator, $coordString) - { - $this->doCommand("contextMenuAt", array($locator, $coordString)); - } - - - /** - * Explicitly simulate an event, to trigger the corresponding "onevent" - * handler. - * - * @access public - * @param string $locator an element locator - * @param string $eventName the event name, e.g. "focus" or "blur" - */ - public function fireEvent($locator, $eventName) - { - $this->doCommand("fireEvent", array($locator, $eventName)); - } - - - /** - * Move the focus to the specified element; for example, if the element is an input field, move the cursor to that field. - * - * @access public - * @param string $locator an element locator - */ - public function focus($locator) - { - $this->doCommand("focus", array($locator)); - } - - - /** - * Simulates a user pressing and releasing a key. - * - * @access public - * @param string $locator an element locator - * @param string $keySequence Either be a string("\" followed by the numeric keycode of the key to be pressed, normally the ASCII value of that key), or a single character. For example: "w", "\119". - */ - public function keyPress($locator, $keySequence) - { - $this->doCommand("keyPress", array($locator, $keySequence)); - } - - - /** - * Press the shift key and hold it down until doShiftUp() is called or a new page is loaded. - * - * @access public - */ - public function shiftKeyDown() - { - $this->doCommand("shiftKeyDown", array()); - } - - - /** - * Release the shift key. - * - * @access public - */ - public function shiftKeyUp() - { - $this->doCommand("shiftKeyUp", array()); - } - - - /** - * Press the meta key and hold it down until doMetaUp() is called or a new page is loaded. - * - * @access public - */ - public function metaKeyDown() - { - $this->doCommand("metaKeyDown", array()); - } - - - /** - * Release the meta key. - * - * @access public - */ - public function metaKeyUp() - { - $this->doCommand("metaKeyUp", array()); - } - - - /** - * Press the alt key and hold it down until doAltUp() is called or a new page is loaded. - * - * @access public - */ - public function altKeyDown() - { - $this->doCommand("altKeyDown", array()); - } - - - /** - * Release the alt key. - * - * @access public - */ - public function altKeyUp() - { - $this->doCommand("altKeyUp", array()); - } - - - /** - * Press the control key and hold it down until doControlUp() is called or a new page is loaded. - * - * @access public - */ - public function controlKeyDown() - { - $this->doCommand("controlKeyDown", array()); - } - - - /** - * Release the control key. - * - * @access public - */ - public function controlKeyUp() - { - $this->doCommand("controlKeyUp", array()); - } - - - /** - * Simulates a user pressing a key (without releasing it yet). - * - * @access public - * @param string $locator an element locator - * @param string $keySequence Either be a string("\" followed by the numeric keycode of the key to be pressed, normally the ASCII value of that key), or a single character. For example: "w", "\119". - */ - public function keyDown($locator, $keySequence) - { - $this->doCommand("keyDown", array($locator, $keySequence)); - } - - - /** - * Simulates a user releasing a key. - * - * @access public - * @param string $locator an element locator - * @param string $keySequence Either be a string("\" followed by the numeric keycode of the key to be pressed, normally the ASCII value of that key), or a single character. For example: "w", "\119". - */ - public function keyUp($locator, $keySequence) - { - $this->doCommand("keyUp", array($locator, $keySequence)); - } - - - /** - * Simulates a user hovering a mouse over the specified element. - * - * @access public - * @param string $locator an element locator - */ - public function mouseOver($locator) - { - $this->doCommand("mouseOver", array($locator)); - } - - - /** - * Simulates a user moving the mouse pointer away from the specified element. - * - * @access public - * @param string $locator an element locator - */ - public function mouseOut($locator) - { - $this->doCommand("mouseOut", array($locator)); - } - - - /** - * Simulates a user pressing the left mouse button (without releasing it yet) on - * the specified element. - * - * @access public - * @param string $locator an element locator - */ - public function mouseDown($locator) - { - $this->doCommand("mouseDown", array($locator)); - } - - - /** - * Simulates a user pressing the right mouse button (without releasing it yet) on - * the specified element. - * - * @access public - * @param string $locator an element locator - */ - public function mouseDownRight($locator) - { - $this->doCommand("mouseDownRight", array($locator)); - } - - - /** - * Simulates a user pressing the left mouse button (without releasing it yet) at - * the specified location. - * - * @access public - * @param string $locator an element locator - * @param string $coordString specifies the x,y position (i.e. - 10,20) of the mouse event relative to the element returned by the locator. - */ - public function mouseDownAt($locator, $coordString) - { - $this->doCommand("mouseDownAt", array($locator, $coordString)); - } - - - /** - * Simulates a user pressing the right mouse button (without releasing it yet) at - * the specified location. - * - * @access public - * @param string $locator an element locator - * @param string $coordString specifies the x,y position (i.e. - 10,20) of the mouse event relative to the element returned by the locator. - */ - public function mouseDownRightAt($locator, $coordString) - { - $this->doCommand("mouseDownRightAt", array($locator, $coordString)); - } - - - /** - * Simulates the event that occurs when the user releases the mouse button (i.e., stops - * holding the button down) on the specified element. - * - * @access public - * @param string $locator an element locator - */ - public function mouseUp($locator) - { - $this->doCommand("mouseUp", array($locator)); - } - - - /** - * Simulates the event that occurs when the user releases the right mouse button (i.e., stops - * holding the button down) on the specified element. - * - * @access public - * @param string $locator an element locator - */ - public function mouseUpRight($locator) - { - $this->doCommand("mouseUpRight", array($locator)); - } - - - /** - * Simulates the event that occurs when the user releases the mouse button (i.e., stops - * holding the button down) at the specified location. - * - * @access public - * @param string $locator an element locator - * @param string $coordString specifies the x,y position (i.e. - 10,20) of the mouse event relative to the element returned by the locator. - */ - public function mouseUpAt($locator, $coordString) - { - $this->doCommand("mouseUpAt", array($locator, $coordString)); - } - - - /** - * Simulates the event that occurs when the user releases the right mouse button (i.e., stops - * holding the button down) at the specified location. - * - * @access public - * @param string $locator an element locator - * @param string $coordString specifies the x,y position (i.e. - 10,20) of the mouse event relative to the element returned by the locator. - */ - public function mouseUpRightAt($locator, $coordString) - { - $this->doCommand("mouseUpRightAt", array($locator, $coordString)); - } - - - /** - * Simulates a user pressing the mouse button (without releasing it yet) on - * the specified element. - * - * @access public - * @param string $locator an element locator - */ - public function mouseMove($locator) - { - $this->doCommand("mouseMove", array($locator)); - } - - - /** - * Simulates a user pressing the mouse button (without releasing it yet) on - * the specified element. - * - * @access public - * @param string $locator an element locator - * @param string $coordString specifies the x,y position (i.e. - 10,20) of the mouse event relative to the element returned by the locator. - */ - public function mouseMoveAt($locator, $coordString) - { - $this->doCommand("mouseMoveAt", array($locator, $coordString)); - } - - - /** - * Sets the value of an input field, as though you typed it in. - * - *

- * Can also be used to set the value of combo boxes, check boxes, etc. In these cases, - * value should be the value of the option selected, not the visible text. - *

- * - * @access public - * @param string $locator an element locator - * @param string $value the value to type - */ - public function type($locator, $value) - { - $this->doCommand("type", array($locator, $value)); - } - - - /** - * Simulates keystroke events on the specified element, as though you typed the value key-by-key. - * - *

- * This is a convenience method for calling keyDown, keyUp, keyPress for every character in the specified string; - * this is useful for dynamic UI widgets (like auto-completing combo boxes) that require explicit key events. - *

- * Unlike the simple "type" command, which forces the specified value into the page directly, this command - * may or may not have any visible effect, even in cases where typing keys would normally have a visible effect. - * For example, if you use "typeKeys" on a form element, you may or may not see the results of what you typed in - * the field. - *

- * In some cases, you may need to use the simple "type" command to set the value of the field and then the "typeKeys" command to - * send the keystroke events corresponding to what you just typed. - *

- * - * @access public - * @param string $locator an element locator - * @param string $value the value to type - */ - public function typeKeys($locator, $value) - { - $this->doCommand("typeKeys", array($locator, $value)); - } - - - /** - * Set execution speed (i.e., set the millisecond length of a delay which will follow each selenium operation). By default, there is no such delay, i.e., - * the delay is 0 milliseconds. - * - * @access public - * @param string $value the number of milliseconds to pause after operation - */ - public function setSpeed($value) - { - $this->doCommand("setSpeed", array($value)); - } - - - /** - * Get execution speed (i.e., get the millisecond length of the delay following each selenium operation). By default, there is no such delay, i.e., - * the delay is 0 milliseconds. - * - * See also setSpeed. - * - * @access public - * @return string the execution speed in milliseconds. - */ - public function getSpeed() - { - return $this->getString("getSpeed", array()); - } - - - /** - * Check a toggle-button (checkbox/radio) - * - * @access public - * @param string $locator an element locator - */ - public function check($locator) - { - $this->doCommand("check", array($locator)); - } - - - /** - * Uncheck a toggle-button (checkbox/radio) - * - * @access public - * @param string $locator an element locator - */ - public function uncheck($locator) - { - $this->doCommand("uncheck", array($locator)); - } - - - /** - * Select an option from a drop-down using an option locator. - * - *

- * - * Option locators provide different ways of specifying options of an HTML - * Select element (e.g. for selecting a specific option, or for asserting - * that the selected option satisfies a specification). There are several - * forms of Select Option Locator. - * - *

- *
    - * - *
  • - * label=labelPattern: - * matches options based on their labels, i.e. the visible text. (This - * is the default.) - * - *
      - * - *
    • - * label=regexp:^[Oo]ther - *
    • - *
    - *
  • - *
  • - * value=valuePattern: - * matches options based on their values. - * - *
      - * - *
    • - * value=other - *
    • - *
    - *
  • - *
  • - * id=id: - * - * matches options based on their ids. - * - *
      - * - *
    • - * id=option1 - *
    • - *
    - *
  • - *
  • - * index=index: - * matches an option based on its index (offset from zero). - * - *
      - * - *
    • - * index=2 - *
    • - *
    - *
  • - *

- * - * If no option locator prefix is provided, the default behaviour is to match on label. - * - *

- * - * @access public - * @param string $selectLocator an element locator identifying a drop-down menu - * @param string $optionLocator an option locator (a label by default) - */ - public function select($selectLocator, $optionLocator) - { - $this->doCommand("select", array($selectLocator, $optionLocator)); - } - - - /** - * Add a selection to the set of selected options in a multi-select element using an option locator. - * - * @see #doSelect for details of option locators - * - * @access public - * @param string $locator an element locator identifying a multi-select box - * @param string $optionLocator an option locator (a label by default) - */ - public function addSelection($locator, $optionLocator) - { - $this->doCommand("addSelection", array($locator, $optionLocator)); - } - - - /** - * Remove a selection from the set of selected options in a multi-select element using an option locator. - * - * @see #doSelect for details of option locators - * - * @access public - * @param string $locator an element locator identifying a multi-select box - * @param string $optionLocator an option locator (a label by default) - */ - public function removeSelection($locator, $optionLocator) - { - $this->doCommand("removeSelection", array($locator, $optionLocator)); - } - - - /** - * Unselects all of the selected options in a multi-select element. - * - * @access public - * @param string $locator an element locator identifying a multi-select box - */ - public function removeAllSelections($locator) - { - $this->doCommand("removeAllSelections", array($locator)); - } - - - /** - * Submit the specified form. This is particularly useful for forms without - * submit buttons, e.g. single-input "Search" forms. - * - * @access public - * @param string $formLocator an element locator for the form you want to submit - */ - public function submit($formLocator) - { - $this->doCommand("submit", array($formLocator)); - } - - - /** - * Opens an URL in the test frame. This accepts both relative and absolute - * URLs. - * - * The "open" command waits for the page to load before proceeding, - * ie. the "AndWait" suffix is implicit. - * - * Note: The URL must be on the same domain as the runner HTML - * due to security restrictions in the browser (Same Origin Policy). If you - * need to open an URL on another domain, use the Selenium Server to start a - * new browser session on that domain. - * - * @access public - * @param string $url the URL to open; may be relative or absolute - */ - public function open($url) - { - $this->doCommand("open", array($url)); - } - - - /** - * Opens a popup window (if a window with that ID isn't already open). - * After opening the window, you'll need to select it using the selectWindow - * command. - * - *

- * This command can also be a useful workaround for bug SEL-339. In some cases, Selenium will be unable to intercept a call to window.open (if the call occurs during or before the "onLoad" event, for example). - * In those cases, you can force Selenium to notice the open window's name by using the Selenium openWindow command, using - * an empty (blank) url, like this: openWindow("", "myFunnyWindow"). - *

- * - * @access public - * @param string $url the URL to open, which can be blank - * @param string $windowID the JavaScript window ID of the window to select - */ - public function openWindow($url, $windowID) - { - $this->doCommand("openWindow", array($url, $windowID)); - } - - - /** - * Selects a popup window using a window locator; once a popup window has been selected, all - * commands go to that window. To select the main window again, use null - * as the target. - * - *

- * - * - * Window locators provide different ways of specifying the window object: - * by title, by internal JavaScript "name," or by JavaScript variable. - * - *

- *
    - * - *
  • - * title=My Special Window: - * Finds the window using the text that appears in the title bar. Be careful; - * two windows can share the same title. If that happens, this locator will - * just pick one. - * - *
  • - *
  • - * name=myWindow: - * Finds the window using its internal JavaScript "name" property. This is the second - * parameter "windowName" passed to the JavaScript method window.open(url, windowName, windowFeatures, replaceFlag) - * (which Selenium intercepts). - * - *
  • - *
  • - * var=variableName: - * Some pop-up windows are unnamed (anonymous), but are associated with a JavaScript variable name in the current - * application window, e.g. "window.foo = window.open(url);". In those cases, you can open the window using - * "var=foo". - * - *
  • - *

- * - * If no window locator prefix is provided, we'll try to guess what you mean like this: - *

- * 1.) if windowID is null, (or the string "null") then it is assumed the user is referring to the original window instantiated by the browser). - *

- * 2.) if the value of the "windowID" parameter is a JavaScript variable name in the current application window, then it is assumed - * that this variable contains the return value from a call to the JavaScript window.open() method. - *

- * 3.) Otherwise, selenium looks in a hash it maintains that maps string names to window "names". - *

- * 4.) If that fails, we'll try looping over all of the known windows to try to find the appropriate "title". - * Since "title" is not necessarily unique, this may have unexpected behavior. - *

- * If you're having trouble figuring out the name of a window that you want to manipulate, look at the Selenium log messages - * which identify the names of windows created via window.open (and therefore intercepted by Selenium). You will see messages - * like the following for each window as it is opened: - *

- * debug: window.open call intercepted; window ID (which you can use with selectWindow()) is "myNewWindow" - *

- * In some cases, Selenium will be unable to intercept a call to window.open (if the call occurs during or before the "onLoad" event, for example). - * (This is bug SEL-339.) In those cases, you can force Selenium to notice the open window's name by using the Selenium openWindow command, using - * an empty (blank) url, like this: openWindow("", "myFunnyWindow"). - *

- * - * @access public - * @param string $windowID the JavaScript window ID of the window to select - */ - public function selectWindow($windowID) - { - $this->doCommand("selectWindow", array($windowID)); - } - - - /** - * Simplifies the process of selecting a popup window (and does not offer - * functionality beyond what selectWindow() already provides). - * - *
    - * - *
  • - * If windowID is either not specified, or specified as - * "null", the first non-top window is selected. The top window is the one - * that would be selected by selectWindow() without providing a - * windowID . This should not be used when more than one popup - * window is in play. - *
  • - *
  • - * Otherwise, the window will be looked up considering - * windowID as the following in order: 1) the "name" of the - * window, as specified to window.open(); 2) a javascript - * variable which is a reference to a window; and 3) the title of the - * window. This is the same ordered lookup performed by - * selectWindow . - *
  • - *
- * - * @access public - * @param string $windowID an identifier for the popup window, which can take on a number of different meanings - */ - public function selectPopUp($windowID) - { - $this->doCommand("selectPopUp", array($windowID)); - } - - - /** - * Selects the main window. Functionally equivalent to using - * selectWindow() and specifying no value for - * windowID. - * - * @access public - */ - public function deselectPopUp() - { - $this->doCommand("deselectPopUp", array()); - } - - - /** - * Selects a frame within the current window. (You may invoke this command - * multiple times to select nested frames.) To select the parent frame, use - * "relative=parent" as a locator; to select the top frame, use "relative=top". - * You can also select a frame by its 0-based index number; select the first frame with - * "index=0", or the third frame with "index=2". - * - *

- * You may also use a DOM expression to identify the frame you want directly, - * like this: dom=frames["main"].frames["subframe"] - *

- * - * @access public - * @param string $locator an element locator identifying a frame or iframe - */ - public function selectFrame($locator) - { - $this->doCommand("selectFrame", array($locator)); - } - - - /** - * Determine whether current/locator identify the frame containing this running code. - * - *

- * This is useful in proxy injection mode, where this code runs in every - * browser frame and window, and sometimes the selenium server needs to identify - * the "current" frame. In this case, when the test calls selectFrame, this - * routine is called for each frame to figure out which one has been selected. - * The selected frame will return true, while all others will return false. - *

- * - * @access public - * @param string $currentFrameString starting frame - * @param string $target new frame (which might be relative to the current one) - * @return boolean true if the new frame is this code's window - */ - public function getWhetherThisFrameMatchFrameExpression($currentFrameString, $target) - { - return $this->getBoolean("getWhetherThisFrameMatchFrameExpression", array($currentFrameString, $target)); - } - - - /** - * Determine whether currentWindowString plus target identify the window containing this running code. - * - *

- * This is useful in proxy injection mode, where this code runs in every - * browser frame and window, and sometimes the selenium server needs to identify - * the "current" window. In this case, when the test calls selectWindow, this - * routine is called for each window to figure out which one has been selected. - * The selected window will return true, while all others will return false. - *

- * - * @access public - * @param string $currentWindowString starting window - * @param string $target new window (which might be relative to the current one, e.g., "_parent") - * @return boolean true if the new window is this code's window - */ - public function getWhetherThisWindowMatchWindowExpression($currentWindowString, $target) - { - return $this->getBoolean("getWhetherThisWindowMatchWindowExpression", array($currentWindowString, $target)); - } - - - /** - * Waits for a popup window to appear and load up. - * - * @access public - * @param string $windowID the JavaScript window "name" of the window that will appear (not the text of the title bar) If unspecified, or specified as "null", this command will wait for the first non-top window to appear (don't rely on this if you are working with multiple popups simultaneously). - * @param string $timeout a timeout in milliseconds, after which the action will return with an error. If this value is not specified, the default Selenium timeout will be used. See the setTimeout() command. - */ - public function waitForPopUp($windowID, $timeout) - { - $this->doCommand("waitForPopUp", array($windowID, $timeout)); - } - - - /** - *

- * - * By default, Selenium's overridden window.confirm() function will - * return true, as if the user had manually clicked OK; after running - * this command, the next call to confirm() will return false, as if - * the user had clicked Cancel. Selenium will then resume using the - * default behavior for future confirmations, automatically returning - * true (OK) unless/until you explicitly call this command for each - * confirmation. - * - *

- * - * Take note - every time a confirmation comes up, you must - * consume it with a corresponding getConfirmation, or else - * the next selenium operation will fail. - * - *

- * - * @access public - */ - public function chooseCancelOnNextConfirmation() - { - $this->doCommand("chooseCancelOnNextConfirmation", array()); - } - - - /** - *

- * - * Undo the effect of calling chooseCancelOnNextConfirmation. Note - * that Selenium's overridden window.confirm() function will normally automatically - * return true, as if the user had manually clicked OK, so you shouldn't - * need to use this command unless for some reason you need to change - * your mind prior to the next confirmation. After any confirmation, Selenium will resume using the - * default behavior for future confirmations, automatically returning - * true (OK) unless/until you explicitly call chooseCancelOnNextConfirmation for each - * confirmation. - * - *

- * - * Take note - every time a confirmation comes up, you must - * consume it with a corresponding getConfirmation, or else - * the next selenium operation will fail. - * - *

- * - * @access public - */ - public function chooseOkOnNextConfirmation() - { - $this->doCommand("chooseOkOnNextConfirmation", array()); - } - - - /** - * Instructs Selenium to return the specified answer string in response to - * the next JavaScript prompt [window.prompt()]. - * - * @access public - * @param string $answer the answer to give in response to the prompt pop-up - */ - public function answerOnNextPrompt($answer) - { - $this->doCommand("answerOnNextPrompt", array($answer)); - } - - - /** - * Simulates the user clicking the "back" button on their browser. - * - * @access public - */ - public function goBack() - { - $this->doCommand("goBack", array()); - } - - - /** - * Simulates the user clicking the "Refresh" button on their browser. - * - * @access public - */ - public function refresh() - { - $this->doCommand("refresh", array()); - } - - - /** - * Simulates the user clicking the "close" button in the titlebar of a popup - * window or tab. - * - * @access public - */ - public function close() - { - $this->doCommand("close", array()); - } - - - /** - * Has an alert occurred? - * - *

- * - * This function never throws an exception - * - *

- * - * @access public - * @return boolean true if there is an alert - */ - public function isAlertPresent() - { - return $this->getBoolean("isAlertPresent", array()); - } - - - /** - * Has a prompt occurred? - * - *

- * - * This function never throws an exception - * - *

- * - * @access public - * @return boolean true if there is a pending prompt - */ - public function isPromptPresent() - { - return $this->getBoolean("isPromptPresent", array()); - } - - - /** - * Has confirm() been called? - * - *

- * - * This function never throws an exception - * - *

- * - * @access public - * @return boolean true if there is a pending confirmation - */ - public function isConfirmationPresent() - { - return $this->getBoolean("isConfirmationPresent", array()); - } - - - /** - * Retrieves the message of a JavaScript alert generated during the previous action, or fail if there were no alerts. - * - *

- * Getting an alert has the same effect as manually clicking OK. If an - * alert is generated but you do not consume it with getAlert, the next Selenium action - * will fail. - *

- * Under Selenium, JavaScript alerts will NOT pop up a visible alert - * dialog. - *

- * Selenium does NOT support JavaScript alerts that are generated in a - * page's onload() event handler. In this case a visible dialog WILL be - * generated and Selenium will hang until someone manually clicks OK. - *

- * - * @access public - * @return string The message of the most recent JavaScript alert - */ - public function getAlert() - { - return $this->getString("getAlert", array()); - } - - - /** - * Retrieves the message of a JavaScript confirmation dialog generated during - * the previous action. - * - *

- * - * By default, the confirm function will return true, having the same effect - * as manually clicking OK. This can be changed by prior execution of the - * chooseCancelOnNextConfirmation command. - * - *

- * - * If an confirmation is generated but you do not consume it with getConfirmation, - * the next Selenium action will fail. - * - *

- * - * NOTE: under Selenium, JavaScript confirmations will NOT pop up a visible - * dialog. - * - *

- * - * NOTE: Selenium does NOT support JavaScript confirmations that are - * generated in a page's onload() event handler. In this case a visible - * dialog WILL be generated and Selenium will hang until you manually click - * OK. - * - *

- * - * @access public - * @return string the message of the most recent JavaScript confirmation dialog - */ - public function getConfirmation() - { - return $this->getString("getConfirmation", array()); - } - - - /** - * Retrieves the message of a JavaScript question prompt dialog generated during - * the previous action. - * - *

- * Successful handling of the prompt requires prior execution of the - * answerOnNextPrompt command. If a prompt is generated but you - * do not get/verify it, the next Selenium action will fail. - *

- * NOTE: under Selenium, JavaScript prompts will NOT pop up a visible - * dialog. - *

- * NOTE: Selenium does NOT support JavaScript prompts that are generated in a - * page's onload() event handler. In this case a visible dialog WILL be - * generated and Selenium will hang until someone manually clicks OK. - *

- * - * @access public - * @return string the message of the most recent JavaScript question prompt - */ - public function getPrompt() - { - return $this->getString("getPrompt", array()); - } - - - /** - * Gets the absolute URL of the current page. - * - * @access public - * @return string the absolute URL of the current page - */ - public function getLocation() - { - return $this->getString("getLocation", array()); - } - - - /** - * Gets the title of the current page. - * - * @access public - * @return string the title of the current page - */ - public function getTitle() - { - return $this->getString("getTitle", array()); - } - - - /** - * Gets the entire text of the page. - * - * @access public - * @return string the entire text of the page - */ - public function getBodyText() - { - return $this->getString("getBodyText", array()); - } - - - /** - * Gets the (whitespace-trimmed) value of an input field (or anything else with a value parameter). - * For checkbox/radio elements, the value will be "on" or "off" depending on - * whether the element is checked or not. - * - * @access public - * @param string $locator an element locator - * @return string the element value, or "on/off" for checkbox/radio elements - */ - public function getValue($locator) - { - return $this->getString("getValue", array($locator)); - } - - - /** - * Gets the text of an element. This works for any element that contains - * text. This command uses either the textContent (Mozilla-like browsers) or - * the innerText (IE-like browsers) of the element, which is the rendered - * text shown to the user. - * - * @access public - * @param string $locator an element locator - * @return string the text of the element - */ - public function getText($locator) - { - return $this->getString("getText", array($locator)); - } - - - /** - * Briefly changes the backgroundColor of the specified element yellow. Useful for debugging. - * - * @access public - * @param string $locator an element locator - */ - public function highlight($locator) - { - $this->doCommand("highlight", array($locator)); - } - - - /** - * Gets the result of evaluating the specified JavaScript snippet. The snippet may - * have multiple lines, but only the result of the last line will be returned. - * - *

- * Note that, by default, the snippet will run in the context of the "selenium" - * object itself, so this will refer to the Selenium object. Use window to - * refer to the window of your application, e.g. window.document.getElementById('foo') - *

- * If you need to use - * a locator to refer to a single element in your application page, you can - * use this.browserbot.findElement("id=foo") where "id=foo" is your locator. - *

- * - * @access public - * @param string $script the JavaScript snippet to run - * @return string the results of evaluating the snippet - */ - public function getEval($script) - { - return $this->getString("getEval", array($script)); - } - - - /** - * Gets whether a toggle-button (checkbox/radio) is checked. Fails if the specified element doesn't exist or isn't a toggle-button. - * - * @access public - * @param string $locator an element locator pointing to a checkbox or radio button - * @return boolean true if the checkbox is checked, false otherwise - */ - public function isChecked($locator) - { - return $this->getBoolean("isChecked", array($locator)); - } - - - /** - * Gets the text from a cell of a table. The cellAddress syntax - * tableLocator.row.column, where row and column start at 0. - * - * @access public - * @param string $tableCellAddress a cell address, e.g. "foo.1.4" - * @return string the text from the specified cell - */ - public function getTable($tableCellAddress) - { - return $this->getString("getTable", array($tableCellAddress)); - } - - - /** - * Gets all option labels (visible text) for selected options in the specified select or multi-select element. - * - * @access public - * @param string $selectLocator an element locator identifying a drop-down menu - * @return array an array of all selected option labels in the specified select drop-down - */ - public function getSelectedLabels($selectLocator) - { - return $this->getStringArray("getSelectedLabels", array($selectLocator)); - } - - - /** - * Gets option label (visible text) for selected option in the specified select element. - * - * @access public - * @param string $selectLocator an element locator identifying a drop-down menu - * @return string the selected option label in the specified select drop-down - */ - public function getSelectedLabel($selectLocator) - { - return $this->getString("getSelectedLabel", array($selectLocator)); - } - - - /** - * Gets all option values (value attributes) for selected options in the specified select or multi-select element. - * - * @access public - * @param string $selectLocator an element locator identifying a drop-down menu - * @return array an array of all selected option values in the specified select drop-down - */ - public function getSelectedValues($selectLocator) - { - return $this->getStringArray("getSelectedValues", array($selectLocator)); - } - - - /** - * Gets option value (value attribute) for selected option in the specified select element. - * - * @access public - * @param string $selectLocator an element locator identifying a drop-down menu - * @return string the selected option value in the specified select drop-down - */ - public function getSelectedValue($selectLocator) - { - return $this->getString("getSelectedValue", array($selectLocator)); - } - - - /** - * Gets all option indexes (option number, starting at 0) for selected options in the specified select or multi-select element. - * - * @access public - * @param string $selectLocator an element locator identifying a drop-down menu - * @return array an array of all selected option indexes in the specified select drop-down - */ - public function getSelectedIndexes($selectLocator) - { - return $this->getStringArray("getSelectedIndexes", array($selectLocator)); - } - - - /** - * Gets option index (option number, starting at 0) for selected option in the specified select element. - * - * @access public - * @param string $selectLocator an element locator identifying a drop-down menu - * @return string the selected option index in the specified select drop-down - */ - public function getSelectedIndex($selectLocator) - { - return $this->getString("getSelectedIndex", array($selectLocator)); - } - - - /** - * Gets all option element IDs for selected options in the specified select or multi-select element. - * - * @access public - * @param string $selectLocator an element locator identifying a drop-down menu - * @return array an array of all selected option IDs in the specified select drop-down - */ - public function getSelectedIds($selectLocator) - { - return $this->getStringArray("getSelectedIds", array($selectLocator)); - } - - - /** - * Gets option element ID for selected option in the specified select element. - * - * @access public - * @param string $selectLocator an element locator identifying a drop-down menu - * @return string the selected option ID in the specified select drop-down - */ - public function getSelectedId($selectLocator) - { - return $this->getString("getSelectedId", array($selectLocator)); - } - - - /** - * Determines whether some option in a drop-down menu is selected. - * - * @access public - * @param string $selectLocator an element locator identifying a drop-down menu - * @return boolean true if some option has been selected, false otherwise - */ - public function isSomethingSelected($selectLocator) - { - return $this->getBoolean("isSomethingSelected", array($selectLocator)); - } - - - /** - * Gets all option labels in the specified select drop-down. - * - * @access public - * @param string $selectLocator an element locator identifying a drop-down menu - * @return array an array of all option labels in the specified select drop-down - */ - public function getSelectOptions($selectLocator) - { - return $this->getStringArray("getSelectOptions", array($selectLocator)); - } - - - /** - * Gets the value of an element attribute. The value of the attribute may - * differ across browsers (this is the case for the "style" attribute, for - * example). - * - * @access public - * @param string $attributeLocator an element locator followed by an @ sign and then the name of the attribute, e.g. "foo@bar" - * @return string the value of the specified attribute - */ - public function getAttribute($attributeLocator) - { - return $this->getString("getAttribute", array($attributeLocator)); - } - - - /** - * Verifies that the specified text pattern appears somewhere on the rendered page shown to the user. - * - * @access public - * @param string $pattern a pattern to match with the text of the page - * @return boolean true if the pattern matches the text, false otherwise - */ - public function isTextPresent($pattern) - { - return $this->getBoolean("isTextPresent", array($pattern)); - } - - - /** - * Verifies that the specified element is somewhere on the page. - * - * @access public - * @param string $locator an element locator - * @return boolean true if the element is present, false otherwise - */ - public function isElementPresent($locator) - { - return $this->getBoolean("isElementPresent", array($locator)); - } - - - /** - * Determines if the specified element is visible. An - * element can be rendered invisible by setting the CSS "visibility" - * property to "hidden", or the "display" property to "none", either for the - * element itself or one if its ancestors. This method will fail if - * the element is not present. - * - * @access public - * @param string $locator an element locator - * @return boolean true if the specified element is visible, false otherwise - */ - public function isVisible($locator) - { - return $this->getBoolean("isVisible", array($locator)); - } - - - /** - * Determines whether the specified input element is editable, ie hasn't been disabled. - * This method will fail if the specified element isn't an input element. - * - * @access public - * @param string $locator an element locator - * @return boolean true if the input element is editable, false otherwise - */ - public function isEditable($locator) - { - return $this->getBoolean("isEditable", array($locator)); - } - - - /** - * Returns the IDs of all buttons on the page. - * - *

- * If a given button has no ID, it will appear as "" in this array. - *

- * - * @access public - * @return array the IDs of all buttons on the page - */ - public function getAllButtons() - { - return $this->getStringArray("getAllButtons", array()); - } - - - /** - * Returns the IDs of all links on the page. - * - *

- * If a given link has no ID, it will appear as "" in this array. - *

- * - * @access public - * @return array the IDs of all links on the page - */ - public function getAllLinks() - { - return $this->getStringArray("getAllLinks", array()); - } - - - /** - * Returns the IDs of all input fields on the page. - * - *

- * If a given field has no ID, it will appear as "" in this array. - *

- * - * @access public - * @return array the IDs of all field on the page - */ - public function getAllFields() - { - return $this->getStringArray("getAllFields", array()); - } - - - /** - * Returns an array of JavaScript property values from all known windows having one. - * - * @access public - * @param string $attributeName name of an attribute on the windows - * @return array the set of values of this attribute from all known windows. - */ - public function getAttributeFromAllWindows($attributeName) - { - return $this->getStringArray("getAttributeFromAllWindows", array($attributeName)); - } - - - /** - * deprecated - use dragAndDrop instead - * - * @access public - * @param string $locator an element locator - * @param string $movementsString offset in pixels from the current location to which the element should be moved, e.g., "+70,-300" - */ - public function dragdrop($locator, $movementsString) - { - $this->doCommand("dragdrop", array($locator, $movementsString)); - } - - - /** - * Configure the number of pixels between "mousemove" events during dragAndDrop commands (default=10). - *

- * Setting this value to 0 means that we'll send a "mousemove" event to every single pixel - * in between the start location and the end location; that can be very slow, and may - * cause some browsers to force the JavaScript to timeout. - *

- * If the mouse speed is greater than the distance between the two dragged objects, we'll - * just send one "mousemove" at the start location and then one final one at the end location. - *

- * - * @access public - * @param string $pixels the number of pixels between "mousemove" events - */ - public function setMouseSpeed($pixels) - { - $this->doCommand("setMouseSpeed", array($pixels)); - } - - - /** - * Returns the number of pixels between "mousemove" events during dragAndDrop commands (default=10). - * - * @access public - * @return number the number of pixels between "mousemove" events during dragAndDrop commands (default=10) - */ - public function getMouseSpeed() - { - return $this->getNumber("getMouseSpeed", array()); - } - - - /** - * Drags an element a certain distance and then drops it - * - * @access public - * @param string $locator an element locator - * @param string $movementsString offset in pixels from the current location to which the element should be moved, e.g., "+70,-300" - */ - public function dragAndDrop($locator, $movementsString) - { - $this->doCommand("dragAndDrop", array($locator, $movementsString)); - } - - - /** - * Drags an element and drops it on another element - * - * @access public - * @param string $locatorOfObjectToBeDragged an element to be dragged - * @param string $locatorOfDragDestinationObject an element whose location (i.e., whose center-most pixel) will be the point where locatorOfObjectToBeDragged is dropped - */ - public function dragAndDropToObject($locatorOfObjectToBeDragged, $locatorOfDragDestinationObject) - { - $this->doCommand("dragAndDropToObject", array($locatorOfObjectToBeDragged, $locatorOfDragDestinationObject)); - } - - - /** - * Gives focus to the currently selected window - * - * @access public - */ - public function windowFocus() - { - $this->doCommand("windowFocus", array()); - } - - - /** - * Resize currently selected window to take up the entire screen - * - * @access public - */ - public function windowMaximize() - { - $this->doCommand("windowMaximize", array()); - } - - - /** - * Returns the IDs of all windows that the browser knows about in an array. - * - * @access public - * @return array Array of identifiers of all windows that the browser knows about. - */ - public function getAllWindowIds() - { - return $this->getStringArray("getAllWindowIds", array()); - } - - - /** - * Returns the names of all windows that the browser knows about in an array. - * - * @access public - * @return array Array of names of all windows that the browser knows about. - */ - public function getAllWindowNames() - { - return $this->getStringArray("getAllWindowNames", array()); - } - - - /** - * Returns the titles of all windows that the browser knows about in an array. - * - * @access public - * @return array Array of titles of all windows that the browser knows about. - */ - public function getAllWindowTitles() - { - return $this->getStringArray("getAllWindowTitles", array()); - } - - - /** - * Returns the entire HTML source between the opening and - * closing "html" tags. - * - * @access public - * @return string the entire HTML source - */ - public function getHtmlSource() - { - return $this->getString("getHtmlSource", array()); - } - - - /** - * Moves the text cursor to the specified position in the given input element or textarea. - * This method will fail if the specified element isn't an input element or textarea. - * - * @access public - * @param string $locator an element locator pointing to an input element or textarea - * @param string $position the numerical position of the cursor in the field; position should be 0 to move the position to the beginning of the field. You can also set the cursor to -1 to move it to the end of the field. - */ - public function setCursorPosition($locator, $position) - { - $this->doCommand("setCursorPosition", array($locator, $position)); - } - - - /** - * Get the relative index of an element to its parent (starting from 0). The comment node and empty text node - * will be ignored. - * - * @access public - * @param string $locator an element locator pointing to an element - * @return number of relative index of the element to its parent (starting from 0) - */ - public function getElementIndex($locator) - { - return $this->getNumber("getElementIndex", array($locator)); - } - - - /** - * Check if these two elements have same parent and are ordered siblings in the DOM. Two same elements will - * not be considered ordered. - * - * @access public - * @param string $locator1 an element locator pointing to the first element - * @param string $locator2 an element locator pointing to the second element - * @return boolean true if element1 is the previous sibling of element2, false otherwise - */ - public function isOrdered($locator1, $locator2) - { - return $this->getBoolean("isOrdered", array($locator1, $locator2)); - } - - - /** - * Retrieves the horizontal position of an element - * - * @access public - * @param string $locator an element locator pointing to an element OR an element itself - * @return number of pixels from the edge of the frame. - */ - public function getElementPositionLeft($locator) - { - return $this->getNumber("getElementPositionLeft", array($locator)); - } - - - /** - * Retrieves the vertical position of an element - * - * @access public - * @param string $locator an element locator pointing to an element OR an element itself - * @return number of pixels from the edge of the frame. - */ - public function getElementPositionTop($locator) - { - return $this->getNumber("getElementPositionTop", array($locator)); - } - - - /** - * Retrieves the width of an element - * - * @access public - * @param string $locator an element locator pointing to an element - * @return number width of an element in pixels - */ - public function getElementWidth($locator) - { - return $this->getNumber("getElementWidth", array($locator)); - } - - - /** - * Retrieves the height of an element - * - * @access public - * @param string $locator an element locator pointing to an element - * @return number height of an element in pixels - */ - public function getElementHeight($locator) - { - return $this->getNumber("getElementHeight", array($locator)); - } - - - /** - * Retrieves the text cursor position in the given input element or textarea; beware, this may not work perfectly on all browsers. - * - *

- * Specifically, if the cursor/selection has been cleared by JavaScript, this command will tend to - * return the position of the last location of the cursor, even though the cursor is now gone from the page. This is filed as SEL-243. - *

- * This method will fail if the specified element isn't an input element or textarea, or there is no cursor in the element. - * - * @access public - * @param string $locator an element locator pointing to an input element or textarea - * @return number the numerical position of the cursor in the field - */ - public function getCursorPosition($locator) - { - return $this->getNumber("getCursorPosition", array($locator)); - } - - - /** - * Returns the specified expression. - * - *

- * This is useful because of JavaScript preprocessing. - * It is used to generate commands like assertExpression and waitForExpression. - *

- * - * @access public - * @param string $expression the value to return - * @return string the value passed in - */ - public function getExpression($expression) - { - return $this->getString("getExpression", array($expression)); - } - - - /** - * Returns the number of nodes that match the specified xpath, eg. "//table" would give - * the number of tables. - * - * @access public - * @param string $xpath the xpath expression to evaluate. do NOT wrap this expression in a 'count()' function; we will do that for you. - * @return number the number of nodes that match the specified xpath - */ - public function getXpathCount($xpath) - { - return $this->getNumber("getXpathCount", array($xpath)); - } - - - /** - * Temporarily sets the "id" attribute of the specified element, so you can locate it in the future - * using its ID rather than a slow/complicated XPath. This ID will disappear once the page is - * reloaded. - * - * @access public - * @param string $locator an element locator pointing to an element - * @param string $identifier a string to be used as the ID of the specified element - */ - public function assignId($locator, $identifier) - { - $this->doCommand("assignId", array($locator, $identifier)); - } - - - /** - * Specifies whether Selenium should use the native in-browser implementation - * of XPath (if any native version is available); if you pass "false" to - * this function, we will always use our pure-JavaScript xpath library. - * Using the pure-JS xpath library can improve the consistency of xpath - * element locators between different browser vendors, but the pure-JS - * version is much slower than the native implementations. - * - * @access public - * @param string $allow boolean, true means we'll prefer to use native XPath; false means we'll only use JS XPath - */ - public function allowNativeXpath($allow) - { - $this->doCommand("allowNativeXpath", array($allow)); - } - - - /** - * Specifies whether Selenium will ignore xpath attributes that have no - * value, i.e. are the empty string, when using the non-native xpath - * evaluation engine. You'd want to do this for performance reasons in IE. - * However, this could break certain xpaths, for example an xpath that looks - * for an attribute whose value is NOT the empty string. - * - * The hope is that such xpaths are relatively rare, but the user should - * have the option of using them. Note that this only influences xpath - * evaluation when using the ajaxslt engine (i.e. not "javascript-xpath"). - * - * @access public - * @param string $ignore boolean, true means we'll ignore attributes without value at the expense of xpath "correctness"; false means we'll sacrifice speed for correctness. - */ - public function ignoreAttributesWithoutValue($ignore) - { - $this->doCommand("ignoreAttributesWithoutValue", array($ignore)); - } - - - /** - * Runs the specified JavaScript snippet repeatedly until it evaluates to "true". - * The snippet may have multiple lines, but only the result of the last line - * will be considered. - * - *

- * Note that, by default, the snippet will be run in the runner's test window, not in the window - * of your application. To get the window of your application, you can use - * the JavaScript snippet selenium.browserbot.getCurrentWindow(), and then - * run your JavaScript in there - *

- * - * @access public - * @param string $script the JavaScript snippet to run - * @param string $timeout a timeout in milliseconds, after which this command will return with an error - */ - public function waitForCondition($script, $timeout) - { - $this->doCommand("waitForCondition", array($script, $timeout)); - } - - - /** - * Specifies the amount of time that Selenium will wait for actions to complete. - * - *

- * Actions that require waiting include "open" and the "waitFor*" actions. - *

- * The default timeout is 30 seconds. - * - * @access public - * @param string $timeout a timeout in milliseconds, after which the action will return with an error - */ - public function setTimeout($timeout) - { - $this->doCommand("setTimeout", array($timeout)); - } - - - /** - * Waits for a new page to load. - * - *

- * You can use this command instead of the "AndWait" suffixes, "clickAndWait", "selectAndWait", "typeAndWait" etc. - * (which are only available in the JS API). - *

- * Selenium constantly keeps track of new pages loading, and sets a "newPageLoaded" - * flag when it first notices a page load. Running any other Selenium command after - * turns the flag to false. Hence, if you want to wait for a page to load, you must - * wait immediately after a Selenium command that caused a page-load. - *

- * - * @access public - * @param string $timeout a timeout in milliseconds, after which this command will return with an error - */ - public function waitForPageToLoad($timeout) - { - $this->doCommand("waitForPageToLoad", array($timeout)); - } - - - /** - * Waits for a new frame to load. - * - *

- * Selenium constantly keeps track of new pages and frames loading, - * and sets a "newPageLoaded" flag when it first notices a page load. - *

- * - * See waitForPageToLoad for more information. - * - * @access public - * @param string $frameAddress FrameAddress from the server side - * @param string $timeout a timeout in milliseconds, after which this command will return with an error - */ - public function waitForFrameToLoad($frameAddress, $timeout) - { - $this->doCommand("waitForFrameToLoad", array($frameAddress, $timeout)); - } - - - /** - * Return all cookies of the current page under test. - * - * @access public - * @return string all cookies of the current page under test - */ - public function getCookie() - { - return $this->getString("getCookie", array()); - } - - - /** - * Returns the value of the cookie with the specified name, or throws an error if the cookie is not present. - * - * @access public - * @param string $name the name of the cookie - * @return string the value of the cookie - */ - public function getCookieByName($name) - { - return $this->getString("getCookieByName", array($name)); - } - - - /** - * Returns true if a cookie with the specified name is present, or false otherwise. - * - * @access public - * @param string $name the name of the cookie - * @return boolean true if a cookie with the specified name is present, or false otherwise. - */ - public function isCookiePresent($name) - { - return $this->getBoolean("isCookiePresent", array($name)); - } - - - /** - * Create a new cookie whose path and domain are same with those of current page - * under test, unless you specified a path for this cookie explicitly. - * - * @access public - * @param string $nameValuePair name and value of the cookie in a format "name=value" - * @param string $optionsString options for the cookie. Currently supported options include 'path', 'max_age' and 'domain'. the optionsString's format is "path=/path/, max_age=60, domain=.foo.com". The order of options are irrelevant, the unit of the value of 'max_age' is second. Note that specifying a domain that isn't a subset of the current domain will usually fail. - */ - public function createCookie($nameValuePair, $optionsString) - { - $this->doCommand("createCookie", array($nameValuePair, $optionsString)); - } - - - /** - * Delete a named cookie with specified path and domain. Be careful; to delete a cookie, you - * need to delete it using the exact same path and domain that were used to create the cookie. - * If the path is wrong, or the domain is wrong, the cookie simply won't be deleted. Also - * note that specifying a domain that isn't a subset of the current domain will usually fail. - * - * Since there's no way to discover at runtime the original path and domain of a given cookie, - * we've added an option called 'recurse' to try all sub-domains of the current domain with - * all paths that are a subset of the current path. Beware; this option can be slow. In - * big-O notation, it operates in O(n*m) time, where n is the number of dots in the domain - * name and m is the number of slashes in the path. - * - * @access public - * @param string $name the name of the cookie to be deleted - * @param string $optionsString options for the cookie. Currently supported options include 'path', 'domain' and 'recurse.' The optionsString's format is "path=/path/, domain=.foo.com, recurse=true". The order of options are irrelevant. Note that specifying a domain that isn't a subset of the current domain will usually fail. - */ - public function deleteCookie($name, $optionsString) - { - $this->doCommand("deleteCookie", array($name, $optionsString)); - } - - - /** - * Calls deleteCookie with recurse=true on all cookies visible to the current page. - * As noted on the documentation for deleteCookie, recurse=true can be much slower - * than simply deleting the cookies using a known domain/path. - * - * @access public - */ - public function deleteAllVisibleCookies() - { - $this->doCommand("deleteAllVisibleCookies", array()); - } - - - /** - * Sets the threshold for browser-side logging messages; log messages beneath this threshold will be discarded. - * Valid logLevel strings are: "debug", "info", "warn", "error" or "off". - * To see the browser logs, you need to - * either show the log window in GUI mode, or enable browser-side logging in Selenium RC. - * - * @access public - * @param string $logLevel one of the following: "debug", "info", "warn", "error" or "off" - */ - public function setBrowserLogLevel($logLevel) - { - $this->doCommand("setBrowserLogLevel", array($logLevel)); - } - - - /** - * Creates a new "script" tag in the body of the current test window, and - * adds the specified text into the body of the command. Scripts run in - * this way can often be debugged more easily than scripts executed using - * Selenium's "getEval" command. Beware that JS exceptions thrown in these script - * tags aren't managed by Selenium, so you should probably wrap your script - * in try/catch blocks if there is any chance that the script will throw - * an exception. - * - * @access public - * @param string $script the JavaScript snippet to run - */ - public function runScript($script) - { - $this->doCommand("runScript", array($script)); - } - - - /** - * Defines a new function for Selenium to locate elements on the page. - * For example, - * if you define the strategy "foo", and someone runs click("foo=blah"), we'll - * run your function, passing you the string "blah", and click on the element - * that your function - * returns, or throw an "Element not found" error if your function returns null. - * - * We'll pass three arguments to your function: - * - *
    - * - *
  • - * locator: the string the user passed in - *
  • - *
  • - * inWindow: the currently selected window - *
  • - *
  • - * inDocument: the currently selected document - *
  • - *
- * The function must return null if the element can't be found. - * - * @access public - * @param string $strategyName the name of the strategy to define; this should use only letters [a-zA-Z] with no spaces or other punctuation. - * @param string $functionDefinition a string defining the body of a function in JavaScript. For example: return inDocument.getElementById(locator); - */ - public function addLocationStrategy($strategyName, $functionDefinition) - { - $this->doCommand("addLocationStrategy", array($strategyName, $functionDefinition)); - } - - - /** - * Saves the entire contents of the current window canvas to a PNG file. - * Contrast this with the captureScreenshot command, which captures the - * contents of the OS viewport (i.e. whatever is currently being displayed - * on the monitor), and is implemented in the RC only. Currently this only - * works in Firefox when running in chrome mode, and in IE non-HTA using - * the EXPERIMENTAL "Snapsie" utility. The Firefox implementation is mostly - * borrowed from the Screengrab! Firefox extension. Please see - * http://www.screengrab.org and http://snapsie.sourceforge.net/ for - * details. - * - * @access public - * @param string $filename the path to the file to persist the screenshot as. No filename extension will be appended by default. Directories will not be created if they do not exist, and an exception will be thrown, possibly by native code. - * @param string $kwargs a kwargs string that modifies the way the screenshot is captured. Example: "background=#CCFFDD" . Currently valid options:
-
background
-
the background CSS for the HTML document. This may be useful to set for capturing screenshots of less-than-ideal layouts, for example where absolute positioning causes the calculation of the canvas dimension to fail and a black background is exposed (possibly obscuring black text).
-
- */ - public function captureEntirePageScreenshot($filename, $kwargs) - { - $this->doCommand("captureEntirePageScreenshot", array($filename, $kwargs)); - } - - - /** - * Executes a command rollup, which is a series of commands with a unique - * name, and optionally arguments that control the generation of the set of - * commands. If any one of the rolled-up commands fails, the rollup is - * considered to have failed. Rollups may also contain nested rollups. - * - * @access public - * @param string $rollupName the name of the rollup command - * @param string $kwargs keyword arguments string that influences how the rollup expands into commands - */ - public function rollup($rollupName, $kwargs) - { - $this->doCommand("rollup", array($rollupName, $kwargs)); - } - - - /** - * Loads script content into a new script tag in the Selenium document. This - * differs from the runScript command in that runScript adds the script tag - * to the document of the AUT, not the Selenium document. The following - * entities in the script content are replaced by the characters they - * represent: - * - * < - * > - * & - * - * The corresponding remove command is removeScript. - * - * @access public - * @param string $scriptContent the Javascript content of the script to add - * @param string $scriptTagId (optional) the id of the new script tag. If specified, and an element with this id already exists, this operation will fail. - */ - public function addScript($scriptContent, $scriptTagId) - { - $this->doCommand("addScript", array($scriptContent, $scriptTagId)); - } - - - /** - * Removes a script tag from the Selenium document identified by the given - * id. Does nothing if the referenced tag doesn't exist. - * - * @access public - * @param string $scriptTagId the id of the script element to remove. - */ - public function removeScript($scriptTagId) - { - $this->doCommand("removeScript", array($scriptTagId)); - } - - - /** - * Allows choice of one of the available libraries. - * - * @access public - * @param string $libraryName name of the desired library Only the following three can be chosen:
    -
  • "ajaxslt" - Google's library
  • -
  • "javascript-xpath" - Cybozu Labs' faster library
  • -
  • "default" - The default library. Currently the default library is "ajaxslt" .
  • -
If libraryName isn't one of these three, then no change will be made. - */ - public function useXpathLibrary($libraryName) - { - $this->doCommand("useXpathLibrary", array($libraryName)); - } - - - /** - * Writes a message to the status bar and adds a note to the browser-side - * log. - * - * @access public - * @param string $context the message to be sent to the browser - */ - public function setContext($context) - { - $this->doCommand("setContext", array($context)); - } - - - /** - * Sets a file input (upload) field to the file listed in fileLocator - * - * @access public - * @param string $fieldLocator an element locator - * @param string $fileLocator a URL pointing to the specified file. Before the file can be set in the input field (fieldLocator), Selenium RC may need to transfer the file to the local machine before attaching the file in a web page form. This is common in selenium grid configurations where the RC server driving the browser is not the same machine that started the test. Supported Browsers: Firefox ("*chrome") only. - */ - public function attachFile($fieldLocator, $fileLocator) - { - $this->doCommand("attachFile", array($fieldLocator, $fileLocator)); - } - - - /** - * Captures a PNG screenshot to the specified file. - * - * @access public - * @param string $filename the absolute path to the file to be written, e.g. "c:\blah\screenshot.png" - */ - public function captureScreenshot($filename) - { - $this->doCommand("captureScreenshot", array($filename)); - } - - - /** - * Capture a PNG screenshot. It then returns the file as a base 64 encoded string. - * - * @access public - * @return string The base 64 encoded string of the screen shot (PNG file) - */ - public function captureScreenshotToString() - { - return $this->getString("captureScreenshotToString", array()); - } - - - /** - * Downloads a screenshot of the browser current window canvas to a - * based 64 encoded PNG file. The entire windows canvas is captured, - * including parts rendered outside of the current view port. - * - * Currently this only works in Mozilla and when running in chrome mode. - * - * @access public - * @param string $kwargs A kwargs string that modifies the way the screenshot is captured. Example: "background=#CCFFDD". This may be useful to set for capturing screenshots of less-than-ideal layouts, for example where absolute positioning causes the calculation of the canvas dimension to fail and a black background is exposed (possibly obscuring black text). - * @return string The base 64 encoded string of the page screenshot (PNG file) - */ - public function captureEntirePageScreenshotToString($kwargs) - { - return $this->getString("captureEntirePageScreenshotToString", array($kwargs)); - } - - - /** - * Kills the running Selenium Server and all browser sessions. After you run this command, you will no longer be able to send - * commands to the server; you can't remotely start the server once it has been stopped. Normally - * you should prefer to run the "stop" command, which terminates the current browser session, rather than - * shutting down the entire server. - * - * @access public - */ - public function shutDownSeleniumServer() - { - $this->doCommand("shutDownSeleniumServer", array()); - } - - - /** - * Retrieve the last messages logged on a specific remote control. Useful for error reports, especially - * when running multiple remote controls in a distributed environment. The maximum number of log messages - * that can be retrieve is configured on remote control startup. - * - * @access public - * @return string The last N log messages as a multi-line string. - */ - public function retrieveLastRemoteControlLogs() - { - return $this->getString("retrieveLastRemoteControlLogs", array()); - } - - - /** - * Simulates a user pressing a key (without releasing it yet) by sending a native operating system keystroke. - * This function uses the java.awt.Robot class to send a keystroke; this more accurately simulates typing - * a key on the keyboard. It does not honor settings from the shiftKeyDown, controlKeyDown, altKeyDown and - * metaKeyDown commands, and does not target any particular HTML element. To send a keystroke to a particular - * element, focus on the element first before running this command. - * - * @access public - * @param string $keycode an integer keycode number corresponding to a java.awt.event.KeyEvent; note that Java keycodes are NOT the same thing as JavaScript keycodes! - */ - public function keyDownNative($keycode) - { - $this->doCommand("keyDownNative", array($keycode)); - } - - - /** - * Simulates a user releasing a key by sending a native operating system keystroke. - * This function uses the java.awt.Robot class to send a keystroke; this more accurately simulates typing - * a key on the keyboard. It does not honor settings from the shiftKeyDown, controlKeyDown, altKeyDown and - * metaKeyDown commands, and does not target any particular HTML element. To send a keystroke to a particular - * element, focus on the element first before running this command. - * - * @access public - * @param string $keycode an integer keycode number corresponding to a java.awt.event.KeyEvent; note that Java keycodes are NOT the same thing as JavaScript keycodes! - */ - public function keyUpNative($keycode) - { - $this->doCommand("keyUpNative", array($keycode)); - } - - - /** - * Simulates a user pressing and releasing a key by sending a native operating system keystroke. - * This function uses the java.awt.Robot class to send a keystroke; this more accurately simulates typing - * a key on the keyboard. It does not honor settings from the shiftKeyDown, controlKeyDown, altKeyDown and - * metaKeyDown commands, and does not target any particular HTML element. To send a keystroke to a particular - * element, focus on the element first before running this command. - * - * @access public - * @param string $keycode an integer keycode number corresponding to a java.awt.event.KeyEvent; note that Java keycodes are NOT the same thing as JavaScript keycodes! - */ - public function keyPressNative($keycode) - { - $this->doCommand("keyPressNative", array($keycode)); - } - - - protected function doCommand($verb, $args = array()) - { - $url = sprintf('http://%s:%s/selenium-server/driver/?cmd=%s', $this->host, $this->port, urlencode($verb)); - for ($i = 0; $i < count($args); $i++) { - $argNum = strval($i + 1); - $url .= sprintf('&%s=%s', $argNum, urlencode(trim($args[$i]))); - } - - if (isset($this->sessionId)) { - $url .= sprintf('&%s=%s', 'sessionId', $this->sessionId); - } - - if (!$handle = fopen($url, 'r')) { - throw new Testing_Selenium_Exception('Cannot connected to Selenium RC Server'); - } - - stream_set_blocking($handle, false); - $response = stream_get_contents($handle); - fclose($handle); - - return $response; - } - - private function getNumber($verb, $args = array()) - { - $result = $this->getString($verb, $args); - - if (!is_numeric($result)) { - throw new Testing_Selenium_Exception('result is not numeric.'); - } - return $result; - } - - protected function getString($verb, $args = array()) - { - $result = $this->doCommand($verb, $args); - return (strlen($result) > 3) ? substr($result, 3) : ''; - } - - private function getStringArray($verb, $args = array()) - { - $csv = $this->getString($verb, $args); - $token = ''; - $tokens = array(); - $letters = preg_split('//', $csv, -1, PREG_SPLIT_NO_EMPTY); - for ($i = 0; $i < count($letters); $i++) { - $letter = $letters[$i]; - switch($letter) { - case '\\': - $i++; - $letter = $letters[$i]; - $token = $token . $letter; - break; - case ',': - array_push($tokens, $token); - $token = ''; - break; - default: - $token = $token . $letter; - break; - } - } - array_push($tokens, $token); - return $tokens; - } - - private function getBoolean($verb, $args = array()) - { - $result = $this->getString($verb, $args); - switch ($result) { - case 'true': - return true; - case 'false': - return false; - default: - throw new Testing_Selenium_Exception('result is neither "true" or "false": ' . $result); - } - } -} -?> diff --git a/tests/system/PEAR/Testing/Selenium/Exception.php b/tests/system/PEAR/Testing/Selenium/Exception.php deleted file mode 100644 index 9069ae5068ae7..0000000000000 --- a/tests/system/PEAR/Testing/Selenium/Exception.php +++ /dev/null @@ -1,40 +0,0 @@ - - * @author Bjoern Schotte - * @version @package_version@ - */ -class Testing_Selenium_Exception extends PEAR_Exception -{ -} -?> \ No newline at end of file diff --git a/tests/system/SeleniumJoomlaTestCase.php b/tests/system/SeleniumJoomlaTestCase.php deleted file mode 100644 index a395c32500ec1..0000000000000 --- a/tests/system/SeleniumJoomlaTestCase.php +++ /dev/null @@ -1,829 +0,0 @@ -cfg = $cfg; // save current configuration - $this->setBrowser($cfg->browser); - $this->setBrowserUrl($cfg->host . $cfg->path); - if (isset($cfg->selhost)) - { - $this->setHost($cfg->selhost); - } - $this->jPrint ( ".\n" . 'Starting ' . get_class($this) . ".\n"); - - if (isset($cfg->captureScreenshotOnFailure) && $cfg->captureScreenshotOnFailure) - { - $this->captureScreenshotOnFailure = true; - $this->screenshotPath = $cfg->folder . $cfg->path . $cfg->screenShotPath; - $this->screenshotUrl = $cfg->host . $cfg->path . $cfg->screenShotPath; - } - } - - function checkMessage($message) - { - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container'][contains(., '$message')]"), 'Message not displayed or message changed, SeleniumJoomlaTestCase line 31'); - } - - function changeAssignedGroup($username,$group) - { - $this->jClick('User Manager'); - $this->click("link=$username"); - $this->waitForPageToLoad("30000"); - $this->jPrint ( "Changing $username group assignment of $group group.\n"); - $this->click("//li/a[contains(text(), 'Assigned User Groups')]"); - $this->click("//div[@id='groups']//label[contains(., '$group')]"); - $this->jClick('Save & Close'); - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container'][contains(., 'User successfully saved.')]"), 'User group save message not displayed or message changed, SeleniumJoomlaTestCase line 49'); - } - - function createUser($name = 'Test User', $username = 'TestUser', $password = 'password', $email = 'testuser@test.com', $group = 'Manager') - { - $this->click("link=User Manager"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Add new user named " . $name . " to " . $group . " group.\n"); - $this->click("//div[@id='toolbar-new']/button"); - $this->waitForPageToLoad("30000"); - $this->type("jform_name", $name); - $this->type("jform_username", $username); - $this->type("jform_password", $password); - $this->type("jform_password2", $password); - $this->type("jform_email", $email); - $this->click("//li/a[contains(text(), 'Assigned User Groups')]"); - $this->click("//div[@id='groups']//label[contains(., '$group')]"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container'][contains(., 'success')]"),'Creation of Test User(s) failed.'); - } - - function doAdminLogin($username = null,$password = null) - { - $this->jPrint ( "Logging in to back end.\n"); - $cfg = new SeleniumConfig(); - if(!isset($username))$username=$cfg->username; - if(!isset($password))$password=$cfg->password; - if (!$this->isElementPresent("mod-login-username")) - { - $this->gotoAdmin(); - $this->click("//li/a[contains(@href, 'option=com_login&task=logout')]"); - $this->waitForPageToLoad("30000"); - } - $this->type("mod-login-username", $username); - $this->type("mod-login-password", $password); - if ($this->isElementPresent("//button[contains(., 'Log in')]")) - { - $this->click("//button[contains(., 'Log in')]"); - } - elseif ($this->isElementPresent("//a[contains(., 'Log in')]")) - { - $this->click("//a[contains(., 'Log in')]"); - } - $this->waitForPageToLoad("30000"); - } - - function doAdminLogout() - { - $this->jPrint ( "Logging out of back end.\n"); - $this->click("//li/a[contains(@href, 'option=com_login&task=logout')]"); - $this->waitForPageToLoad("30000"); - } - - function gotoAdmin() - { - $this->jPrint ( "Browsing to back end.\n"); - $cfg = new SeleniumConfig(); - $this->open($cfg->path . "administrator"); - $this->waitForPageToLoad("30000"); - } - - function gotoSite() - { - $this->jPrint ( "Browsing to front end.\n"); - $cfg = new SeleniumConfig(); - $this->open($cfg->path); - $this->waitForPageToLoad("30000"); - } - - function doFrontEndLogin($username = null,$password = null) - { - $cfg = new SeleniumConfig(); - if(!isset($username))$username=$cfg->username; - if(!isset($password))$password=$cfg->password; - // check to see if we are already logged in - if ($this->getValue("Submit") == "Log out") - { - $this->jPrint ( "Logging out before logging in. \n"); - $this->click("Submit"); - $this->waitForPageToLoad("30000"); - $this->click("link=Home"); - $this->waitForPageToLoad("30000"); - } - $this->jPrint ( "Logging in to front end.\n"); - $this->type("modlgn-username", $username); - $this->type("modlgn-passwd", $password); - $this->click("Submit"); - $this->waitForPageToLoad("30000"); - } - - function doFrontEndLogout() - { - if ($this->getValue("Submit") == "Log out") - { - $this->jPrint ( "Logging out of front end.\n"); - $this->click("//input[@value='Log out']"); - $this->waitForPageToLoad("30000"); - } - } - - function toggleAssignedGroupCheckbox($groupName) - { - $id = $this->getAttribute('//fieldset[@id=\'user-groups\']/ul/li[contains(label,\''.$groupName.'\')]/label@for'); - $this->click($id); - } - - function deleteTestUsers($partialName = 'test') - { - $this->jPrint ( "Browse to User Manager.\n"); - $this->click("link=User Manager"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ( "Filter on user name\n"); - $this->type("filter_search", $partialName); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ( "Delete all users in view.\n"); - $this->click("checkall-toggle"); - $this->jPrint ("Delete new user.\n"); - $this->click("//div[@id='toolbar-delete']/button"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container'][contains(., 'success')]"),'Deletion of Test User(s) failed.'); - } - - function createGroup($groupName, $groupParent = 'Public') - { - $this->click("link=Groups"); - $this->waitForPageToLoad("30000"); - $this->jPrint ( "Create new group " . $groupName . ".\n"); - $this->click("//div[@id='toolbar-new']/button"); - $this->waitForPageToLoad("30000"); - $this->type("jform_title", $groupName); - $this->select("id=jform_parent_id", "label=regexp:.*".$groupParent); - $this->jClick("Save & Close"); - - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container'][contains(., 'success')]"),'Creation of ' . $groupName . ' failed.'); - $this->jPrint ( "Creation of " . $groupName . " succeeded.\n"); - - } - - function deleteGroup($partialName = 'test') - { - $this->jPrint ( "Browse to User Manager: Groups.\n"); - $this->click("link=Groups"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ( "Filter on " . $partialName . ".\n"); - $this->type("filter_search", $partialName); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ( "Delete all groups in view.\n"); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-delete']/button"); - $this->waitForPageToLoad("30000"); - - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container'][contains(., 'success')]"), 'Group deletion failed or confirm text wrong, SeleniumJoomlaTestCase line 197'); - $this->jPrint ( "Deletion succeeded.\n"); - - $this->assertFalse($this->isTextPresent("No Groups selected"), 'No Groups selected for deletion, SeleniumJoomlaTestCase line 207'); - - } - - function createLevel($levelName, $userGroup) - { - $this->jClick('Access Levels'); - $this->jClick('New'); - $this->jPrint ( "Create new access level named " . $levelName . "\n"); - $this->type("jform_title", $levelName); - $this->jInput($userGroup); - $this->jPrint ( "Selecting User Groups having access to " . $levelName . "\n"); - $this->jClick('Save & Close'); - } - - function deleteLevel($partialName = 'test') - { - $this->jClick('Access Levels'); - $this->jPrint ( "Filter on " . $partialName . ".\n"); - $this->type("filter_search", $partialName); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - $this->jPrint ( "Delete all levels in view.\n"); - $this->click("checkall-toggle"); - $this->jClick('Delete'); - } - - function changeAccessLevel($levelName = 'Registered', $groupName = 'Public') - { - $this->jPrint ( "Add group " . $groupName . " to " . $levelName . " access level.\n"); - $this->jPrint ( "Navagating to Access Levels.\n"); - $this->jClick('Access Levels'); - $this->click("//tr/td[contains(a,'" . $levelName . "')]/..//input[@type='checkbox']"); - $this->jClick('Edit'); - $this->assertTrue($this->isTextPresent(": Edit", $this->getText("//h1"))); - $id = $this->click("//label[contains(., '" . $groupName . "')]/input"); - $this->jClick('Save & Close'); - - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container'][contains(., 'success')]"), "Line: ".__LINE__); - $this->jPrint ( "Adding group " . $groupName . " to " . $levelName . " access level succeeded.\n"); - - - } - - /** - * Tests for the presence of a Go button and clicks it if present. - * Used for the hathor accessible template when filtering on lists in back end. - * - * @since 1.6 - */ - function clickGo() - { - if ($this->isElementPresent("filter-go")) - { - $this->click("filter-go"); - } - } - - public function countErrors() - { - if ($count = count($this->verificationErrors)) - { - $this->jPrint ( "\n***Warning*** " . $count . " verification error(s) encountered.\n"); - } - } - - /* - * Allow selection of an input based on the text contained in its correspondig label - */ - function jInput($labelText) - { - $this->click("//label[contains(., '$labelText')]"); - } - - /* - * Unifies button and menu item selection based on corresponding IDs and Classes - */ - function jClick($item) - { - switch ($item) - { - case 'Access Levels': - $screen="User Manager: Viewing Access Levels"; - $this->jPrint ( "Navigating to ".$screen.".\n"); - $this->click("//a[contains(@href,'option=com_users&view=levels')]"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent($screen),'Error navigating to '.$screen.' or page title changed.'); - break; - case 'Article Manager': - $screen="Article Manager: Articles"; - $this->jPrint ( "Navigating to ".$screen.".\n"); - $this->click("link=Article Manager"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent($screen),'Error navigating to '.$screen.' or page title changed.'); - break; - case 'Contacts': - $screen='Contact Manager: Contacts'; - $this->jPrint ( "Navigating to ".$screen.".\n"); - $this->click("link=Contacts"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent($screen),'Error navigating to '.$screen.' or page title changed.'); - break; - case 'Delete': - $this->jPrint ( "Testng Delete capability.\n"); - $this->click("//div[@id='toolbar-delete']/button"); - $this->waitForPageToLoad("30000"); - $this->assertTrue(($this->isTextPresent("deleted") OR $this->isTextPresent("removed") OR $this->isTextPresent("trashed")), 'Deletion failed or confirm text wrong, SeleniumJoomlaTestCase line 310'); - $this->jPrint ( "Deletion of item(s) succeeded.\n"); - break; - case 'Edit': - $this->jPrint ( "Testng Edit capability.\n"); - $this->click("//div[@id='toolbar-edit']/button"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent(": Edit", $this->getText("//h1"))); - break; - case 'Global Configuration': - $screen='Global Configuration'; - $this->jPrint ( "Navigating to ".$screen.".\n"); - $this->click("link=Global Configuration"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent($screen,$this->getText("//h1[@class='page-title']")),'Error navigating to '.$screen.' or page title changed.'); - break; - case 'Global Configuration: Permissions': - $this->jClick('Global Configuration'); - $this->click("//li/a[contains(., 'Permissions')]"); - break; - case 'Groups': - $screen="User Manager: User Groups"; - $this->jPrint ( "Navigating to ".$screen.".\n"); - $this->click("link=Groups"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent($screen),'Error navigating to '.$screen.' or page title changed.'); - break; - case 'Menu Manager': - $screen="Menu Manager: Menus"; - $this->jPrint ( "Navigating to ".$screen.".\n"); - $this->click("link=Menu Manager"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent($screen),'Error navigating to '.$screen.' or page title changed.'); - break; - case 'Menu Items': - $screen="Menu Manager: Menu Items"; - $this->jPrint ( "Navigating to ".$screen.".\n"); - $this->click("link=Menu Manager"); - $this->waitForPageToLoad("30000"); - $this->click("link=Menu Items"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent($screen,$this->getText("//div[contains(@class,'pagetitle')]/h2")),'Error navigating to '.$screen.' or page title changed.'); - break; - case 'Module Manager': - $screen="Module Manager: Modules"; - $this->jPrint ( "Navigating to ".$screen.".\n"); - $this->click("link=Module Manager"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent($screen,$this->getText("//div[contains(@class,'pagetitle')]/h2")),'Error navigating to '.$screen.' or page title changed.'); - break; - case 'New': - $this->jPrint ( "Clicking New toolbar button.\n"); - $this->click("//div[@id='toolbar-new']/button"); - $this->waitForPageToLoad("30000"); - break; - case 'Options': - $this->jPrint ( "Navigating to Options\n"); - $this->click("//div[@id='toolbar-options']/button"); - $this->waitForPageToLoad('3000'); - break; - case 'Redirect Manager': - $screen="Redirect Manager: Links"; - $this->jPrint ( "Navigating to ".$screen.".\n"); - $this->click("link=Redirect"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent($screen,$this->getText("//div[contains(@class,'pagetitle')]/h2")),'Error navigating to '.$screen.' or page title changed.'); - break; - case 'Save & Close': - $this->jPrint ( "Clicking Save & Close toolbar button.\n"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container'][contains(., 'success')]"), "Save success text not present, SeleniumTestCase line 327"); - $this->assertFalse($this->isElementPresent("//div[@id='system-message-container'][contains(., 'error')]"), "Error message present, SeleniumTestCase line 328"); - $this->jPrint ( "Item successfully saved.\n"); - break; - case 'Trash': - $this->jPrint ( "Clicking Trash toolbar button.\n"); - $this->click("//li[@id='toolbar-trash']/a/span"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container'][contains(., 'success')]"),'Error trashing item, SeleniumTestCase line 491.'); - break; - case 'Unpublish': - $this->jPrint ( "Clicking Unpublish toolbar button.\n"); - $this->click("//li[@id='toolbar-unpublish']/a/span"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container'][contains(., 'success')]"),'Error unpublishing item, SeleniumTestCase line 505.'); - $this->assertFalse($this->isTextPresent("Edit state is not permitted"),"Access issues with unpublishing item, SeleniumTestCase line 515."); - break; - case 'User Manager': - $screen="User Manager: Users"; - $this->jPrint ( "Navigating to ".$screen.".\n"); - $this->click("link=User Manager"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent($screen),'Error navigating to '.$screen.' or page title changed.'); - break; - case 'Weblinks': - $screen="Web Links Manager: Web Links"; - $this->jPrint ( "Navigating to ".$screen.".\n"); - $this->click("link=Weblinks"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent($screen),'Error navigating to '.$screen.' or page title changed.'); - break; - case 'Weblink Categories': - $screen="Category Manager: Weblinks"; - $this->jPrint ( "Navigating to ".$screen.".\n"); - $this->click("//a[contains(@href, 'index.php?option=com_categories&extension=com_weblinks')]"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent($screen,$this->getText("//div[contains(@class,'pagetitle')]/h2")),'Error navigating to '.$screen.' or page title changed.'); - break; - default: - $this->click("//div[@id='toolbar-new']/button"); - $this->jPrint ( "Clicking New toolbar button.\n"); - $this->waitForPageToLoad("30000"); - break; - } - } - - public function jPrint($text) - { - if (isset($this->cfg->debug) && $this->cfg->debug) - { - echo($text); - } - } - - function filterView($filterOn ='Test') - { - $this->type("filter_search", $filterOn); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - } - - function clickTab($formTab ='Permissions') - { - $this->click("//li/a[contains(.,'$formTab')]"); - } - - function restoreDefaultGlobalPermissions() - { - $actions = array('Site Login', 'Admin Login', 'Configure', 'Access Component', 'Create', 'Delete', 'Edit', 'Edit State'); - $permissions = array('Not Set', 'Not Set', 'Not Set', 'Not Set', 'Not Set', 'Not Set', 'Not Set', 'Not Set'); - $this->setPermissions('Global Configuration', 'Public', $actions, $permissions); - - $permissions = array('Allowed', 'Allowed', 'Inherited', 'Inherited', 'Allowed', 'Allowed', 'Allowed', 'Allowed'); - $this->setPermissions('Global Configuration', 'Manager', $actions, $permissions); - - $permissions = array('Inherited', 'Inherited', 'Inherited', 'Allowed', 'Inherited', 'Inherited', 'Inherited', 'Inherited'); - $this->setPermissions('Global Configuration', 'Administrator', $actions, $permissions); - - $permissions = array('Allowed', 'Inherited', 'Inherited', 'Inherited', 'Inherited', 'Inherited', 'Inherited', 'Inherited'); - $this->setPermissions('Global Configuration', 'Registered', $actions, $permissions); - - $permissions = array('Inherited', 'Inherited', 'Inherited', 'Inherited', 'Allowed', 'Inherited', 'Inherited', 'Inherited'); - $this->setPermissions('Global Configuration', 'Author', $actions, $permissions); - - $permissions = array('Inherited', 'Inherited', 'Inherited', 'Inherited', 'Inherited', 'Inherited', 'Allowed', 'Inherited'); - $this->setPermissions('Global Configuration', 'Editor', $actions, $permissions); - - $permissions = array('Inherited', 'Inherited', 'Inherited', 'Inherited', 'Inherited', 'Inherited', 'Inherited', 'Allowed'); - $this->setPermissions('Global Configuration', 'Publisher', $actions, $permissions); - - $permissions = array('Inherited', 'Inherited', 'Inherited', 'Inherited', 'Inherited', 'Inherited', 'Inherited', 'Inherited'); - $this->setPermissions('Global Configuration', 'Shop Suppliers', $actions, $permissions); - - $permissions = array('Inherited', 'Inherited', 'Inherited', 'Inherited', 'Inherited', 'Inherited', 'Inherited', 'Inherited'); - $this->setPermissions('Global Configuration', 'Customer Group', $actions, $permissions); - - $permissions = array('Inherited', 'Inherited', 'Allowed', 'Inherited', 'Inherited', 'Inherited', 'Inherited', 'Inherited'); - $this->setPermissions('Global Configuration', 'Super Users', $actions, $permissions); - } - - /** - * - * Sets permissions in Global Configuration or Component for a group - * @param string $component Name of Component: Global Configuration, Article Manager, Contacts, etc. - * @param string $group Name of the Group - * @param string or array $actions Actions to set: Site Login, Admin Login, Configure, Access Component, Create, Delete, Edit, Edit State - * @param string or array $permissions Permissions to set for corresponding Action: Inherited, Allowed, or Locked - */ - - function setPermissions($component, $group, $actions, $permissions) - { - $this->jClick($component); - if ($component == 'Global Configuration') - { - $this->click("//li/a[contains(., 'Permissions')]"); - } - else - { - $this->jClick('Options'); - $this->click("//li/a[contains(., 'Permissions')]"); - } - if (!is_array($actions)) { - $actions = array($actions); - } - if (!is_array($permissions)) { - $permissions = array($permissions); - } - $this->jPrint ( "Open panel for group '$group'\n"); - $this->click("//div[@id='permissions-sliders']//li[contains(.,'$group')]/a"); - - for ($i = 0; $i < count($actions); $i++) { - $action = $actions[$i]; - $permission = $permissions[$i]; - $this->jPrint ( "Setting $action action for $group to $permission in $component.\n"); - switch ($action) - { - case 'Site Login': - $doAction = 'login.site'; - break; - case 'Admin Login': - $doAction = 'login.admin'; - break; - case 'Configure': - case 'Super Admin': - $doAction = 'core.admin'; - break; - case 'Access Component': - $doAction = 'core.manage'; - break; - case 'Create': - $doAction = 'create'; - break; - case 'Delete': - $doAction = 'delete'; - break; - case 'Edit': - $doAction = 'edit'; - break; - case 'Edit State': - $doAction = 'edit.state'; - break; - case 'Edit Own': - $doAction = 'edit.own'; - break; - } - - $this->select("//select[contains(@id,'$doAction')][contains(@title,'$group')]", "label=$permission"); - } - - $this->jPrint ( "Close panel for group '$group'\n"); - $this->click("//div[@id='permissions-sliders']//li[contains(., 'Public')]/a"); - - if ($component == 'Global Configuration') { - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad('3000'); - - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container'][contains(., 'success')]")); - - } - else { - // Need to click the Save & Close button - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad('3000'); - } - } - - function setEditor($editor) - { - $this->jPrint ( "Changing editor to $editor\n"); - $this->jClick('Global Configuration'); - $this->click("link=Site"); - switch (strtoupper($editor)) - { - case 'NO EDITOR': - case 'NONE': - $select = 'label=Editor - None'; - break; - - case 'CODEMIRROR': - $select = 'label=Editor - CodeMirror'; - - case 'TINYMCE': - case 'TINY': - default: - $select = 'label=Editor - TinyMCE'; - break; - } - - - $this->select("id=jform_editor", $select); - - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - - } - - function setTinyText($text) - { - $this->selectFrame("jform_articletext_ifr"); - $this->type("tinymce", $text); - $this->selectFrame("relative=top"); - } - - function toggleFeatured($articleTitle) - { - $this->jPrint ( "Toggling Featured on/off for article " . $articleTitle . "\n"); - $this->click("//table[@id='articleList']/tbody//tr//td/div/a[contains(text(), '" . $articleTitle . "')]/../../../td[3]//a[contains(@onclick, 'featured')]"); - $this->waitForPageToLoad("30000"); - } - - function togglePublished($articleTitle, $type = 'Article') - { - if ($type == 'Article') - { - $this->jPrint ( "Toggling publishing of article " . $articleTitle . "\n"); - $this->click("//table[@id='articleList']/tbody/tr//td/div/a[contains(text(), '" . $articleTitle . "')]/../../../td[3]/div/a"); - $this->waitForPageToLoad("30000"); - } - if ($type == 'Category') - { - $this->jPrint ( "Toggling publishing of article " . $articleTitle . "\n"); - $this->click("//table[@id='categoryList']/tbody/tr//td/a[contains(text(), '" . $articleTitle . "')]/../../td[3]/a/i"); - $this->waitForPageToLoad("30000"); - } - } - - function toggleCheckBox($itemTitle, $type = 'Category') - { - switch ($type) - { - case 'Category' : - $this->jPrint ( "Toggling check box selection of category " . $itemTitle . "\n"); - $this->click("//table[@id='categoryList']/tbody//tr//td/a[contains(text(), '" . $itemTitle . "')]/../../td/input[@type='checkbox']"); - break; - - case 'Article' : - default : - $this->jPrint ( "Toggling check box selection of article " . $itemTitle . "\n"); - $this->click("//table[@id='articleList']/tbody//tr//td/div/a[contains(text(), '" . $itemTitle . "')]/../../../td/input[@type='checkbox']"); - break; - } - } - - /** - * - * Sets state of component category or item - * @param string Title or Category or Item - * @param string Name of Menu: Article Manager, Banners, Contacts, Newsfeeds, Weblinks - * @param string Category or Item - * @param string last part of toolbar name: publish, unpublish, archive, trash - */ - - function changeState($title = null, $menu = 'Article Manager', $type = 'Category', $newState = 'publish') - { - $this->gotoAdmin(); - $this->jPrint ( "Changing state of " . $type . " " . $title . " in " . $menu . " to " . $newState . "\n"); - $this->click("link=" . $menu); - $this->waitForPageToLoad("30000"); - if ($type == 'Category') - { - $this->click("//ul[@id='submenu']/li[2]/a"); - $this->waitForPageToLoad("30000"); - } - $filter = ($menu == 'Banners') ? 'filter_state' : 'filter_published'; - $this->select($filter, "label=All"); - $this->waitForPageToLoad("30000"); - $this->type("filter_search", $title); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - $this->toggleCheckBox($title, $type); - $this->click("//div[@id='toolbar-" . $newState . "']/button"); - $this->waitForPageToLoad("30000"); - $this->click("//button[@type='button'][contains(@onclick, \".value=''\")]"); - $this->waitForPageToLoad("30000"); - $this->select($filter, "label=- Select Status -"); - $this->waitForPageToLoad("30000"); - $this->gotoAdmin(); - } - - function changeCategory($title = null, $menu = 'Article Manager', $newCategory = 'Uncategorised') - { - $this->jPrint ( "Changing category for $title in $menu to $newCategory\n"); - $this->gotoAdmin(); - $this->click("link=$menu"); - $this->waitForPageToLoad("30000"); - $this->type("filter_search", $title); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - $this->click("link=$title"); - $this->waitForPageToLoad("30000"); - $this->select("jform_catid", "label=*$newCategory*"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - - } - /** - * - * Sets caching option - * - * @param string $level Options are off, on-basic, on-full - */ - function setCache($level = 'off') - { - $this->gotoAdmin(); - $this->jClick('Global Configuration'); - $this->click("//a[@href='#page-system']"); - $this->jPrint ( "Set caching to $level\n"); - switch ($level) - { - case 'on-basic': - $this->select("jform_caching", "value=1"); - break; - - case 'on-full' : - $this->select("jform_caching", "value=2"); - break; - - case 'off' : - default: - $this->select("jform_caching", "value=0"); - break; - } - - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - } - - function setDefaultTemplate($template) - { - $this->doAdminLogin(); - $this->click("link=Template Manager"); - $this->waitForPageToLoad("30000"); - try - { - $this->click("//table/tbody//a[contains(text(), '" . $template . "')]/../../td/a[contains(@onclick, 'setDefault')]"); - $this->waitForPageToLoad("30000"); - } - catch (Exception $e) { - } // ignore if already set - $this->doAdminLogout(); - } - - function waitforElement($element, $time = 30, $present = true) { - for ($second = 0; ; $second++) { - if ($second >= $time) $this->fail("timeout"); - try { - $condition = ($present) ? $this->isElementPresent($element) : !$this->isElementPresent($element); - if ($condition) break; - } catch (Exception $e) {} - sleep(1); - } - sleep(1); - $this->checkNotices(); -} - -function checkNotices() -{ - try { - $this->assertFalse($this->isTextPresent("( ! ) Notice"), "**Warning: PHP Notice found on page!"); - $this->assertElementNotPresent("//tr[contains(., '( ! ) Notice:')]", "**Warning: PHP Notice found on page!"); - $this->assertElementNotPresent("//tr[contains(., '( ! ) Warning:')]", "**Warning: PHP Warning found on page!"); - } - catch (PHPUnit_Framework_AssertionFailedError $e) { - $this->jPrint ( "**Warning: PHP Notice found on page\n"); - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } -} - -/** - * Magic method to check for PHP Notice whenever the waitForPageToLoad command is invoked - * To suppress the check, use waitForPageToLoad('3000', false); - * - * @param string $command - * @param array $arguments - * @return results of waitForPageToLoad method - */ -public function __call($command, $arguments) -{ - $return = parent::__call($command, $arguments); - if ($command == 'waitForPageToLoad' && (!isset($arguments[1]) || $arguments[1] !== false)) - { - try { - $this->assertFalse($this->isTextPresent("( ! ) Notice") || $this->isTextPresent("( ! ) Warning"), "**Warning: PHP Notice found on page!"); - $this->assertElementNotPresent("//tr[contains(., '( ! ) Notice:')]", "**Warning: PHP Notice found on page!"); - $this->assertElementNotPresent("//tr[contains(., '( ! ) Warning:')]", "**Warning: PHP Warning found on page!"); - } - catch (PHPUnit_Framework_AssertionFailedError $e) { - $this->jPrint ( "**Warning: PHP Notice found on page\n"); - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } -} -return $return; -} - -/** - * Function to extract our test file information from the $e stack trace. - * Makes the error reporting more readable, since it filters out all of the PHPUnit files. - * - * @param PHPUnit_Framework_AssertionFailedError $e - * @return string with selected files based on path - */ -public function getTraceFiles($e) { - $trace = $e->getTrace(); - $path = $this->cfg->folder . $this->cfg->path; - $path = str_replace('\\', '/', $path); - $message = ''; - foreach ($trace as $traceLine) { - if (isset($traceLine['file'])){ - $file = str_replace('\\', '/', $traceLine['file']); - if (stripos($file, $path) !== false) { - $message .= "\n" . $traceLine['file'] . '(' . $traceLine['line'] . '): ' . - $traceLine['class'] . $traceLine['type'] . $traceLine['function'] ; - } - } - } - return $e->toString() . $message; -} - -} diff --git a/tests/system/incoming/selenium_test_21462._example.html b/tests/system/incoming/selenium_test_21462._example.html deleted file mode 100644 index cae7e418eb41a..0000000000000 --- a/tests/system/incoming/selenium_test_21462._example.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - -selenium_test_21462._example - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
selenium_test_21462._example
clickAndWait//div[@id='nav']/div[2]/ul/li[4]/a
clickAndWait//div[@id='main']/div/p[3]/a[2]
clickAndWaitlink=Fruit encyclopedia
verifyTextNotPresentgrowers0
verifyTextPresentgrowers)
- - diff --git a/tests/system/phpunit.php b/tests/system/phpunit.php deleted file mode 100644 index 926f69018bcb8..0000000000000 --- a/tests/system/phpunit.php +++ /dev/null @@ -1,46 +0,0 @@ -#!C:\xampp\php\.\php.exe -. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * * Neither the name of Sebastian Bergmann nor the names of his - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -define('PHPUnit_MAIN_METHOD', 'PHPUnit_TextUI_Command::main'); - -if (strpos('C:\xampp\php\.\php.exe', '@php_bin') === 0) { - require dirname(__FILE__) . DIRECTORY_SEPARATOR . 'PHPUnit' . DIRECTORY_SEPARATOR . 'Autoload.php'; -} else { - require 'C:\xampp\php\pear' . DIRECTORY_SEPARATOR . 'PHPUnit' . DIRECTORY_SEPARATOR . 'Autoload.php'; -} - -PHPUnit_TextUI_Command::main(); diff --git a/tests/system/phpunit.xml.dist b/tests/system/phpunit.xml.dist deleted file mode 100644 index 9d40ef952cf07..0000000000000 --- a/tests/system/phpunit.xml.dist +++ /dev/null @@ -1,21 +0,0 @@ - - - suite/doInstall.php - - - suite/acl - suite/articles - suite/cache - suite/com_users - suite/control_panel - suite/language - suite/menus - suite/modules - suite/redirect - suite/sample_data - suite/security - - - - - diff --git a/tests/system/resetdb.sql b/tests/system/resetdb.sql deleted file mode 100644 index 4983ed0c0dd84..0000000000000 --- a/tests/system/resetdb.sql +++ /dev/null @@ -1,1299 +0,0 @@ --- phpMyAdmin SQL Dump --- version 3.1.2deb1ubuntu0.1 --- http://www.phpmyadmin.net --- --- Host: localhost --- Generation Time: Jul 26, 2009 at 01:13 AM --- Server version: 5.0.75 --- PHP Version: 5.2.6-3ubuntu4.1 - -SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; - - -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!40101 SET NAMES utf8 */; - --- --- Database: `selsampledata` --- -USE `selsampledata`; - --- -------------------------------------------------------- - --- --- Table structure for table `jos_banner` --- - -DROP TABLE IF EXISTS `jos_banner`; -CREATE TABLE IF NOT EXISTS `jos_banner` ( - `bid` int(11) NOT NULL auto_increment, - `cid` int(11) NOT NULL default '0', - `type` varchar(30) NOT NULL default 'banner', - `name` varchar(255) NOT NULL default '', - `alias` varchar(255) NOT NULL default '', - `imptotal` int(11) NOT NULL default '0', - `impmade` int(11) NOT NULL default '0', - `clicks` int(11) NOT NULL default '0', - `imageurl` varchar(100) NOT NULL default '', - `clickurl` varchar(200) NOT NULL default '', - `date` datetime default NULL, - `showBanner` tinyint(1) NOT NULL default '0', - `checked_out` tinyint(1) NOT NULL default '0', - `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', - `editor` varchar(50) default NULL, - `custombannercode` text, - `catid` int(10) unsigned NOT NULL default '0', - `description` text NOT NULL, - `sticky` tinyint(1) unsigned NOT NULL default '0', - `ordering` int(11) NOT NULL default '0', - `publish_up` datetime NOT NULL default '0000-00-00 00:00:00', - `publish_down` datetime NOT NULL default '0000-00-00 00:00:00', - `tags` text NOT NULL, - `params` text NOT NULL, - PRIMARY KEY (`bid`), - KEY `viewbanner` (`showBanner`), - KEY `idx_banner_catid` (`catid`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ; - --- --- Dumping data for table `jos_banner` --- - -INSERT INTO `jos_banner` (`bid`, `cid`, `type`, `name`, `alias`, `imptotal`, `impmade`, `clicks`, `imageurl`, `clickurl`, `date`, `showBanner`, `checked_out`, `checked_out_time`, `editor`, `custombannercode`, `catid`, `description`, `sticky`, `ordering`, `publish_up`, `publish_down`, `tags`, `params`) VALUES -(1, 1, 'banner', 'OSM 1', 'osm-1', 0, 43, 0, 'osmbanner1.png', 'http://www.opensourcematters.org', '2004-07-07 15:31:29', 1, 0, '0000-00-00 00:00:00', '', '', 13, '', 0, 1, '0000-00-00 00:00:00', '0000-00-00 00:00:00', '', ''), -(2, 1, 'banner', 'OSM 2', 'osm-2', 0, 49, 0, 'osmbanner2.png', 'http://www.opensourcematters.org', '2004-07-07 15:31:29', 1, 0, '0000-00-00 00:00:00', '', '', 13, '', 0, 2, '0000-00-00 00:00:00', '0000-00-00 00:00:00', '', ''), -(3, 1, '', 'Joomla!', 'joomla', 0, 18, 0, '', 'http://www.joomla.org', '2006-05-29 14:21:28', 1, 0, '0000-00-00 00:00:00', '', '{NAME}\r\n
\r\nJoomla! The most popular and widely used Open Source CMS Project in the world.', 14, '', 0, 1, '0000-00-00 00:00:00', '0000-00-00 00:00:00', '', ''), -(4, 1, '', 'JoomlaCode', 'joomlacode', 0, 18, 0, '', 'http://joomlacode.org', '2006-05-29 14:19:26', 1, 0, '0000-00-00 00:00:00', '', '{NAME}\r\n
\r\nJoomlaCode, development and distribution made easy.', 14, '', 0, 2, '0000-00-00 00:00:00', '0000-00-00 00:00:00', '', ''), -(5, 1, '', 'Joomla! Extensions', 'joomla-extensions', 0, 13, 0, '', 'http://extensions.joomla.org', '2006-05-29 14:23:21', 1, 0, '0000-00-00 00:00:00', '', '{NAME}\r\n
\r\nJoomla! Components, Modules, Plugins and Languages by the bucket load.', 14, '', 0, 3, '0000-00-00 00:00:00', '0000-00-00 00:00:00', '', ''), -(6, 1, '', 'Joomla! Shop', 'joomla-shop', 0, 13, 0, '', 'http://shop.joomla.org', '2006-05-29 14:23:21', 1, 0, '0000-00-00 00:00:00', '', '{NAME}\r\n
\r\nFor all your Joomla! merchandise.', 14, '', 0, 4, '0000-00-00 00:00:00', '0000-00-00 00:00:00', '', ''), -(7, 1, '', 'Joomla! Promo Shop', 'joomla-promo-shop', 0, 9, 1, 'shop-ad.jpg', 'http://shop.joomla.org', '2007-09-19 17:26:24', 1, 0, '0000-00-00 00:00:00', '', '', 33, '', 0, 3, '0000-00-00 00:00:00', '0000-00-00 00:00:00', '', ''), -(8, 1, '', 'Joomla! Promo Books', 'joomla-promo-books', 0, 9, 0, 'shop-ad-books.jpg', 'http://shop.joomla.org/amazoncom-bookstores.html', '2007-09-19 17:28:01', 1, 0, '0000-00-00 00:00:00', '', '', 33, '', 0, 4, '0000-00-00 00:00:00', '0000-00-00 00:00:00', '', ''); - --- -------------------------------------------------------- - --- --- Table structure for table `jos_bannerclient` --- - -DROP TABLE IF EXISTS `jos_bannerclient`; -CREATE TABLE IF NOT EXISTS `jos_bannerclient` ( - `cid` int(11) NOT NULL auto_increment, - `name` varchar(255) NOT NULL default '', - `contact` varchar(255) NOT NULL default '', - `email` varchar(255) NOT NULL default '', - `extrainfo` text NOT NULL, - `checked_out` tinyint(1) NOT NULL default '0', - `checked_out_time` time default NULL, - `editor` varchar(50) default NULL, - PRIMARY KEY (`cid`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ; - --- --- Dumping data for table `jos_bannerclient` --- - -INSERT INTO `jos_bannerclient` (`cid`, `name`, `contact`, `email`, `extrainfo`, `checked_out`, `checked_out_time`, `editor`) VALUES -(1, 'Open Source Matters', 'Administrator', 'admin@opensourcematters.org', '', 0, '00:00:00', NULL); - --- -------------------------------------------------------- - --- --- Table structure for table `jos_bannertrack` --- - -DROP TABLE IF EXISTS `jos_bannertrack`; -CREATE TABLE IF NOT EXISTS `jos_bannertrack` ( - `track_date` date NOT NULL, - `track_type` int(10) unsigned NOT NULL, - `banner_id` int(10) unsigned NOT NULL -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - --- --- Dumping data for table `jos_bannertrack` --- - - --- -------------------------------------------------------- - --- --- Table structure for table `jos_categories` --- - -DROP TABLE IF EXISTS `jos_categories`; -CREATE TABLE IF NOT EXISTS `jos_categories` ( - `id` int(11) NOT NULL auto_increment, - `parent_id` int(11) NOT NULL default '0', - `title` varchar(255) NOT NULL default '', - `name` varchar(255) NOT NULL default '', - `alias` varchar(255) NOT NULL default '', - `image` varchar(255) NOT NULL default '', - `section` varchar(50) NOT NULL default '', - `image_position` varchar(30) NOT NULL default '', - `description` text NOT NULL, - `published` tinyint(1) NOT NULL default '0', - `checked_out` int(11) unsigned NOT NULL default '0', - `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', - `editor` varchar(50) default NULL, - `ordering` int(11) NOT NULL default '0', - `access` tinyint(3) unsigned NOT NULL default '0', - `count` int(11) NOT NULL default '0', - `params` text NOT NULL, - PRIMARY KEY (`id`), - KEY `cat_idx` (`section`,`published`,`access`), - KEY `idx_access` (`access`), - KEY `idx_checkout` (`checked_out`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=34 ; - --- --- Dumping data for table `jos_categories` --- - -INSERT INTO `jos_categories` (`id`, `parent_id`, `title`, `name`, `alias`, `image`, `section`, `image_position`, `description`, `published`, `checked_out`, `checked_out_time`, `editor`, `ordering`, `access`, `count`, `params`) VALUES -(1, 0, 'Latest', '', 'latest-news', 'taking_notes.jpg', '1', 'left', 'The latest news from the Joomla! Team', 1, 0, '0000-00-00 00:00:00', '', 1, 0, 1, ''), -(2, 0, 'Joomla! Specific Links', '', 'joomla-specific-links', 'clock.jpg', 'com_weblinks', 'left', 'A selection of links that are all related to the Joomla! Project.', 1, 0, '0000-00-00 00:00:00', NULL, 1, 0, 0, ''), -(3, 0, 'Newsflash', '', 'newsflash', '', '1', 'left', '', 1, 0, '0000-00-00 00:00:00', '', 2, 0, 0, ''), -(4, 0, 'Joomla!', '', 'joomla', '', 'com_newsfeeds', 'left', '', 1, 0, '0000-00-00 00:00:00', NULL, 2, 0, 0, ''), -(5, 0, 'Free and Open Source Software', '', 'free-and-open-source-software', '', 'com_newsfeeds', 'left', 'Read the latest news about free and open source software from some of its leading advocates.', 1, 0, '0000-00-00 00:00:00', NULL, 3, 0, 0, ''), -(6, 0, 'Related Projects', '', 'related-projects', '', 'com_newsfeeds', 'left', 'Joomla builds on and collaborates with many other free and open source projects. Keep up with the latest news from some of them.', 1, 0, '0000-00-00 00:00:00', NULL, 4, 0, 0, ''), -(12, 0, 'Contacts', '', 'contacts', '', 'com_contact_details', 'left', 'Contact Details for this Web site', 1, 0, '0000-00-00 00:00:00', NULL, 0, 0, 0, ''), -(13, 0, 'Joomla', '', 'joomla', '', 'com_banner', 'left', '', 1, 0, '0000-00-00 00:00:00', NULL, 0, 0, 0, ''), -(14, 0, 'Text Ads', '', 'text-ads', '', 'com_banner', 'left', '', 1, 0, '0000-00-00 00:00:00', NULL, 0, 0, 0, ''), -(15, 0, 'Features', '', 'features', '', 'com_content', 'left', '', 0, 0, '0000-00-00 00:00:00', NULL, 6, 0, 0, ''), -(17, 0, 'Benefits', '', 'benefits', '', 'com_content', 'left', '', 0, 0, '0000-00-00 00:00:00', NULL, 4, 0, 0, ''), -(18, 0, 'Platforms', '', 'platforms', '', 'com_content', 'left', '', 0, 0, '0000-00-00 00:00:00', NULL, 3, 0, 0, ''), -(19, 0, 'Other Resources', '', 'other-resources', '', 'com_weblinks', 'left', '', 1, 0, '0000-00-00 00:00:00', NULL, 2, 0, 0, ''), -(29, 0, 'The CMS', '', 'the-cms', '', '4', 'left', 'Information about the software behind Joomla!
', 1, 0, '0000-00-00 00:00:00', NULL, 2, 0, 0, ''), -(28, 0, 'Current Users', '', 'current-users', '', '3', 'left', 'Questions that users migrating to Joomla! 1.5 are likely to raise
', 1, 0, '0000-00-00 00:00:00', NULL, 2, 0, 0, ''), -(25, 0, 'The Project', '', 'the-project', '', '4', 'left', 'General facts about Joomla!
', 1, 65, '2007-06-28 14:50:15', NULL, 1, 0, 0, ''), -(27, 0, 'New to Joomla!', '', 'new-to-joomla', '', '3', 'left', 'Questions for new users of Joomla!', 1, 0, '0000-00-00 00:00:00', NULL, 3, 0, 0, ''), -(30, 0, 'The Community', '', 'the-community', '', '4', 'left', 'About the millions of Joomla! users and Web sites
', 1, 0, '0000-00-00 00:00:00', NULL, 3, 0, 0, ''), -(31, 0, 'General', '', 'general', '', '3', 'left', 'General questions about the Joomla! CMS', 1, 0, '0000-00-00 00:00:00', NULL, 1, 0, 0, ''), -(32, 0, 'Languages', '', 'languages', '', '3', 'left', 'Questions related to localisation and languages', 1, 0, '0000-00-00 00:00:00', NULL, 4, 0, 0, ''), -(33, 0, 'Joomla! Promo', '', 'joomla-promo', '', 'com_banner', 'left', '', 1, 0, '0000-00-00 00:00:00', NULL, 1, 0, 0, ''); - --- -------------------------------------------------------- - --- --- Table structure for table `jos_components` --- - -DROP TABLE IF EXISTS `jos_components`; -CREATE TABLE IF NOT EXISTS `jos_components` ( - `id` int(11) NOT NULL auto_increment, - `name` varchar(50) NOT NULL default '', - `link` varchar(255) NOT NULL default '', - `menuid` int(11) unsigned NOT NULL default '0', - `parent` int(11) unsigned NOT NULL default '0', - `admin_menu_link` varchar(255) NOT NULL default '', - `admin_menu_alt` varchar(255) NOT NULL default '', - `option` varchar(50) NOT NULL default '', - `ordering` int(11) NOT NULL default '0', - `admin_menu_img` varchar(255) NOT NULL default '', - `iscore` tinyint(4) NOT NULL default '0', - `params` text NOT NULL, - `enabled` tinyint(4) NOT NULL default '1', - PRIMARY KEY (`id`), - KEY `parent_option` (`parent`,`option`(32)) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=34 ; - --- --- Dumping data for table `jos_components` --- - -INSERT INTO `jos_components` (`id`, `name`, `link`, `menuid`, `parent`, `admin_menu_link`, `admin_menu_alt`, `option`, `ordering`, `admin_menu_img`, `iscore`, `params`, `enabled`) VALUES -(1, 'Banners', '', 0, 0, '', 'Banner Management', 'com_banners', 0, 'js/ThemeOffice/component.png', 0, 'track_impressions=0\ntrack_clicks=0\ntag_prefix=\n\n', 1), -(2, 'Banners', '', 0, 1, 'option=com_banners', 'Active Banners', 'com_banners', 1, 'js/ThemeOffice/edit.png', 0, '', 1), -(3, 'Clients', '', 0, 1, 'option=com_banners&c=client', 'Manage Clients', 'com_banners', 2, 'js/ThemeOffice/categories.png', 0, '', 1), -(4, 'Web Links', 'option=com_weblinks', 0, 0, '', 'Manage Weblinks', 'com_weblinks', 0, 'js/ThemeOffice/component.png', 0, 'show_comp_description=1\ncomp_description=\nshow_link_hits=1\nshow_link_description=1\nshow_other_cats=1\nshow_headings=1\nshow_page_heading=1\nlink_target=0\nlink_icons=\n\n', 1), -(5, 'Links', '', 0, 4, 'option=com_weblinks', 'View existing weblinks', 'com_weblinks', 1, 'js/ThemeOffice/edit.png', 0, '', 1), -(6, 'Categories', '', 0, 4, 'option=com_categories§ion=com_weblinks', 'Manage weblink categories', '', 2, 'js/ThemeOffice/categories.png', 0, '', 1), -(7, 'Contacts', 'option=com_contact', 0, 0, '', 'Edit contact details', 'com_contact', 0, 'js/ThemeOffice/component.png', 1, 'contact_icons=0\nicon_address=\nicon_email=\nicon_telephone=\nicon_fax=\nicon_misc=\nshow_headings=1\nshow_position=1\nshow_email=0\nshow_telephone=1\nshow_mobile=1\nshow_fax=1\nbannedEmail=\nbannedSubject=\nbannedText=\nsession=1\ncustomReply=0\n\n', 1), -(8, 'Contacts', '', 0, 7, 'option=com_contact', 'Edit contact details', 'com_contact', 0, 'js/ThemeOffice/edit.png', 1, '', 1), -(9, 'Categories', '', 0, 7, 'option=com_categories§ion=com_contact_details', 'Manage contact categories', '', 2, 'js/ThemeOffice/categories.png', 1, 'contact_icons=0\nicon_address=\nicon_email=\nicon_telephone=\nicon_fax=\nicon_misc=\nshow_headings=1\nshow_position=1\nshow_email=0\nshow_telephone=1\nshow_mobile=1\nshow_fax=1\nbannedEmail=\nbannedSubject=\nbannedText=\nsession=1\ncustomReply=0\n\n', 1), -(10, 'Polls', 'option=com_poll', 0, 0, 'option=com_poll', 'Manage Polls', 'com_poll', 0, 'js/ThemeOffice/component.png', 0, '', 1), -(11, 'News Feeds', 'option=com_newsfeeds', 0, 0, '', 'News Feeds Management', 'com_newsfeeds', 0, 'js/ThemeOffice/component.png', 0, '', 1), -(12, 'Feeds', '', 0, 11, 'option=com_newsfeeds', 'Manage News Feeds', 'com_newsfeeds', 1, 'js/ThemeOffice/edit.png', 0, 'show_headings=1\nshow_name=1\nshow_articles=1\nshow_link=1\nshow_cat_description=1\nshow_cat_items=1\nshow_feed_image=1\nshow_feed_description=1\nshow_item_description=1\nfeed_word_count=0\n\n', 1), -(13, 'Categories', '', 0, 11, 'option=com_categories§ion=com_newsfeeds', 'Manage Categories', '', 2, 'js/ThemeOffice/categories.png', 0, '', 1), -(14, 'User', 'option=com_user', 0, 0, '', '', 'com_user', 0, '', 1, '', 1), -(15, 'Search', 'option=com_search', 0, 0, 'option=com_search', 'Search Statistics', 'com_search', 0, 'js/ThemeOffice/component.png', 1, 'enabled=0\n\n', 1), -(16, 'Categories', '', 0, 1, 'option=com_categories§ion=com_banner', 'Categories', '', 3, '', 1, '', 1), -(17, 'Wrapper', 'option=com_wrapper', 0, 0, '', 'Wrapper', 'com_wrapper', 0, '', 1, '', 1), -(18, 'Mail To', '', 0, 0, '', '', 'com_mailto', 0, '', 1, '', 1), -(19, 'Media Manager', '', 0, 0, 'option=com_media', 'Media Manager', 'com_media', 0, '', 1, 'upload_extensions=bmp,csv,doc,epg,gif,ico,jpg,odg,odp,ods,odt,pdf,png,ppt,swf,txt,xcf,xls,BMP,CSV,DOC,EPG,GIF,ICO,JPG,ODG,ODP,ODS,ODT,PDF,PNG,PPT,SWF,TXT,XCF,XLS\nupload_maxsize=10485760\nfile_path=images\nimage_path=images/stories\nrestrict_uploads=1\ncheck_mime=1\nimage_extensions=bmp,gif,jpg,png\nignore_extensions=\nupload_mime=image/jpeg,image/gif,image/png,image/bmp,application/x-shockwave-flash,application/msword,application/excel,application/pdf,application/powerpoint,text/plain,application/x-zip\nupload_mime_illegal=text/html', 1), -(20, 'Articles', 'option=com_content', 0, 0, '', '', 'com_content', 0, '', 1, 'show_noauth=0\nshow_title=1\nlink_titles=0\nshow_intro=1\nshow_section=0\nlink_section=0\nshow_category=0\nlink_category=0\nshow_author=1\nshow_create_date=1\nshow_modify_date=1\nshow_item_navigation=0\nshow_readmore=1\nshow_vote=0\nshow_icons=1\nshow_pdf_icon=1\nshow_print_icon=1\nshow_email_icon=1\nshow_hits=1\nfeed_summary=0\n\n', 1), -(21, 'Configuration Manager', '', 0, 0, '', 'Configuration', 'com_config', 0, '', 1, '', 1), -(22, 'Installation Manager', '', 0, 0, '', 'Installer', 'com_installer', 0, '', 1, '', 1), -(23, 'Language Manager', '', 0, 0, '', 'Languages', 'com_languages', 0, '', 1, 'administrator=en-GB\nsite=en-GB', 1), -(24, 'Mass mail', '', 0, 0, '', 'Mass Mail', 'com_massmail', 0, '', 1, 'mailSubjectPrefix=\nmailBodySuffix=\n\n', 1), -(25, 'Menu Editor', '', 0, 0, '', 'Menu Editor', 'com_menus', 0, '', 1, '', 1), -(27, 'Messaging', '', 0, 0, '', 'Messages', 'com_messages', 0, '', 1, '', 1), -(28, 'Modules Manager', '', 0, 0, '', 'Modules', 'com_modules', 0, '', 1, '', 1), -(29, 'Plugin Manager', '', 0, 0, '', 'Plugins', 'com_plugins', 0, '', 1, '', 1), -(30, 'Template Manager', '', 0, 0, '', 'Templates', 'com_templates', 0, '', 1, '', 1), -(31, 'User Manager', '', 0, 0, '', 'Users', 'com_users', 0, '', 1, 'allowUserRegistration=1\nnew_usertype=Registered\nuseractivation=1\nfrontend_userparams=1\n\n', 1), -(32, 'Cache Manager', '', 0, 0, '', 'Cache', 'com_cache', 0, '', 1, '', 1), -(33, 'Control Panel', '', 0, 0, '', 'Control Panel', 'com_cpanel', 0, '', 1, '', 1); - --- -------------------------------------------------------- - --- --- Table structure for table `jos_contact_details` --- - -DROP TABLE IF EXISTS `jos_contact_details`; -CREATE TABLE IF NOT EXISTS `jos_contact_details` ( - `id` int(11) NOT NULL auto_increment, - `name` varchar(255) NOT NULL default '', - `alias` varchar(255) NOT NULL default '', - `con_position` varchar(255) default NULL, - `address` text, - `suburb` varchar(100) default NULL, - `state` varchar(100) default NULL, - `country` varchar(100) default NULL, - `postcode` varchar(100) default NULL, - `telephone` varchar(255) default NULL, - `fax` varchar(255) default NULL, - `misc` mediumtext, - `image` varchar(255) default NULL, - `imagepos` varchar(20) default NULL, - `email_to` varchar(255) default NULL, - `default_con` tinyint(1) unsigned NOT NULL default '0', - `published` tinyint(1) unsigned NOT NULL default '0', - `checked_out` int(11) unsigned NOT NULL default '0', - `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', - `ordering` int(11) NOT NULL default '0', - `params` text NOT NULL, - `user_id` int(11) NOT NULL default '0', - `catid` int(11) NOT NULL default '0', - `access` tinyint(3) unsigned NOT NULL default '0', - `mobile` varchar(255) NOT NULL default '', - `webpage` varchar(255) NOT NULL default '', - PRIMARY KEY (`id`), - KEY `catid` (`catid`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ; - --- --- Dumping data for table `jos_contact_details` --- - -INSERT INTO `jos_contact_details` (`id`, `name`, `alias`, `con_position`, `address`, `suburb`, `state`, `country`, `postcode`, `telephone`, `fax`, `misc`, `image`, `imagepos`, `email_to`, `default_con`, `published`, `checked_out`, `checked_out_time`, `ordering`, `params`, `user_id`, `catid`, `access`, `mobile`, `webpage`) VALUES -(1, 'Name', 'name', 'Position', 'Street', 'Suburb', 'State', 'Country', 'Zip Code', 'Telephone', 'Fax', 'Miscellanous info', 'powered_by.png', 'top', 'email@email.com', 1, 1, 0, '0000-00-00 00:00:00', 1, 'show_name=1\r\nshow_position=1\r\nshow_email=0\r\nshow_street_address=1\r\nshow_suburb=1\r\nshow_state=1\r\nshow_postcode=1\r\nshow_country=1\r\nshow_telephone=1\r\nshow_mobile=1\r\nshow_fax=1\r\nshow_webpage=1\r\nshow_misc=1\r\nshow_image=1\r\nallow_vcard=0\r\ncontact_icons=0\r\nicon_address=\r\nicon_email=\r\nicon_telephone=\r\nicon_fax=\r\nicon_misc=\r\nshow_email_form=1\r\nemail_description=1\r\nshow_email_copy=1\r\nbanned_email=\r\nbanned_subject=\r\nbanned_text=', 0, 12, 0, '', ''); - --- -------------------------------------------------------- - --- --- Table structure for table `jos_content` --- - -DROP TABLE IF EXISTS `jos_content`; -CREATE TABLE IF NOT EXISTS `jos_content` ( - `id` int(11) unsigned NOT NULL auto_increment, - `title` varchar(255) NOT NULL default '', - `alias` varchar(255) NOT NULL default '', - `title_alias` varchar(255) NOT NULL default '', - `introtext` mediumtext NOT NULL, - `fulltext` mediumtext NOT NULL, - `state` tinyint(3) NOT NULL default '0', - `sectionid` int(11) unsigned NOT NULL default '0', - `mask` int(11) unsigned NOT NULL default '0', - `catid` int(11) unsigned NOT NULL default '0', - `created` datetime NOT NULL default '0000-00-00 00:00:00', - `created_by` int(11) unsigned NOT NULL default '0', - `created_by_alias` varchar(255) NOT NULL default '', - `modified` datetime NOT NULL default '0000-00-00 00:00:00', - `modified_by` int(11) unsigned NOT NULL default '0', - `checked_out` int(11) unsigned NOT NULL default '0', - `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', - `publish_up` datetime NOT NULL default '0000-00-00 00:00:00', - `publish_down` datetime NOT NULL default '0000-00-00 00:00:00', - `images` text NOT NULL, - `urls` text NOT NULL, - `attribs` text NOT NULL, - `version` int(11) unsigned NOT NULL default '1', - `parentid` int(11) unsigned NOT NULL default '0', - `ordering` int(11) NOT NULL default '0', - `metakey` text NOT NULL, - `metadesc` text NOT NULL, - `access` int(11) unsigned NOT NULL default '0', - `hits` int(11) unsigned NOT NULL default '0', - `metadata` text NOT NULL, - PRIMARY KEY (`id`), - KEY `idx_section` (`sectionid`), - KEY `idx_access` (`access`), - KEY `idx_checkout` (`checked_out`), - KEY `idx_state` (`state`), - KEY `idx_catid` (`catid`), - KEY `idx_createdby` (`created_by`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=46 ; - --- --- Dumping data for table `jos_content` --- - -INSERT INTO `jos_content` (`id`, `title`, `alias`, `title_alias`, `introtext`, `fulltext`, `state`, `sectionid`, `mask`, `catid`, `created`, `created_by`, `created_by_alias`, `modified`, `modified_by`, `checked_out`, `checked_out_time`, `publish_up`, `publish_down`, `images`, `urls`, `attribs`, `version`, `parentid`, `ordering`, `metakey`, `metadesc`, `access`, `hits`, `metadata`) VALUES -(1, 'Welcome to Joomla!', 'welcome-to-joomla', '', '
Joomla! is a free open source framework and content publishing system designed for quickly creating highly interactive multi-language Web sites, online communities, media portals, blogs and eCommerce applications.


Joomla! LogoJoomla! provides an easy-to-use graphical user interface that simplifies the management and publishing of large volumes of content including HTML, documents, and rich media. Joomla! is used by organisations of all sizes for intranets and extranets and is supported by a community of tens of thousands of users.

', 'With a fully documented library of developer resources, Joomla! allows the customisation of every aspect of a Web site including presentation, layout, administration, and the rapid integration with third-party applications.

Joomla! now provides more developer power while making the user experience all the more friendly. For those who always wanted increased extensibility, Joomla! 1.5 can make this happen.

A new framework, ground-up refactoring, and a highly-active development team brings the excitement of ''the next generation CMS'' to your fingertips. Whether you are a systems architect or a complete ''noob'' Joomla! can take you to the next level of content delivery. ''More than a CMS'' is something we have been playing with as a catchcry because the new Joomla! API has such incredible power and flexibility, you are free to take whatever direction your creative mind takes you and Joomla! can help you get there so much more easily than ever before.

Thinking Web publishing? Think Joomla!

', 1, 1, 0, 1, '2008-08-12 10:00:00', 62, '', '2008-08-12 10:00:00', 62, 0, '0000-00-00 00:00:00', '2006-01-03 01:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 29, 0, 1, '', '', 0, 92, 'robots=\nauthor='), -(2, 'Newsflash 1', 'newsflash-1', '', '

Joomla! makes it easy to launch a Web site of any kind. Whether you want a brochure site or you are building a large online community, Joomla! allows you to deploy a new site in minutes and add extra functionality as you need it. The hundreds of available Extensions will help to expand your site and allow you to deliver new services that extend your reach into the Internet.

', '', 1, 1, 0, 3, '2008-08-10 06:30:34', 62, '', '2008-08-10 06:30:34', 62, 0, '0000-00-00 00:00:00', '2004-08-09 10:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 7, 0, 3, '', '', 0, 1, 'robots=\nauthor='), -(3, 'Newsflash 2', 'newsflash-2', '', '

The one thing about a Web site, it always changes! Joomla! makes it easy to add Articles, content, images, videos, and more. Site administrators can edit and manage content ''in-context'' by clicking the ''Edit'' link. Webmasters can also edit content through a graphical Control Panel that gives you complete control over your site.

', '', 1, 1, 0, 3, '2008-08-09 22:30:34', 62, '', '2008-08-09 22:30:34', 62, 0, '0000-00-00 00:00:00', '2004-08-09 06:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 6, 0, 4, '', '', 0, 0, 'robots=\nauthor='), -(4, 'Newsflash 3', 'newsflash-3', '', '

With a library of thousands of free Extensions, you can add what you need as your site grows. Don''t wait, look through the Joomla! Extensions library today.

', '', 1, 1, 0, 3, '2008-08-10 06:30:34', 62, '', '2008-08-10 06:30:34', 62, 0, '0000-00-00 00:00:00', '2004-08-09 10:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 7, 0, 5, '', '', 0, 1, 'robots=\nauthor='), -(5, 'Joomla! License Guidelines', 'joomla-license-guidelines', 'joomla-license-guidelines', '

This Web site is powered by Joomla! The software and default templates on which it runs are Copyright 2005-2008 Open Source Matters. The sample content distributed with Joomla! is licensed under the Joomla! Electronic Documentation License. All data entered into this Web site and templates added after installation, are copyrighted by their respective copyright owners.

If you want to distribute, copy, or modify Joomla!, you are welcome to do so under the terms of the GNU General Public License. If you are unfamiliar with this license, you might want to read ''How To Apply These Terms To Your Program'' and the ''GNU General Public License FAQ''.

The Joomla! licence has always been GPL.

', '', 1, 4, 0, 25, '2008-08-20 10:11:07', 62, '', '2008-08-20 10:11:07', 62, 0, '0000-00-00 00:00:00', '2004-08-19 06:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 7, 0, 2, '', '', 0, 100, 'robots=\nauthor='), -(6, 'We are Volunteers', 'we-are-volunteers', '', '

The Joomla Core Team and Working Group members are volunteer developers, designers, administrators and managers who have worked together to take Joomla! to new heights in its relatively short life. Joomla! has some wonderfully talented people taking Open Source concepts to the forefront of industry standards. Joomla! 1.5 is a major leap forward and represents the most exciting Joomla! release in the history of the project.

', '', 1, 1, 0, 1, '2007-07-07 09:54:06', 62, '', '2007-07-07 09:54:06', 62, 0, '0000-00-00 00:00:00', '2004-07-06 22:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 10, 0, 4, '', '', 0, 54, 'robots=\nauthor='), -(9, 'Millions of Smiles', 'millions-of-smiles', '', '

The Joomla! team has millions of good reasons to be smiling about the Joomla! 1.5. In its current incarnation, it''s had millions of downloads, taking it to an unprecedented level of popularity. The new code base is almost an entire re-factor of the old code base. The user experience is still extremely slick but for developers the API is a dream. A proper framework for real PHP architects seeking the best of the best.

If you''re a former Mambo User or a 1.0 series Joomla! User, 1.5 is the future of CMSs for a number of reasons. It''s more powerful, more flexible, more secure, and intuitive. Our developers and interface designers have worked countless hours to make this the most exciting release in the content management system sphere.

Go on ... get your FREE copy of Joomla! today and spread the word about this benchmark project.

', '', 1, 1, 0, 1, '2007-07-07 09:54:06', 62, '', '2007-07-07 09:54:06', 62, 0, '0000-00-00 00:00:00', '2004-07-06 22:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 5, 0, 7, '', '', 0, 23, 'robots=\nauthor='), -(10, 'How do I localise Joomla! to my language?', 'how-do-i-localise-joomla-to-my-language', '', '

General

In Joomla! 1.5 all User interfaces can be localised. This includes the installation, the Back-end Control Panel and the Front-end Site.

The core release of Joomla! 1.5 is shipped with multiple language choices in the installation but, other than English (the default), languages for the Site and Administration interfaces need to be added after installation. Links to such language packs exist below.

', '

Translation Teams for Joomla! 1.5 may have also released fully localised installation packages where site, administrator and sample data are in the local language. These localised releases can be found in the specific team projects on the Joomla! Extensions Directory.

How do I install language packs?

  • First download both the admin and the site language packs that you require.
  • Install each pack separately using the Extensions->Install/Uninstall Menu selection and then the package file upload facility.
  • Go to the Language Manager and be sure to select Site or Admin in the sub-menu. Then select the appropriate language and make it the default one using the Toolbar button.

How do I select languages?

  • Default languages can be independently set for Site and for Administrator
  • In addition, users can define their preferred language for each Site and Administrator. This takes affect after logging in.
  • While logging in to the Administrator Back-end, a language can also be selected for the particular session.

Where can I find Language Packs and Localised Releases?

Please note that Joomla! 1.5 is new and language packs for this version may have not been released at this time.

', 1, 3, 0, 32, '2008-07-30 14:06:37', 62, '', '2008-07-30 14:06:37', 62, 0, '0000-00-00 00:00:00', '2006-09-29 10:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 9, 0, 5, '', '', 0, 10, 'robots=\nauthor='), -(11, 'How do I upgrade to Joomla! 1.5 ?', 'how-do-i-upgrade-to-joomla-15', '', '

Joomla! 1.5 does not provide an upgrade path from earlier versions. Converting an older site to a Joomla! 1.5 site requires creation of a new empty site using Joomla! 1.5 and then populating the new site with the content from the old site. This migration of content is not a one-to-one process and involves conversions and modifications to the content dump.

There are two ways to perform the migration:

', '
  • An automated method of migration has been provided which uses a migrator Component to create the migration dump out of the old site (Mambo 4.5.x up to Joomla! 1.0.x) and a smart import facility in the Joomla! 1.5 Installation that performs required conversions and modifications during the installation process.
  • Migration can be performed manually. This involves exporting the required tables, manually performing required conversions and modifications and then importing the content to the new site after it is installed.
  • Automated migration

    This is a two phased process using two tools. The first tool is a migration Component named com_migrator. This Component has been contributed by Harald Baer and is based on his eBackup Component. The migrator needs to be installed on the old site and when activated it prepares the required export dump of the old site''s data. The second tool is built into the Joomla! 1.5 installation process. The exported content dump is loaded to the new site and all conversions and modification are performed on-the-fly.

    Step 1 - Using com_migrator to export data from old site:

  • Install the com_migrator Component on the old site. It can be found at the JoomlaCode developers forge.
  • Select the Component in the Component Menu of the Control Panel.
  • Click on the Dump it icon. Three exported gzipped export scripts will be created. The first is a complete backup of the old site. The second is the migration content of all core elements which will be imported to the new site. The third is a backup of all 3PD Component tables.
  • Click on the download icon of the particular exports files needed and store locally.
  • Multiple export sets can be created.
  • The exported data is not modified in anyway and the original encoding is preserved. This makes the com_migrator tool a recommended tool to use for manual migration as well.
  • Step 2 - Using the migration facility to import and convert data during Joomla! 1.5 installation:

    Note: This function requires the use of the iconv function in PHP to convert encodings. If iconv is not found a warning will be provided.

  • In step 6 - Configuration select the ''Load Migration Script'' option in the ''Load Sample Data, Restore or Migrate Backed Up Content'' section of the page.
  • Enter the table prefix used in the content dump. For example: ''jos_'' or ''site2_'' are acceptable values.
  • Select the encoding of the dumped content in the dropdown list. This should be the encoding used on the pages of the old site. (As defined in the _ISO variable in the language file or as seen in the browser page info/encoding/source)
  • Browse the local host and select the migration export and click on Upload and Execute
  • A success message should appear or alternatively a listing of database errors
  • Complete the other required fields in the Configuration step such as Site Name and Admin details and advance to the final step of installation. (Admin details will be ignored as the imported data will take priority. Please remember admin name and password from the old site)

  • ', 1, 3, 0, 28, '2008-07-30 20:27:52', 62, '', '2008-07-30 20:27:52', 62, 0, '0000-00-00 00:00:00', '2006-09-29 12:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 10, 0, 3, '', '', 0, 14, 'robots=\nauthor='), -(12, 'Why does Joomla! 1.5 use UTF-8 encoding?', 'why-does-joomla-15-use-utf-8-encoding', '', '

    Well... how about never needing to mess with encoding settings again?

    Ever needed to display several languages on one page or site and something always came up in Giberish?

    With utf-8 (a variant of Unicode) glyphs (character forms) of basically all languages can be displayed with one single encoding setting.

    ', '', 1, 3, 0, 31, '2008-08-05 01:11:29', 62, '', '2008-08-05 01:11:29', 62, 0, '0000-00-00 00:00:00', '2006-10-03 10:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 8, 0, 8, '', '', 0, 29, 'robots=\nauthor='), -(13, 'What happened to the locale setting?', 'what-happened-to-the-locale-setting', '', 'This is now defined in the Language [lang].xml file in the Language metadata settings. If you are having locale problems such as dates do not appear in your language for example, you might want to check/edit the entries in the locale tag. Note that multiple locale strings can be set and the host will usually accept the first one recognised.', '', 1, 3, 0, 28, '2008-08-06 16:47:35', 62, '', '2008-08-06 16:47:35', 62, 0, '0000-00-00 00:00:00', '2006-10-05 14:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 7, 0, 2, '', '', 0, 11, 'robots=\nauthor='), -(14, 'What is the FTP layer for?', 'what-is-the-ftp-layer-for', '', '

    The FTP Layer allows file operations (such as installing Extensions or updating the main configuration file) without having to make all the folders and files writable. This has been an issue on Linux and other Unix based platforms in respect of file permissions. This makes the site admin''s life a lot easier and increases security of the site.

    You can check the write status of relevent folders by going to ''''Help->System Info" and then in the sub-menu to "Directory Permissions". With the FTP Layer enabled even if all directories are red, Joomla! will operate smoothly.

    NOTE: the FTP layer is not required on a Windows host/server.

    ', '', 1, 3, 0, 31, '2008-08-06 21:27:49', 62, '', '2008-08-06 21:27:49', 62, 0, '0000-00-00 00:00:00', '2006-10-05 16:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=', 6, 0, 6, '', '', 0, 23, 'robots=\nauthor='), -(15, 'Can Joomla! 1.5 operate with PHP Safe Mode On?', 'can-joomla-15-operate-with-php-safe-mode-on', '', '

    Yes it can! This is a significant security improvement.

    The safe mode limits PHP to be able to perform actions only on files/folders who''s owner is the same as PHP is currently using (this is usually ''apache''). As files normally are created either by the Joomla! application or by FTP access, the combination of PHP file actions and the FTP Layer allows Joomla! to operate in PHP Safe Mode.

    ', '', 1, 3, 0, 31, '2008-08-06 19:28:35', 62, '', '2008-08-06 19:28:35', 62, 0, '0000-00-00 00:00:00', '2006-10-05 14:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 7, 0, 4, '', '', 0, 8, 'robots=\nauthor='), -(16, 'Only one edit window! How do I create "Read more..."?', 'only-one-edit-window-how-do-i-create-read-more', '', '

    This is now implemented by inserting a Read more... tag (the button is located below the editor area) a dotted line appears in the edited text showing the split location for the Read more.... A new Plugin takes care of the rest.

    It is worth mentioning that this does not have a negative effect on migrated data from older sites. The new implementation is fully backward compatible.

    ', '', 1, 3, 0, 28, '2008-08-06 19:29:28', 62, '', '2008-08-06 19:29:28', 62, 0, '0000-00-00 00:00:00', '2006-10-05 14:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 7, 0, 4, '', '', 0, 20, 'robots=\nauthor='), -(17, 'My MySQL database does not support UTF-8. Do I have a problem?', 'my-mysql-database-does-not-support-utf-8-do-i-have-a-problem', '', 'No you don''t. Versions of MySQL lower than 4.1 do not have built in UTF-8 support. However, Joomla! 1.5 has made provisions for backward compatibility and is able to use UTF-8 on older databases. Let the installer take care of all the settings and there is no need to make any changes to the database (charset, collation, or any other).', '', 1, 3, 0, 31, '2008-08-07 09:30:37', 62, '', '2008-08-07 09:30:37', 62, 0, '0000-00-00 00:00:00', '2006-10-05 20:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 10, 0, 7, '', '', 0, 9, 'robots=\nauthor='), -(18, 'Joomla! Features', 'joomla-features', '', '

    Joomla! features:

    • Completely database driven site engines
    • News, products, or services sections fully editable and manageable
    • Topics sections can be added to by contributing Authors
    • Fully customisable layouts including left, center, and right Menu boxes
    • Browser upload of images to your own library for use anywhere in the site
    • Dynamic Forum/Poll/Voting booth for on-the-spot results
    • Runs on Linux, FreeBSD, MacOSX server, Solaris, and AIX', '

    Extensive Administration:

    • Change order of objects including news, FAQs, Articles etc.
    • Random Newsflash generator
    • Remote Author submission Module for News, Articles, FAQs, and Links
    • Object hierarchy - as many Sections, departments, divisions, and pages as you want
    • Image library - store all your PNGs, PDFs, DOCs, XLSs, GIFs, and JPEGs online for easy use
    • Automatic Path-Finder. Place a picture and let Joomla! fix the link
    • News Feed Manager. Easily integrate news feeds into your Web site.
    • Email a friend and Print format available for every story and Article
    • In-line Text editor similar to any basic word processor software
    • User editable look and feel
    • Polls/Surveys - Now put a different one on each page
    • Custom Page Modules. Download custom page Modules to spice up your site
    • Template Manager. Download Templates and implement them in seconds
    • Layout preview. See how it looks before going live
    • Banner Manager. Make money out of your site.
    ', 1, 4, 0, 29, '2008-08-08 23:32:45', 62, '', '2008-08-08 23:32:45', 62, 0, '0000-00-00 00:00:00', '2006-10-07 06:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 11, 0, 4, '', '', 0, 59, 'robots=\nauthor='), -(19, 'Joomla! Overview', 'joomla-overview', '', '

    If you''re new to Web publishing systems, you''ll find that Joomla! delivers sophisticated solutions to your online needs. It can deliver a robust enterprise-level Web site, empowered by endless extensibility for your bespoke publishing needs. Moreover, it is often the system of choice for small business or home users who want a professional looking site that''s simple to deploy and use. We do content right.

    So what''s the catch? How much does this system cost?

    Well, there''s good news ... and more good news! Joomla! 1.5 is free, it is released under an Open Source license - the GNU/General Public License v 2.0. Had you invested in a mainstream, commercial alternative, there''d be nothing but moths left in your wallet and to add new functionality would probably mean taking out a second mortgage each time you wanted something adding!

    Joomla! changes all that ...
    Joomla! is different from the normal models for content management software. For a start, it''s not complicated. Joomla! has been developed for everybody, and anybody can develop it further. It is designed to work (primarily) with other Open Source, free, software such as PHP, MySQL, and Apache.

    It is easy to install and administer, and is reliable.

    Joomla! doesn''t even require the user or administrator of the system to know HTML to operate it once it''s up and running.

    To get the perfect Web site with all the functionality that you require for your particular application may take additional time and effort, but with the Joomla! Community support that is available and the many Third Party Developers actively creating and releasing new Extensions for the 1.5 platform on an almost daily basis, there is likely to be something out there to meet your needs. Or you could develop your own Extensions and make these available to the rest of the community.

    ', '', 1, 4, 0, 29, '2008-08-09 07:49:20', 62, '', '2008-08-09 07:49:20', 62, 0, '0000-00-00 00:00:00', '2006-10-07 10:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 13, 0, 2, '', '', 0, 150, 'robots=\nauthor='), -(20, 'Support and Documentation', 'support-and-documentation', '', '

    Support

    Support for the Joomla! CMS can be found on several places. The best place to start would be the Joomla! Official Documentation Wiki. Here you can help yourself to the information that is regularly published and updated as Joomla! develops. There is much more to come too!

    Of course you should not forget the Help System of the CMS itself. On the topmenu in the Back-end Control panel you find the Help button which will provide you with lots of explanation on features.

    Another great place would of course be the Forum . On the Joomla! Forum you can find help and support from Community members as well as from Joomla! Core members and Working Group members. The forum contains a lot of information, FAQ''s, just about anything you are looking for in terms of support.

    Two other resources for Support are the Joomla! Developer Site and the Joomla! Extensions Directory (JED). The Joomla! Developer Site provides lots of technical information for the experienced Developer as well as those new to Joomla! and development work in general. The JED whilst not a support site in the strictest sense has many of the Extensions that you will need as you develop your own Web site.

    The Joomla! Developers and Bug Squad members are regularly posting their blog reports about several topics such as programming techniques and security issues.

    Documentation

    Joomla! Documentation can of course be found on the Joomla! Official Documentation Wiki. You can find information for beginners, installation, upgrade, Frequently Asked Questions, developer topics, and a lot more. The Documentation Team helps oversee the wiki but you are invited to contribute content, as well.

    There are also books written about Joomla! You can find a listing of these books in the Joomla! Shop.

    ', '', 1, 4, 0, 25, '2008-08-09 08:33:57', 62, '', '2008-08-09 08:33:57', 62, 0, '0000-00-00 00:00:00', '2006-10-07 10:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 13, 0, 1, '', '', 0, 6, 'robots=\nauthor='), -(21, 'Joomla! Facts', 'joomla-facts', '', '

    Here are some interesting facts about Joomla!

    • Over 210,000 active registered Users on the Official Joomla! community forum and more on the many international community sites.
      • over 1,000,000 posts in over 200,000 topics
      • over 1,200 posts per day
      • growing at 150 new participants each day!
    • 1168 Projects on the JoomlaCode (joomlacode.org ). All for open source addons by third party developers.
      • Well over 6,000,000 downloads of Joomla! since the migration to JoomlaCode in March 2007.
    • Nearly 4,000 extensions for Joomla! have been registered on the Joomla! Extension Directory
    • Joomla.org exceeds 2 TB of traffic per month!
    ', '', 1, 4, 0, 30, '2008-08-09 16:46:37', 62, '', '2008-08-09 16:46:37', 62, 0, '0000-00-00 00:00:00', '2006-10-07 14:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 13, 0, 1, '', '', 0, 50, 'robots=\nauthor='), -(22, 'What''s New in 1.5?', 'whats-new-in-15', '', '

    As with previous releases, Joomla! provides a unified and easy-to-use framework for delivering content for Web sites of all kinds. To support the changing nature of the Internet and emerging Web technologies, Joomla! required substantial restructuring of its core functionality and we also used this effort to simplify many challenges within the current user interface. Joomla! 1.5 has many new features.

    ', '

    In Joomla! 1.5, you''ll notice:

    • Substantially improved usability, manageability, and scalability far beyond the original Mambo foundations

    • Expanded accessibility to support internationalisation, double-byte characters and right-to-left support for Arabic, Farsi, and Hebrew languages among others

    • Extended integration of external applications through Web services and remote authentication such as the Lightweight Directory Access Protocol (LDAP)

    • Enhanced content delivery, template and presentation capabilities to support accessibility standards and content delivery to any destination

    • A more sustainable and flexible framework for Component and Extension developers

    • Backward compatibility with previous releases of Components, Templates, Modules, and other Extensions

    ', 1, 4, 0, 29, '2008-08-11 22:13:58', 62, '', '2008-08-11 22:13:58', 62, 0, '0000-00-00 00:00:00', '2006-10-10 18:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 10, 0, 1, '', '', 0, 92, 'robots=\nauthor='), -(23, 'Platforms and Open Standards', 'platforms-and-open-standards', '', '

    Joomla! runs on any platform including Windows, most flavours of Linux, several Unix versions, and the Apple OS/X platform. Joomla! depends on PHP and the MySQL database to deliver dynamic content.

    The minimum requirements are:

    • Apache 1.x, 2.x and higher
    • PHP 4.3 and higher
    • MySQL 3.23 and higher
    It will also run on alternative server platforms such as Windows IIS - provided they support PHP and MySQL - but these require additional configuration in order for the Joomla! core package to be successful installed and operated.', '', 1, 4, 0, 25, '2008-08-11 04:22:14', 62, '', '2008-08-11 04:22:14', 62, 0, '0000-00-00 00:00:00', '2006-10-10 08:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 7, 0, 3, '', '', 0, 11, 'robots=\nauthor='), -(24, 'Content Layouts', 'content-layouts', '', '

    Joomla! provides plenty of flexibility when displaying your Web content. Whether you are using Joomla! for a blog site, news or a Web site for a company, you''ll find one or more content styles to showcase your information. You can also change the style of content dynamically depending on your preferences. Joomla! calls how a page is laid out a layout. Use the guide below to understand which layouts are available and how you might use them.

    Content

    Joomla! makes it extremely easy to add and display content. All content is placed where your mainbody tag in your template is located. There are three main types of layouts available in Joomla! and all of them can be customised via parameters. The display and parameters are set in the Menu Item used to display the content your working on. You create these layouts by creating a Menu Item and choosing how you want the content to display.

    Blog Layout

    Blog layout will show a listing of all Articles of the selected blog type (Section or Category) in the mainbody position of your template. It will give you the standard title, and Intro of each Article in that particular Category and/or Section. You can customise this layout via the use of the Preferences and Parameters, (See Article Parameters) this is done from the Menu not the Section Manager!

    Blog Archive Layout

    A Blog Archive layout will give you a similar output of Articles as the normal Blog Display but will add, at the top, two drop down lists for month and year plus a search button to allow Users to search for all Archived Articles from a specific month and year.

    List Layout

    Table layout will simply give you a tabular list of all the titles in that particular Section or Category. No Intro text will be displayed just the titles. You can set how many titles will be displayed in this table by Parameters. The table layout will also provide a filter Section so that Users can reorder, filter, and set how many titles are listed on a single page (up to 50)

    Wrapper

    Wrappers allow you to place stand alone applications and Third Party Web sites inside your Joomla! site. The content within a Wrapper appears within the primary content area defined by the "mainbody" tag and allows you to display their content as a part of your own site. A Wrapper will place an IFRAME into the content Section of your Web site and wrap your standard template navigation around it so it appears in the same way an Article would.

    Content Parameters

    The parameters for each layout type can be found on the right hand side of the editor boxes in the Menu Item configuration screen. The parameters available depend largely on what kind of layout you are configuring.

    ', '', 1, 4, 0, 29, '2008-08-12 22:33:10', 62, '', '2008-08-12 22:33:10', 62, 0, '0000-00-00 00:00:00', '2006-10-11 06:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 11, 0, 5, '', '', 0, 70, 'robots=\nauthor='), -(25, 'What are the requirements to run Joomla! 1.5?', 'what-are-the-requirements-to-run-joomla-15', '', '

    Joomla! runs on the PHP pre-processor. PHP comes in many flavours, for a lot of operating systems. Beside PHP you will need a Web server. Joomla! is optimized for the Apache Web server, but it can run on different Web servers like Microsoft IIS it just requires additional configuration of PHP and MySQL. Joomla! also depends on a database, for this currently you can only use MySQL.

    Many people know from their own experience that it''s not easy to install an Apache Web server and it gets harder if you want to add MySQL, PHP and Perl. XAMPP, WAMP, and MAMP are easy to install distributions containing Apache, MySQL, PHP and Perl for the Windows, Mac OSX and Linux operating systems. These packages are for localhost installations on non-public servers only.
    The minimum version requirements are:
    • Apache 1.x or 2.x
    • PHP 4.3 or up
    • MySQL 3.23 or up
    For the latest minimum requirements details, see Joomla! Technical Requirements.', '', 1, 3, 0, 31, '2008-08-11 00:42:31', 62, '', '2008-08-11 00:42:31', 62, 0, '0000-00-00 00:00:00', '2006-10-10 06:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 6, 0, 5, '', '', 0, 25, 'robots=\nauthor='), -(26, 'Extensions', 'extensions', '', '

    Out of the box, Joomla! does a great job of managing the content needed to make your Web site sing. But for many people, the true power of Joomla! lies in the application framework that makes it possible for developers all around the world to create powerful add-ons that are called Extensions. An Extension is used to add capabilities to Joomla! that do not exist in the base core code. Here are just some examples of the hundreds of available Extensions:

    • Dynamic form builders
    • Business or organisational directories
    • Document management
    • Image and multimedia galleries
    • E-commerce and shopping cart engines
    • Forums and chat software
    • Calendars
    • Email newsletters
    • Data collection and reporting tools
    • Banner advertising systems
    • Paid subscription services
    • and many, many, more

    You can find more examples over at our ever growing Joomla! Extensions Directory. Prepare to be amazed at the amount of exciting work produced by our active developer community!

    A useful guide to the Extension site can be found at:
    http://extensions.joomla.org/content/view/15/63/

    Types of Extensions

    There are five types of extensions:

    • Components
    • Modules
    • Templates
    • Plugins
    • Languages

    You can read more about the specifics of these using the links in the Article Index - a Table of Contents (yet another useful feature of Joomla!) - at the top right or by clicking on the Next link below.


    Component - Joomla! Extension Directory Components

    A Component is the largest and most complex of the Extension types. Components are like mini-applications that render the main body of the page. An analogy that might make the relationship easier to understand would be that Joomla! is a book and all the Components are chapters in the book. The core Article Component (com_content), for example, is the mini-application that handles all core Article rendering just as the core registration Component (com_user) is the mini-application that handles User registration.

    Many of Joomla!''s core features are provided by the use of default Components such as:

    • Contacts
    • Front Page
    • News Feeds
    • Banners
    • Mass Mail
    • Polls

    A Component will manage data, set displays, provide functions, and in general can perform any operation that does not fall under the general functions of the core code.

    Components work hand in hand with Modules and Plugins to provide a rich variety of content display and functionality aside from the standard Article and content display. They make it possible to completely transform Joomla! and greatly expand its capabilities.


    Module - Joomla! Extension Directory Modules

    A more lightweight and flexible Extension used for page rendering is a Module. Modules are used for small bits of the page that are generally less complex and able to be seen across different Components. To continue in our book analogy, a Module can be looked at as a footnote or header block, or perhaps an image/caption block that can be rendered on a particular page. Obviously you can have a footnote on any page but not all pages will have them. Footnotes also might appear regardless of which chapter you are reading. Simlarly Modules can be rendered regardless of which Component you have loaded.

    Modules are like little mini-applets that can be placed anywhere on your site. They work in conjunction with Components in some cases and in others are complete stand alone snippets of code used to display some data from the database such as Articles (Newsflash) Modules are usually used to output data but they can also be interactive form items to input data for example the Login Module or Polls.

    Modules can be assigned to Module positions which are defined in your Template and in the back-end using the Module Manager and editing the Module Position settings. For example, "left" and "right" are common for a 3 column layout.

    Displaying Modules

    Each Module is assigned to a Module position on your site. If you wish it to display in two different locations you must copy the Module and assign the copy to display at the new location. You can also set which Menu Items (and thus pages) a Module will display on, you can select all Menu Items or you can pick and choose by holding down the control key and selecting multiple locations one by one in the Modules [Edit] screen

    Note: Your Main Menu is a Module! When you create a new Menu in the Menu Manager you are actually copying the Main Menu Module (mod_mainmenu) code and giving it the name of your new Menu. When you copy a Module you do not copy all of its parameters, you simply allow Joomla! to use the same code with two separate settings.

    Newsflash Example

    Newsflash is a Module which will display Articles from your site in an assignable Module position. It can be used and configured to display one Category, all Categories, or to randomly choose Articles to highlight to Users. It will display as much of an Article as you set, and will show a Read more... link to take the User to the full Article.

    The Newsflash Component is particularly useful for things like Site News or to show the latest Article added to your Web site.


    Plugin - Joomla! Extension Directory Plugins

    One of the more advanced Extensions for Joomla! is the Plugin. In previous versions of Joomla! Plugins were known as Mambots. Aside from changing their name their functionality has been expanded. A Plugin is a section of code that runs when a pre-defined event happens within Joomla!. Editors are Plugins, for example, that execute when the Joomla! event onGetEditorArea occurs. Using a Plugin allows a developer to change the way their code behaves depending upon which Plugins are installed to react to an event.


    Language - Joomla! Extensions Directory Languages

    New to Joomla! 1.5 and perhaps the most basic and critical Extension is a Language. Joomla! is released with multiple Installation Languages but the base Site and Administrator are packaged in just the one Language en-GB - being English with GB spelling for example. To include all the translations currently available would bloat the core package and make it unmanageable for uploading purposes. The Language files enable all the User interfaces both Front-end and Back-end to be presented in the local preferred language. Note these packs do not have any impact on the actual content such as Articles.

    More information on languages is available from the
    http://community.joomla.org/translations.html

    ', '', 1, 4, 0, 29, '2008-08-11 06:00:00', 62, '', '2008-08-11 06:00:00', 62, 0, '0000-00-00 00:00:00', '2006-10-10 22:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 24, 0, 3, 'About Joomla!, General, Extensions', '', 0, 102, 'robots=\nauthor='); -INSERT INTO `jos_content` (`id`, `title`, `alias`, `title_alias`, `introtext`, `fulltext`, `state`, `sectionid`, `mask`, `catid`, `created`, `created_by`, `created_by_alias`, `modified`, `modified_by`, `checked_out`, `checked_out_time`, `publish_up`, `publish_down`, `images`, `urls`, `attribs`, `version`, `parentid`, `ordering`, `metakey`, `metadesc`, `access`, `hits`, `metadata`) VALUES -(27, 'The Joomla! Community', 'the-joomla-community', '', '

    Got a question? With more than 210,000 members, the Joomla! Discussion Forums at forum.joomla.org are a great resource for both new and experienced users. Ask your toughest questions the community is waiting to see what you''ll do with your Joomla! site.

    Do you want to show off your new Joomla! Web site? Visit the Site Showcase section of our forum.

    Do you want to contribute?

    If you think working with Joomla is fun, wait until you start working on it. We''re passionate about helping Joomla users become contributors. There are many ways you can help Joomla''s development:

    • Submit news about Joomla. We syndicate Joomla-related news on JoomlaConnectTM. If you have Joomla news that you would like to share with the community, find out how to get connected here.
    • Report bugs and request features in our trackers. Please read Reporting Bugs, for details on how we like our bug reports served up
    • Submit patches for new and/or fixed behaviour. Please read Submitting Patches, for details on how to submit a patch.
    • Join the developer forums and share your ideas for how to improve Joomla. We''re always open to suggestions, although we''re likely to be sceptical of large-scale suggestions without some code to back it up.
    • Join any of the Joomla Working Groups and bring your personal expertise to the Joomla community. 

    These are just a few ways you can contribute. See Contribute to Joomla for many more ways.

    ', '', 1, 4, 0, 30, '2008-08-12 16:50:48', 62, '', '2008-08-12 16:50:48', 62, 0, '0000-00-00 00:00:00', '2006-10-11 02:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 12, 0, 2, '', '', 0, 52, 'robots=\nauthor='), -(28, 'How do I install Joomla! 1.5?', 'how-do-i-install-joomla-15', '', '

    Installing of Joomla! 1.5 is pretty easy. We assume you have set-up your Web site, and it is accessible with your browser.

    Download Joomla! 1.5, unzip it and upload/copy the files into the directory you Web site points to, fire up your browser and enter your Web site address and the installation will start.

    For full details on the installation processes check out the Installation Manual on the Joomla! Help Site where you will also find download instructions for a PDF version too.

    ', '', 1, 3, 0, 31, '2008-08-11 01:10:59', 62, '', '2008-08-11 01:10:59', 62, 0, '0000-00-00 00:00:00', '2006-10-10 06:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 5, 0, 3, '', '', 0, 5, 'robots=\nauthor='), -(29, 'What is the purpose of the collation selection in the installation screen?', 'what-is-the-purpose-of-the-collation-selection-in-the-installation-screen', '', 'The collation option determines the way ordering in the database is done. In languages that use special characters, for instance the German umlaut, the database collation determines the sorting order. If you don''t know which collation you need, select the "utf8_general_ci" as most languages use this. The other collations listed are exceptions in regards to the general collation. If your language is not listed in the list of collations it most likely means that "utf8_general_ci is suitable.', '', 1, 3, 0, 32, '2008-08-11 03:11:38', 62, '', '2008-08-11 03:11:38', 62, 0, '0000-00-00 00:00:00', '2006-10-10 08:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=', 4, 0, 4, '', '', 0, 6, 'robots=\nauthor='), -(30, 'What languages are supported by Joomla! 1.5?', 'what-languages-are-supported-by-joomla-15', '', 'Within the Installer you will find a wide collection of languages. The installer currently supports the following languages: Arabic, Bulgarian, Bengali, Czech, Danish, German, Greek, English, Spanish, Finnish, French, Hebrew, Devanagari(India), Croatian(Croatia), Magyar (Hungary), Italian, Malay, Norwegian bokmal, Dutch, Portuguese(Brasil), Portugues(Portugal), Romanian, Russian, Serbian, Svenska, Thai and more are being added all the time.
    By default the English language is installed for the Back and Front-ends. You can download additional language files from the Joomla!Extensions Directory. ', '', 1, 3, 0, 32, '2008-08-11 01:12:18', 62, '', '2008-08-11 01:12:18', 62, 0, '0000-00-00 00:00:00', '2006-10-10 06:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 5, 0, 2, '', '', 0, 8, 'robots=\nauthor='), -(31, 'Is it useful to install the sample data?', 'is-it-useful-to-install-the-sample-data', '', 'Well you are reading it right now! This depends on what you want to achieve. If you are new to Joomla! and have no clue how it all fits together, just install the sample data. If you don''t like the English sample data because you - for instance - speak Chinese, then leave it out.', '', 1, 3, 0, 27, '2008-08-11 09:12:55', 62, '', '2008-08-11 09:12:55', 62, 0, '0000-00-00 00:00:00', '2006-10-10 10:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 6, 0, 3, '', '', 0, 3, 'robots=\nauthor='), -(32, 'Where is the Static Content Item?', 'where-is-the-static-content', '', '

    In Joomla! versions prior to 1.5 there were separate processes for creating a Static Content Item and normal Content Items. The processes have been combined now and whilst both content types are still around they are renamed as Articles for Content Items and Uncategorized Articles for Static Content Items.

    If you want to create a static item, create a new Article in the same way as for standard content and rather than relating this to a particular Section and Category just select Uncategorized as the option in the Section and Category drop down lists.

    ', '', 1, 3, 0, 28, '2008-08-10 23:13:33', 62, '', '2008-08-10 23:13:33', 62, 0, '0000-00-00 00:00:00', '2006-10-10 04:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 6, 0, 6, '', '', 0, 5, 'robots=\nauthor='), -(33, 'What is an Uncategorised Article?', 'what-is-uncategorised-article', '', 'Most Articles will be assigned to a Section and Category. In many cases, you might not know where you want it to appear so put the Article in the Uncategorized Section/Category. The Articles marked as Uncategorized are handled as static content.', '', 1, 3, 0, 31, '2008-08-11 15:14:11', 62, '', '2008-08-11 15:14:11', 62, 0, '0000-00-00 00:00:00', '2006-10-10 12:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 8, 0, 2, '', '', 0, 6, 'robots=\nauthor='), -(34, 'Does the PDF icon render pictures and special characters?', 'does-the-pdf-icon-render-pictures-and-special-characters', '', 'Yes! Prior to Joomla! 1.5, only the text values of an Article and only for ISO-8859-1 encoding was allowed in the PDF rendition. With the new PDF library in place, the complete Article including images is rendered and applied to the PDF. The PDF generator also handles the UTF-8 texts and can handle any character sets from any language. The appropriate fonts must be installed but this is done automatically during a language pack installation.', '', 1, 3, 0, 32, '2008-08-11 17:14:57', 62, '', '2008-08-11 17:14:57', 62, 0, '0000-00-00 00:00:00', '2006-10-10 14:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 7, 0, 3, '', '', 0, 6, 'robots=\nauthor='), -(35, 'Is it possible to change A Menu Item''s Type?', 'is-it-possible-to-change-the-types-of-menu-entries', '', '

    You indeed can change the Menu Item''s Type to whatever you want, even after they have been created.

    If, for instance, you want to change the Blog Section of a Menu link, go to the Control Panel->Menus Menu->[menuname]->Menu Item Manager and edit the Menu Item. Select the Change Type button and choose the new style of Menu Item Type from the available list. Thereafter, alter the Details and Parameters to reconfigure the display for the new selection as you require it.

    ', '', 1, 3, 0, 31, '2008-08-10 23:15:36', 62, '', '2008-08-10 23:15:36', 62, 0, '0000-00-00 00:00:00', '2006-10-10 04:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 6, 0, 1, '', '', 0, 18, 'robots=\nauthor='), -(36, 'Where did the Installers go?', 'where-did-the-installer-go', '', 'The improved Installer can be found under the Extensions Menu. With versions prior to Joomla! 1.5 you needed to select a specific Extension type when you wanted to install it and use the Installer associated with it, with Joomla! 1.5 you just select the Extension you want to upload, and click on install. The Installer will do all the hard work for you.', '', 1, 3, 0, 28, '2008-08-10 23:16:20', 62, '', '2008-08-10 23:16:20', 62, 0, '0000-00-00 00:00:00', '2006-10-10 04:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 6, 0, 1, '', '', 0, 4, 'robots=\nauthor='), -(37, 'Where did the Mambots go?', 'where-did-the-mambots-go', '', '

    Mambots have been renamed as Plugins.

    Mambots were introduced in Mambo and offered possibilities to add plug-in logic to your site mainly for the purpose of manipulating content. In Joomla! 1.5, Plugins will now have much broader capabilities than Mambots. Plugins are able to extend functionality at the framework layer as well.

    ', '', 1, 3, 0, 28, '2008-08-11 09:17:00', 62, '', '2008-08-11 09:17:00', 62, 0, '0000-00-00 00:00:00', '2006-10-10 10:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 6, 0, 5, '', '', 0, 4, 'robots=\nauthor='), -(38, 'I installed with my own language, but the Back-end is still in English', 'i-installed-with-my-own-language-but-the-back-end-is-still-in-english', '', '

    A lot of different languages are available for the Back-end, but by default this language may not be installed. If you want a translated Back-end, get your language pack and install it using the Extension Installer. After this, go to the Extensions Menu, select Language Manager and make your language the default one. Your Back-end will be translated immediately.

    Users who have access rights to the Back-end may choose the language they prefer in their Personal Details parameters. This is of also true for the Front-end language.

    A good place to find where to download your languages and localised versions of Joomla! is Translations for Joomla! on JED.

    ', '', 1, 3, 0, 32, '2008-08-11 17:18:14', 62, '', '2008-08-11 17:18:14', 62, 0, '0000-00-00 00:00:00', '2006-10-10 14:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 7, 0, 1, '', '', 0, 7, 'robots=\nauthor='), -(39, 'How do I remove an Article?', 'how-do-i-remove-an-article', '', '

    To completely remove an Article, select the Articles that you want to delete and move them to the Trash. Next, open the Article Trash in the Content Menu and select the Articles you want to delete. After deleting an Article, it is no longer available as it has been deleted from the database and it is not possible to undo this operation.

    ', '', 1, 3, 0, 27, '2008-08-11 09:19:01', 62, '', '2008-08-11 09:19:01', 62, 0, '0000-00-00 00:00:00', '2006-10-10 10:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 6, 0, 2, '', '', 0, 4, 'robots=\nauthor='), -(40, 'What is the difference between Archiving and Trashing an Article? ', 'what-is-the-difference-between-archiving-and-trashing-an-article', '', '

    When you Archive an Article, the content is put into a state which removes it from your site as published content. The Article is still available from within the Control Panel and can be retrieved for editing or republishing purposes. Trashed Articles are just one step from being permanently deleted but are still available until you Remove them from the Trash Manager. You should use Archive if you consider an Article important, but not current. Trash should be used when you want to delete the content entirely from your site and from future search results.

    ', '', 1, 3, 0, 27, '2008-08-11 05:19:43', 62, '', '2008-08-11 05:19:43', 62, 0, '0000-00-00 00:00:00', '2006-10-10 06:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 8, 0, 1, '', '', 0, 5, 'robots=\nauthor='), -(41, 'Newsflash 5', 'newsflash-5', '', 'Joomla! 1.5 - ''Experience the Freedom''!. It has never been easier to create your own dynamic Web site. Manage all your content from the best CMS admin interface and in virtually any language you speak.', '', 1, 1, 0, 3, '2008-08-12 00:17:31', 62, '', '2008-08-12 00:17:31', 62, 0, '0000-00-00 00:00:00', '2006-10-11 06:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 5, 0, 2, '', '', 0, 4, 'robots=\nauthor='), -(42, 'Newsflash 4', 'newsflash-4', '', 'Yesterday all servers in the U.S. went out on strike in a bid to get more RAM and better CPUs. A spokes person said that the need for better RAM was due to some fool increasing the front-side bus speed. In future, buses will be told to slow down in residential motherboards.', '', 1, 1, 0, 3, '2008-08-12 00:25:50', 62, '', '2008-08-12 00:25:50', 62, 0, '0000-00-00 00:00:00', '2006-10-11 06:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 5, 0, 1, '', '', 0, 5, 'robots=\nauthor='), -(43, 'Example Pages and Menu Links', 'example-pages-and-menu-links', '', '

    This page is an example of content that is Uncategorized; that is, it does not belong to any Section or Category. You will see there is a new Menu in the left column. It shows links to the same content presented in 4 different page layouts.

    • Section Blog
    • Section Table
    • Blog Category
    • Category Table

    Follow the links in the Example Pages Menu to see some of the options available to you to present all the different types of content included within the default installation of Joomla!.

    This includes Components and individual Articles. These links or Menu Item Types (to give them their proper name) are all controlled from within the Menu Manager->[menuname]->Menu Items Manager.

    ', '', 1, 0, 0, 0, '2008-08-12 09:26:52', 62, '', '2008-08-12 09:26:52', 62, 0, '0000-00-00 00:00:00', '2006-10-11 10:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 7, 0, 1, 'Uncategorized, Uncategorized, Example Pages and Menu Links', '', 0, 43, 'robots=\nauthor='), -(44, 'Joomla! Security Strike Team', 'joomla-security-strike-team', '', '

    The Joomla! Project has assembled a top-notch team of experts to form the new Joomla! Security Strike Team. This new team will solely focus on investigating and resolving security issues. Instead of working in relative secrecy, the JSST will have a strong public-facing presence at the Joomla! Security Center.

    ', '

    The new JSST will call the new Joomla! Security Center their home base. The Security Center provides a public presence for security issues and a platform for the JSST to help the general public better understand security and how it relates to Joomla!. The Security Center also offers users a clearer understanding of how security issues are handled. There''s also a news feed, which provides subscribers an up-to-the-minute notification of security issues as they arise.

    ', 1, 1, 0, 1, '2007-07-07 09:54:06', 62, '', '2007-07-07 09:54:06', 62, 0, '0000-00-00 00:00:00', '2004-07-06 22:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 1, 0, 3, '', '', 0, 0, 'robots=\nauthor='), -(45, 'Joomla! Community Portal', 'joomla-community-portal', '', '

    The Joomla! Community Portal is now online. There, you will find a constant source of information about the activities of contributors powering the Joomla! Project. Learn about Joomla! Events worldwide, and see if there is a Joomla! User Group nearby.

    The Joomla! Community Magazine promises an interesting overview of feature articles, community accomplishments, learning topics, and project updates each month. Also, check out JoomlaConnect™. This aggregated RSS feed brings together Joomla! news from all over the world in your language. Get the latest and greatest by clicking here.

    ', '', 1, 1, 0, 1, '2007-07-07 09:54:06', 62, '', '2007-07-07 09:54:06', 62, 0, '0000-00-00 00:00:00', '2004-07-06 22:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 2, 0, 2, '', '', 0, 5, 'robots=\nauthor='); - --- -------------------------------------------------------- - --- --- Table structure for table `jos_content_frontpage` --- - -DROP TABLE IF EXISTS `jos_content_frontpage`; -CREATE TABLE IF NOT EXISTS `jos_content_frontpage` ( - `content_id` int(11) NOT NULL default '0', - `ordering` int(11) NOT NULL default '0', - PRIMARY KEY (`content_id`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - --- --- Dumping data for table `jos_content_frontpage` --- - -INSERT INTO `jos_content_frontpage` (`content_id`, `ordering`) VALUES -(45, 2), -(6, 3), -(44, 4), -(5, 5), -(9, 6), -(30, 7), -(16, 8); - --- -------------------------------------------------------- - --- --- Table structure for table `jos_content_rating` --- - -DROP TABLE IF EXISTS `jos_content_rating`; -CREATE TABLE IF NOT EXISTS `jos_content_rating` ( - `content_id` int(11) NOT NULL default '0', - `rating_sum` int(11) unsigned NOT NULL default '0', - `rating_count` int(11) unsigned NOT NULL default '0', - `lastip` varchar(50) NOT NULL default '', - PRIMARY KEY (`content_id`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - --- --- Dumping data for table `jos_content_rating` --- - - --- -------------------------------------------------------- - --- --- Table structure for table `jos_core_acl_aro` --- - -DROP TABLE IF EXISTS `jos_core_acl_aro`; -CREATE TABLE IF NOT EXISTS `jos_core_acl_aro` ( - `id` int(11) NOT NULL auto_increment, - `section_value` varchar(240) NOT NULL default '0', - `value` varchar(240) NOT NULL default '', - `order_value` int(11) NOT NULL default '0', - `name` varchar(255) NOT NULL default '', - `hidden` int(11) NOT NULL default '0', - PRIMARY KEY (`id`), - UNIQUE KEY `jos_section_value_value_aro` (`section_value`(100),`value`(100)), - KEY `jos_gacl_hidden_aro` (`hidden`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ; - --- --- Dumping data for table `jos_core_acl_aro` --- - -INSERT INTO `jos_core_acl_aro` (`id`, `section_value`, `value`, `order_value`, `name`, `hidden`) VALUES -(10, 'users', '62', 0, 'Administrator', 0); - --- -------------------------------------------------------- - --- --- Table structure for table `jos_core_acl_aro_groups` --- - -DROP TABLE IF EXISTS `jos_core_acl_aro_groups`; -CREATE TABLE IF NOT EXISTS `jos_core_acl_aro_groups` ( - `id` int(11) NOT NULL auto_increment, - `parent_id` int(11) NOT NULL default '0', - `name` varchar(255) NOT NULL default '', - `lft` int(11) NOT NULL default '0', - `rgt` int(11) NOT NULL default '0', - `value` varchar(255) NOT NULL default '', - PRIMARY KEY (`id`), - KEY `jos_gacl_parent_id_aro_groups` (`parent_id`), - KEY `jos_gacl_lft_rgt_aro_groups` (`lft`,`rgt`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=31 ; - --- --- Dumping data for table `jos_core_acl_aro_groups` --- - -INSERT INTO `jos_core_acl_aro_groups` (`id`, `parent_id`, `name`, `lft`, `rgt`, `value`) VALUES -(17, 0, 'ROOT', 1, 22, 'ROOT'), -(28, 17, 'USERS', 2, 21, 'USERS'), -(29, 28, 'Public Frontend', 3, 12, 'Public Frontend'), -(18, 29, 'Registered', 4, 11, 'Registered'), -(19, 18, 'Author', 5, 10, 'Author'), -(20, 19, 'Editor', 6, 9, 'Editor'), -(21, 20, 'Publisher', 7, 8, 'Publisher'), -(30, 28, 'Public Backend', 13, 20, 'Public Backend'), -(23, 30, 'Manager', 14, 19, 'Manager'), -(24, 23, 'Administrator', 15, 18, 'Administrator'), -(25, 24, 'Super Administrator', 16, 17, 'Super Administrator'); - --- -------------------------------------------------------- - --- --- Table structure for table `jos_core_acl_aro_map` --- - -DROP TABLE IF EXISTS `jos_core_acl_aro_map`; -CREATE TABLE IF NOT EXISTS `jos_core_acl_aro_map` ( - `acl_id` int(11) NOT NULL default '0', - `section_value` varchar(230) NOT NULL default '0', - `value` varchar(100) NOT NULL, - PRIMARY KEY (`acl_id`,`section_value`,`value`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - --- --- Dumping data for table `jos_core_acl_aro_map` --- - - --- -------------------------------------------------------- - --- --- Table structure for table `jos_core_acl_aro_sections` --- - -DROP TABLE IF EXISTS `jos_core_acl_aro_sections`; -CREATE TABLE IF NOT EXISTS `jos_core_acl_aro_sections` ( - `id` int(11) NOT NULL auto_increment, - `value` varchar(230) NOT NULL default '', - `order_value` int(11) NOT NULL default '0', - `name` varchar(230) NOT NULL default '', - `hidden` int(11) NOT NULL default '0', - PRIMARY KEY (`id`), - UNIQUE KEY `jos_gacl_value_aro_sections` (`value`), - KEY `jos_gacl_hidden_aro_sections` (`hidden`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ; - --- --- Dumping data for table `jos_core_acl_aro_sections` --- - -INSERT INTO `jos_core_acl_aro_sections` (`id`, `value`, `order_value`, `name`, `hidden`) VALUES -(10, 'users', 1, 'Users', 0); - --- -------------------------------------------------------- - --- --- Table structure for table `jos_core_acl_groups_aro_map` --- - -DROP TABLE IF EXISTS `jos_core_acl_groups_aro_map`; -CREATE TABLE IF NOT EXISTS `jos_core_acl_groups_aro_map` ( - `group_id` int(11) NOT NULL default '0', - `section_value` varchar(240) NOT NULL default '', - `aro_id` int(11) NOT NULL default '0', - UNIQUE KEY `group_id_aro_id_groups_aro_map` (`group_id`,`section_value`,`aro_id`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - --- --- Dumping data for table `jos_core_acl_groups_aro_map` --- - -INSERT INTO `jos_core_acl_groups_aro_map` (`group_id`, `section_value`, `aro_id`) VALUES -(25, '', 10); - --- -------------------------------------------------------- - --- --- Table structure for table `jos_core_log_items` --- - -DROP TABLE IF EXISTS `jos_core_log_items`; -CREATE TABLE IF NOT EXISTS `jos_core_log_items` ( - `time_stamp` date NOT NULL default '0000-00-00', - `item_table` varchar(50) NOT NULL default '', - `item_id` int(11) unsigned NOT NULL default '0', - `hits` int(11) unsigned NOT NULL default '0' -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - --- --- Dumping data for table `jos_core_log_items` --- - - --- -------------------------------------------------------- - --- --- Table structure for table `jos_core_log_searches` --- - -DROP TABLE IF EXISTS `jos_core_log_searches`; -CREATE TABLE IF NOT EXISTS `jos_core_log_searches` ( - `search_term` varchar(128) NOT NULL default '', - `hits` int(11) unsigned NOT NULL default '0' -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - --- --- Dumping data for table `jos_core_log_searches` --- - - --- -------------------------------------------------------- - --- --- Table structure for table `jos_groups` --- - -DROP TABLE IF EXISTS `jos_groups`; -CREATE TABLE IF NOT EXISTS `jos_groups` ( - `id` tinyint(3) unsigned NOT NULL default '0', - `name` varchar(50) NOT NULL default '', - PRIMARY KEY (`id`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - --- --- Dumping data for table `jos_groups` --- - -INSERT INTO `jos_groups` (`id`, `name`) VALUES -(0, 'Public'), -(1, 'Registered'), -(2, 'Special'); - --- -------------------------------------------------------- - --- --- Table structure for table `jos_menu` --- - -DROP TABLE IF EXISTS `jos_menu`; -CREATE TABLE IF NOT EXISTS `jos_menu` ( - `id` int(11) NOT NULL auto_increment, - `menutype` varchar(75) default NULL, - `name` varchar(255) default NULL, - `alias` varchar(255) NOT NULL default '', - `link` text, - `type` varchar(50) NOT NULL default '', - `published` tinyint(1) NOT NULL default '0', - `parent` int(11) unsigned NOT NULL default '0', - `componentid` int(11) unsigned NOT NULL default '0', - `sublevel` int(11) default '0', - `ordering` int(11) default '0', - `checked_out` int(11) unsigned NOT NULL default '0', - `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', - `pollid` int(11) NOT NULL default '0', - `browserNav` tinyint(4) default '0', - `access` tinyint(3) unsigned NOT NULL default '0', - `utaccess` tinyint(3) unsigned NOT NULL default '0', - `params` text NOT NULL, - `lft` int(11) unsigned NOT NULL default '0', - `rgt` int(11) unsigned NOT NULL default '0', - `home` int(1) unsigned NOT NULL default '0', - PRIMARY KEY (`id`), - KEY `componentid` (`componentid`,`menutype`,`published`,`access`), - KEY `menutype` (`menutype`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=53 ; - --- --- Dumping data for table `jos_menu` --- - -INSERT INTO `jos_menu` (`id`, `menutype`, `name`, `alias`, `link`, `type`, `published`, `parent`, `componentid`, `sublevel`, `ordering`, `checked_out`, `checked_out_time`, `pollid`, `browserNav`, `access`, `utaccess`, `params`, `lft`, `rgt`, `home`) VALUES -(1, 'mainmenu', 'Home', 'home', 'index.php?option=com_content&view=frontpage', 'component', 1, 0, 20, 0, 1, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, 'show_page_heading=1\npage_title=Welcome to the Frontpage\nshow_description=0\nshow_description_image=0\nnum_leading_articles=1\nnum_intro_articles=4\nnum_columns=2\nnum_links=4\nshow_title=1\npageclass_sfx=\nmenu_image=-1\nsecure=0\norderby_pri=\norderby_sec=front\nshow_pagination=2\nshow_pagination_results=1\nshow_noauth=0\nlink_titles=0\nshow_intro=1\nshow_section=0\nlink_section=0\nshow_category=0\nlink_category=0\nshow_author=1\nshow_create_date=1\nshow_modify_date=1\nshow_item_navigation=0\nshow_readmore=1\nshow_vote=0\nshow_icons=1\nshow_pdf_icon=1\nshow_print_icon=1\nshow_email_icon=1\nshow_hits=1\n\n', 0, 0, 1), -(2, 'mainmenu', 'Joomla! License', 'joomla-license', 'index.php?option=com_content&view=article&id=5', 'component', 1, 0, 20, 0, 4, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'pageclass_sfx=\nmenu_image=-1\nsecure=0\nshow_noauth=0\nlink_titles=0\nshow_intro=1\nshow_section=0\nlink_section=0\nshow_category=0\nlink_category=0\nshow_author=1\nshow_create_date=1\nshow_modify_date=1\nshow_item_navigation=0\nshow_readmore=1\nshow_vote=0\nshow_icons=1\nshow_pdf_icon=1\nshow_print_icon=1\nshow_email_icon=1\nshow_hits=1\n\n', 0, 0, 0), -(41, 'mainmenu', 'FAQ', 'faq', 'index.php?option=com_content&view=section&id=3', 'component', 1, 0, 20, 0, 6, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'show_page_heading=1\nshow_description=0\nshow_description_image=0\nshow_categories=1\nshow_empty_categories=0\nshow_cat_num_articles=1\nshow_category_description=1\npageclass_sfx=\nmenu_image=-1\nsecure=0\norderby=\nshow_noauth=0\nshow_title=1\nlink_titles=0\nshow_intro=1\nshow_section=0\nlink_section=0\nshow_category=0\nlink_category=0\nshow_author=1\nshow_create_date=1\nshow_modify_date=1\nshow_item_navigation=0\nshow_readmore=1\nshow_vote=0\nshow_icons=1\nshow_pdf_icon=1\nshow_print_icon=1\nshow_email_icon=1\nshow_hits=1', 0, 0, 0), -(11, 'othermenu', 'Joomla! Home', 'joomla-home', 'http://www.joomla.org', 'url', 1, 0, 0, 0, 1, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, 'menu_image=-1\n\n', 0, 0, 0), -(12, 'othermenu', 'Joomla! Forums', 'joomla-forums', 'http://forum.joomla.org', 'url', 1, 0, 0, 0, 2, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, 'menu_image=-1\n\n', 0, 0, 0), -(13, 'othermenu', 'Joomla! Documentation', 'joomla-documentation', 'http://docs.joomla.org', 'url', 1, 0, 0, 0, 3, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, 'menu_image=-1\n\n', 0, 0, 0), -(14, 'othermenu', 'Joomla! Community', 'joomla-community', 'http://community.joomla.org', 'url', 1, 0, 0, 0, 4, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, 'menu_image=-1\n\n', 0, 0, 0), -(15, 'othermenu', 'Joomla! Magazine', 'joomla-community-magazine', 'http://community.joomla.org/magazine.html', 'url', 1, 0, 0, 0, 5, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, 'menu_image=-1\n\n', 0, 0, 0), -(16, 'othermenu', 'OSM Home', 'osm-home', 'http://www.opensourcematters.org', 'url', 1, 0, 0, 0, 6, 0, '0000-00-00 00:00:00', 0, 0, 0, 6, 'menu_image=-1\n\n', 0, 0, 0), -(17, 'othermenu', 'Administrator', 'administrator', 'administrator/', 'url', 1, 0, 0, 0, 7, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, 'menu_image=-1\n\n', 0, 0, 0), -(18, 'topmenu', 'News', 'news', 'index.php?option=com_newsfeeds&view=newsfeed&id=1&feedid=1', 'component', 1, 0, 11, 0, 3, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, 'show_page_heading=1\npage_title=News\npageclass_sfx=\nmenu_image=-1\nsecure=0\nshow_headings=1\nshow_name=1\nshow_articles=1\nshow_link=1\nshow_other_cats=1\nshow_cat_description=1\nshow_cat_items=1\nshow_feed_image=1\nshow_feed_description=1\nshow_item_description=1\nfeed_word_count=0\n\n', 0, 0, 0), -(20, 'usermenu', 'Your Details', 'your-details', 'index.php?option=com_user&view=user&task=edit', 'component', 1, 0, 14, 0, 1, 0, '0000-00-00 00:00:00', 0, 0, 1, 3, '', 0, 0, 0), -(24, 'usermenu', 'Logout', 'logout', 'index.php?option=com_user&view=login', 'component', 1, 0, 14, 0, 4, 0, '0000-00-00 00:00:00', 0, 0, 1, 3, '', 0, 0, 0), -(38, 'keyconcepts', 'Content Layouts', 'content-layouts', 'index.php?option=com_content&view=article&id=24', 'component', 1, 0, 20, 0, 2, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'pageclass_sfx=\nmenu_image=-1\nsecure=0\nshow_noauth=0\nlink_titles=0\nshow_intro=1\nshow_section=0\nlink_section=0\nshow_category=0\nlink_category=0\nshow_author=1\nshow_create_date=1\nshow_modify_date=1\nshow_item_navigation=0\nshow_readmore=1\nshow_vote=0\nshow_icons=1\nshow_pdf_icon=1\nshow_print_icon=1\nshow_email_icon=1\nshow_hits=1\n\n', 0, 0, 0), -(27, 'mainmenu', 'Joomla! Overview', 'joomla-overview', 'index.php?option=com_content&view=article&id=19', 'component', 1, 0, 20, 0, 2, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'pageclass_sfx=\nmenu_image=-1\nsecure=0\nshow_noauth=0\nlink_titles=0\nshow_intro=1\nshow_section=0\nlink_section=0\nshow_category=0\nlink_category=0\nshow_author=1\nshow_create_date=1\nshow_modify_date=1\nshow_item_navigation=0\nshow_readmore=1\nshow_vote=0\nshow_icons=1\nshow_pdf_icon=1\nshow_print_icon=1\nshow_email_icon=1\nshow_hits=1\n\n', 0, 0, 0), -(28, 'topmenu', 'About Joomla!', 'about-joomla', 'index.php?option=com_content&view=article&id=25', 'component', 1, 0, 20, 0, 1, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'pageclass_sfx=\nmenu_image=-1\nsecure=0\nshow_noauth=0\nlink_titles=0\nshow_intro=1\nshow_section=0\nlink_section=0\nshow_category=0\nlink_category=0\nshow_author=1\nshow_create_date=1\nshow_modify_date=1\nshow_item_navigation=0\nshow_readmore=1\nshow_vote=0\nshow_icons=1\nshow_pdf_icon=1\nshow_print_icon=1\nshow_email_icon=1\nshow_hits=1\n\n', 0, 0, 0), -(29, 'topmenu', 'Features', 'features', 'index.php?option=com_content&view=article&id=22', 'component', 1, 0, 20, 0, 2, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'pageclass_sfx=\nmenu_image=-1\nsecure=0\nshow_noauth=0\nlink_titles=0\nshow_intro=1\nshow_section=0\nlink_section=0\nshow_category=0\nlink_category=0\nshow_author=1\nshow_create_date=1\nshow_modify_date=1\nshow_item_navigation=0\nshow_readmore=1\nshow_vote=0\nshow_icons=1\nshow_pdf_icon=1\nshow_print_icon=1\nshow_email_icon=1\nshow_hits=1\n\n', 0, 0, 0), -(30, 'topmenu', 'The Community', 'the-community', 'index.php?option=com_content&view=article&id=27', 'component', 1, 0, 20, 0, 4, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'pageclass_sfx=\nmenu_image=-1\nsecure=0\nshow_noauth=0\nlink_titles=0\nshow_intro=1\nshow_section=0\nlink_section=0\nshow_category=0\nlink_category=0\nshow_author=1\nshow_create_date=1\nshow_modify_date=1\nshow_item_navigation=0\nshow_readmore=1\nshow_vote=0\nshow_icons=1\nshow_pdf_icon=1\nshow_print_icon=1\nshow_email_icon=1\nshow_hits=1\n\n', 0, 0, 0), -(34, 'mainmenu', 'What''s New in 1.5?', 'what-is-new-in-1-5', 'index.php?option=com_content&view=article&id=22', 'component', 1, 27, 20, 1, 1, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'pageclass_sfx=\nmenu_image=-1\nsecure=0\nshow_noauth=0\nshow_title=1\nlink_titles=0\nshow_intro=1\nshow_section=0\nlink_section=0\nshow_category=0\nlink_category=0\nshow_author=1\nshow_create_date=1\nshow_modify_date=1\nshow_item_navigation=0\nshow_readmore=1\nshow_vote=0\nshow_icons=1\nshow_pdf_icon=1\nshow_print_icon=1\nshow_email_icon=1\nshow_hits=1\n\n', 0, 0, 0), -(40, 'keyconcepts', 'Extensions', 'extensions', 'index.php?option=com_content&view=article&id=26', 'component', 1, 0, 20, 0, 1, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'pageclass_sfx=\nmenu_image=-1\nsecure=0\nshow_noauth=0\nlink_titles=0\nshow_intro=1\nshow_section=0\nlink_section=0\nshow_category=0\nlink_category=0\nshow_author=1\nshow_create_date=1\nshow_modify_date=1\nshow_item_navigation=0\nshow_readmore=1\nshow_vote=0\nshow_icons=1\nshow_pdf_icon=1\nshow_print_icon=1\nshow_email_icon=1\nshow_hits=1\n\n', 0, 0, 0), -(37, 'mainmenu', 'More about Joomla!', 'more-about-joomla', 'index.php?option=com_content&view=section&id=4', 'component', 1, 0, 20, 0, 5, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'show_page_heading=1\nshow_description=0\nshow_description_image=0\nshow_categories=1\nshow_empty_categories=0\nshow_cat_num_articles=1\nshow_category_description=1\npageclass_sfx=\nmenu_image=-1\nsecure=0\norderby=\nshow_noauth=0\nshow_title=1\nlink_titles=0\nshow_intro=1\nshow_section=0\nlink_section=0\nshow_category=0\nlink_category=0\nshow_author=1\nshow_create_date=1\nshow_modify_date=1\nshow_item_navigation=0\nshow_readmore=1\nshow_vote=0\nshow_icons=1\nshow_pdf_icon=1\nshow_print_icon=1\nshow_email_icon=1\nshow_hits=1', 0, 0, 0), -(43, 'keyconcepts', 'Example Pages', 'example-pages', 'index.php?option=com_content&view=article&id=43', 'component', 1, 0, 20, 0, 3, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'pageclass_sfx=\nmenu_image=-1\nsecure=0\nshow_noauth=0\nlink_titles=0\nshow_intro=1\nshow_section=0\nlink_section=0\nshow_category=0\nlink_category=0\nshow_author=1\nshow_create_date=1\nshow_modify_date=1\nshow_item_navigation=0\nshow_readmore=1\nshow_vote=0\nshow_icons=1\nshow_pdf_icon=1\nshow_print_icon=1\nshow_email_icon=1\nshow_hits=1\n\n', 0, 0, 0), -(44, 'ExamplePages', 'Section Blog', 'section-blog', 'index.php?option=com_content&view=section&layout=blog&id=3', 'component', 1, 0, 20, 0, 1, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'show_page_heading=1\npage_title=Example of Section Blog layout (FAQ section)\nshow_description=0\nshow_description_image=0\nnum_leading_articles=1\nnum_intro_articles=4\nnum_columns=2\nnum_links=4\nshow_title=1\npageclass_sfx=\nmenu_image=-1\nsecure=0\norderby_pri=\norderby_sec=\nshow_pagination=2\nshow_pagination_results=1\nshow_noauth=0\nlink_titles=0\nshow_intro=1\nshow_section=0\nlink_section=0\nshow_category=0\nlink_category=0\nshow_author=1\nshow_create_date=1\nshow_modify_date=1\nshow_item_navigation=0\nshow_readmore=1\nshow_vote=0\nshow_icons=1\nshow_pdf_icon=1\nshow_print_icon=1\nshow_email_icon=1\nshow_hits=1\n\n', 0, 0, 0), -(45, 'ExamplePages', 'Section Table', 'section-table', 'index.php?option=com_content&view=section&id=3', 'component', 1, 0, 20, 0, 2, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'show_page_heading=1\npage_title=Example of Table Blog layout (FAQ section)\nshow_description=0\nshow_description_image=0\nshow_categories=1\nshow_empty_categories=0\nshow_cat_num_articles=1\nshow_category_description=1\npageclass_sfx=\nmenu_image=-1\nsecure=0\norderby=\nshow_noauth=0\nshow_title=1\nnlink_titles=0\nshow_intro=1\nshow_section=0\nlink_section=0\nshow_category=0\nlink_category=0\nshow_author=1\nshow_create_date=1\nshow_modify_date=1\nshow_item_navigation=0\nshow_readmore=1\nshow_vote=0\nshow_icons=1\nshow_pdf_icon=1\nshow_print_icon=1\nshow_email_icon=1\nshow_hits=1\n\n', 0, 0, 0), -(46, 'ExamplePages', 'Category Blog', 'categoryblog', 'index.php?option=com_content&view=category&layout=blog&id=31', 'component', 1, 0, 20, 0, 3, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'show_page_heading=1\npage_title=Example of Category Blog layout (FAQs/General category)\nshow_description=0\nshow_description_image=0\nnum_leading_articles=1\nnum_intro_articles=4\nnum_columns=2\nnum_links=4\nshow_title=1\npageclass_sfx=\nmenu_image=-1\nsecure=0\norderby_pri=\norderby_sec=\nshow_pagination=2\nshow_pagination_results=1\nshow_noauth=0\nlink_titles=0\nshow_intro=1\nshow_section=0\nlink_section=0\nshow_category=0\nlink_category=0\nshow_author=1\nshow_create_date=1\nshow_modify_date=1\nshow_item_navigation=0\nshow_readmore=1\nshow_vote=0\nshow_icons=1\nshow_pdf_icon=1\nshow_print_icon=1\nshow_email_icon=1\nshow_hits=1\n\n', 0, 0, 0), -(47, 'ExamplePages', 'Category Table', 'category-table', 'index.php?option=com_content&view=category&id=32', 'component', 1, 0, 20, 0, 4, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'show_page_heading=1\npage_title=Example of Category Table layout (FAQs/Languages category)\nshow_headings=1\nshow_date=0\ndate_format=\nfilter=1\nfilter_type=title\npageclass_sfx=\nmenu_image=-1\nsecure=0\norderby_sec=\nshow_pagination=1\nshow_pagination_limit=1\nshow_noauth=0\nshow_title=1\nlink_titles=0\nshow_intro=1\nshow_section=0\nlink_section=0\nshow_category=0\nlink_category=0\nshow_author=1\nshow_create_date=1\nshow_modify_date=1\nshow_item_navigation=0\nshow_readmore=1\nshow_vote=0\nshow_icons=1\nshow_pdf_icon=1\nshow_print_icon=1\nshow_email_icon=1\nshow_hits=1\n\n', 0, 0, 0), -(48, 'mainmenu', 'Web Links', 'web-links', 'index.php?option=com_weblinks&view=categories', 'component', 1, 0, 4, 0, 8, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'page_title=Weblinks\nimage=-1\nimage_align=right\npageclass_sfx=\nmenu_image=-1\nsecure=0\nshow_comp_description=1\ncomp_description=\nshow_link_hits=1\nshow_link_description=1\nshow_other_cats=1\nshow_headings=1\nshow_page_heading=1\nlink_target=0\nlink_icons=\n\n', 0, 0, 0), -(49, 'mainmenu', 'News Feeds', 'news-feeds', 'index.php?option=com_newsfeeds&view=categories', 'component', 1, 0, 11, 0, 9, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'show_page_heading=1\npage_title=Newsfeeds\nshow_comp_description=1\ncomp_description=\nimage=-1\nimage_align=right\npageclass_sfx=\nmenu_image=-1\nsecure=0\nshow_headings=1\nshow_name=1\nshow_articles=1\nshow_link=1\nshow_other_cats=1\nshow_cat_description=1\nshow_cat_items=1\nshow_feed_image=1\nshow_feed_description=1\nshow_item_description=1\nfeed_word_count=0\n\n', 0, 0, 0), -(50, 'mainmenu', 'The News', 'the-news', 'index.php?option=com_content&view=category&layout=blog&id=1', 'component', 1, 0, 20, 0, 7, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'show_page_heading=1\npage_title=The News\nshow_description=0\nshow_description_image=0\nnum_leading_articles=1\nnum_intro_articles=4\nnum_columns=2\nnum_links=4\nshow_title=1\npageclass_sfx=\nmenu_image=-1\nsecure=0\norderby_pri=\norderby_sec=\nshow_pagination=2\nshow_pagination_results=1\nshow_noauth=0\nlink_titles=0\nshow_intro=1\nshow_section=0\nlink_section=0\nshow_category=0\nlink_category=0\nshow_author=1\nshow_create_date=1\nshow_modify_date=1\nshow_item_navigation=0\nshow_readmore=1\nshow_vote=0\nshow_icons=1\nshow_pdf_icon=1\nshow_print_icon=1\nshow_email_icon=1\nshow_hits=1\n\n', 0, 0, 0), -(51, 'usermenu', 'Submit an Article', 'submit-an-article', 'index.php?option=com_content&view=article&layout=form', 'component', 1, 0, 20, 0, 2, 0, '0000-00-00 00:00:00', 0, 0, 2, 0, '', 0, 0, 0), -(52, 'usermenu', 'Submit a Web Link', 'submit-a-web-link', 'index.php?option=com_weblinks&view=weblink&layout=form', 'component', 1, 0, 4, 0, 3, 0, '0000-00-00 00:00:00', 0, 0, 2, 0, '', 0, 0, 0); - --- -------------------------------------------------------- - --- --- Table structure for table `jos_menu_types` --- - -DROP TABLE IF EXISTS `jos_menu_types`; -CREATE TABLE IF NOT EXISTS `jos_menu_types` ( - `id` int(10) unsigned NOT NULL auto_increment, - `menutype` varchar(75) NOT NULL default '', - `title` varchar(255) NOT NULL default '', - `description` varchar(255) NOT NULL default '', - PRIMARY KEY (`id`), - UNIQUE KEY `menutype` (`menutype`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ; - --- --- Dumping data for table `jos_menu_types` --- - -INSERT INTO `jos_menu_types` (`id`, `menutype`, `title`, `description`) VALUES -(1, 'mainmenu', 'Main Menu', 'The main menu for the site'), -(2, 'usermenu', 'User Menu', 'A Menu for logged in Users'), -(3, 'topmenu', 'Top Menu', 'Top level navigation'), -(4, 'othermenu', 'Resources', 'Additional links'), -(5, 'ExamplePages', 'Example Pages', 'Example Pages'), -(6, 'keyconcepts', 'Key Concepts', 'This describes some critical information for new Users.'); - --- -------------------------------------------------------- - --- --- Table structure for table `jos_messages` --- - -DROP TABLE IF EXISTS `jos_messages`; -CREATE TABLE IF NOT EXISTS `jos_messages` ( - `message_id` int(10) unsigned NOT NULL auto_increment, - `user_id_from` int(10) unsigned NOT NULL default '0', - `user_id_to` int(10) unsigned NOT NULL default '0', - `folder_id` int(10) unsigned NOT NULL default '0', - `date_time` datetime NOT NULL default '0000-00-00 00:00:00', - `state` int(11) NOT NULL default '0', - `priority` int(1) unsigned NOT NULL default '0', - `subject` text NOT NULL, - `message` text NOT NULL, - PRIMARY KEY (`message_id`), - KEY `useridto_state` (`user_id_to`,`state`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; - --- --- Dumping data for table `jos_messages` --- - - --- -------------------------------------------------------- - --- --- Table structure for table `jos_messages_cfg` --- - -DROP TABLE IF EXISTS `jos_messages_cfg`; -CREATE TABLE IF NOT EXISTS `jos_messages_cfg` ( - `user_id` int(10) unsigned NOT NULL default '0', - `cfg_name` varchar(100) NOT NULL default '', - `cfg_value` varchar(255) NOT NULL default '', - UNIQUE KEY `idx_user_var_name` (`user_id`,`cfg_name`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - --- --- Dumping data for table `jos_messages_cfg` --- - - --- -------------------------------------------------------- - --- --- Table structure for table `jos_migration_backlinks` --- - -DROP TABLE IF EXISTS `jos_migration_backlinks`; -CREATE TABLE IF NOT EXISTS `jos_migration_backlinks` ( - `itemid` int(11) NOT NULL, - `name` varchar(100) NOT NULL, - `url` text NOT NULL, - `sefurl` text NOT NULL, - `newurl` text NOT NULL, - PRIMARY KEY (`itemid`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - --- --- Dumping data for table `jos_migration_backlinks` --- - - --- -------------------------------------------------------- - --- --- Table structure for table `jos_modules` --- - -DROP TABLE IF EXISTS `jos_modules`; -CREATE TABLE IF NOT EXISTS `jos_modules` ( - `id` int(11) NOT NULL auto_increment, - `title` text NOT NULL, - `content` text NOT NULL, - `ordering` int(11) NOT NULL default '0', - `position` varchar(50) default NULL, - `checked_out` int(11) unsigned NOT NULL default '0', - `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', - `published` tinyint(1) NOT NULL default '0', - `module` varchar(50) default NULL, - `numnews` int(11) NOT NULL default '0', - `access` tinyint(3) unsigned NOT NULL default '0', - `showtitle` tinyint(3) unsigned NOT NULL default '1', - `params` text NOT NULL, - `iscore` tinyint(4) NOT NULL default '0', - `client_id` tinyint(4) NOT NULL default '0', - `control` text NOT NULL, - PRIMARY KEY (`id`), - KEY `published` (`published`,`access`), - KEY `newsfeeds` (`module`,`published`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=43 ; - --- --- Dumping data for table `jos_modules` --- - -INSERT INTO `jos_modules` (`id`, `title`, `content`, `ordering`, `position`, `checked_out`, `checked_out_time`, `published`, `module`, `numnews`, `access`, `showtitle`, `params`, `iscore`, `client_id`, `control`) VALUES -(1, 'Main Menu', '', 1, 'left', 0, '0000-00-00 00:00:00', 1, 'mod_mainmenu', 0, 0, 1, 'menutype=mainmenu\nmoduleclass_sfx=_menu\n', 1, 0, ''), -(2, 'Login', '', 1, 'login', 0, '0000-00-00 00:00:00', 1, 'mod_login', 0, 0, 1, '', 1, 1, ''), -(3, 'Popular', '', 3, 'cpanel', 0, '0000-00-00 00:00:00', 1, 'mod_popular', 0, 2, 1, '', 0, 1, ''), -(4, 'Recent added Articles', '', 4, 'cpanel', 0, '0000-00-00 00:00:00', 1, 'mod_latest', 0, 2, 1, 'ordering=c_dsc\nuser_id=0\ncache=0\n\n', 0, 1, ''), -(5, 'Menu Stats', '', 5, 'cpanel', 0, '0000-00-00 00:00:00', 1, 'mod_stats', 0, 2, 1, '', 0, 1, ''), -(6, 'Unread Messages', '', 1, 'header', 0, '0000-00-00 00:00:00', 1, 'mod_unread', 0, 2, 1, '', 1, 1, ''), -(7, 'Online Users', '', 2, 'header', 0, '0000-00-00 00:00:00', 1, 'mod_online', 0, 2, 1, '', 1, 1, ''), -(8, 'Toolbar', '', 1, 'toolbar', 0, '0000-00-00 00:00:00', 1, 'mod_toolbar', 0, 2, 1, '', 1, 1, ''), -(9, 'Quick Icons', '', 1, 'icon', 0, '0000-00-00 00:00:00', 1, 'mod_quickicon', 0, 2, 1, '', 1, 1, ''), -(10, 'Logged in Users', '', 2, 'cpanel', 0, '0000-00-00 00:00:00', 1, 'mod_logged', 0, 2, 1, '', 0, 1, ''), -(11, 'Footer', '', 0, 'footer', 0, '0000-00-00 00:00:00', 1, 'mod_footer', 0, 0, 1, '', 1, 1, ''), -(12, 'Admin Menu', '', 1, 'menu', 0, '0000-00-00 00:00:00', 1, 'mod_menu', 0, 2, 1, '', 0, 1, ''), -(13, 'Admin SubMenu', '', 1, 'submenu', 0, '0000-00-00 00:00:00', 1, 'mod_submenu', 0, 2, 1, '', 0, 1, ''), -(14, 'User Status', '', 1, 'status', 0, '0000-00-00 00:00:00', 1, 'mod_status', 0, 2, 1, '', 0, 1, ''), -(15, 'Title', '', 1, 'title', 0, '0000-00-00 00:00:00', 1, 'mod_title', 0, 2, 1, '', 0, 1, ''), -(16, 'Polls', '', 1, 'right', 0, '0000-00-00 00:00:00', 1, 'mod_poll', 0, 0, 1, 'id=14\ncache=1', 0, 0, ''), -(17, 'User Menu', '', 4, 'left', 0, '0000-00-00 00:00:00', 1, 'mod_mainmenu', 0, 1, 1, 'menutype=usermenu\nmoduleclass_sfx=_menu\ncache=1', 1, 0, ''), -(18, 'Login Form', '', 8, 'left', 0, '0000-00-00 00:00:00', 1, 'mod_login', 0, 0, 1, 'greeting=1\nname=0', 1, 0, ''), -(19, 'Latest News', '', 4, 'user1', 0, '0000-00-00 00:00:00', 1, 'mod_latestnews', 0, 0, 1, 'cache=1', 1, 0, ''), -(20, 'Statistics', '', 6, 'left', 0, '0000-00-00 00:00:00', 0, 'mod_stats', 0, 0, 1, 'serverinfo=1\nsiteinfo=1\ncounter=1\nincrease=0\nmoduleclass_sfx=', 0, 0, ''), -(21, 'Who''s Online', '', 1, 'right', 0, '0000-00-00 00:00:00', 1, 'mod_whosonline', 0, 0, 1, 'online=1\nusers=1\nmoduleclass_sfx=', 0, 0, ''), -(22, 'Popular', '', 6, 'user2', 0, '0000-00-00 00:00:00', 1, 'mod_mostread', 0, 0, 1, 'cache=1', 0, 0, ''), -(23, 'Archive', '', 9, 'left', 0, '0000-00-00 00:00:00', 0, 'mod_archive', 0, 0, 1, 'cache=1', 1, 0, ''), -(24, 'Sections', '', 10, 'left', 0, '0000-00-00 00:00:00', 0, 'mod_sections', 0, 0, 1, 'cache=1', 1, 0, ''), -(25, 'Newsflash', '', 1, 'top', 0, '0000-00-00 00:00:00', 1, 'mod_newsflash', 0, 0, 1, 'catid=3\r\nstyle=random\r\nitems=\r\nmoduleclass_sfx=', 0, 0, ''), -(26, 'Related Items', '', 11, 'left', 0, '0000-00-00 00:00:00', 0, 'mod_related_items', 0, 0, 1, '', 0, 0, ''), -(27, 'Search', '', 1, 'user4', 0, '0000-00-00 00:00:00', 1, 'mod_search', 0, 0, 0, 'cache=1', 0, 0, ''), -(28, 'Random Image', '', 9, 'right', 0, '0000-00-00 00:00:00', 1, 'mod_random_image', 0, 0, 1, '', 0, 0, ''), -(29, 'Top Menu', '', 1, 'user3', 0, '0000-00-00 00:00:00', 1, 'mod_mainmenu', 0, 0, 0, 'cache=1\nmenutype=topmenu\nmenu_style=list_flat\nmenu_images=n\nmenu_images_align=left\nexpand_menu=n\nclass_sfx=-nav\nmoduleclass_sfx=\nindent_image1=0\nindent_image2=0\nindent_image3=0\nindent_image4=0\nindent_image5=0\nindent_image6=0', 1, 0, ''), -(30, 'Banners', '', 1, 'footer', 0, '0000-00-00 00:00:00', 1, 'mod_banners', 0, 0, 0, 'target=1\ncount=1\ncid=1\ncatid=33\ntag_search=0\nordering=random\nheader_text=\nfooter_text=\nmoduleclass_sfx=\ncache=1\ncache_time=15\n\n', 1, 0, ''), -(31, 'Resources', '', 2, 'left', 0, '0000-00-00 00:00:00', 1, 'mod_mainmenu', 0, 0, 1, 'menutype=othermenu\nmenu_style=list\nstartLevel=0\nendLevel=0\nshowAllChildren=0\nwindow_open=\nshow_whitespace=0\ncache=1\ntag_id=\nclass_sfx=\nmoduleclass_sfx=_menu\nmaxdepth=10\nmenu_images=0\nmenu_images_align=0\nexpand_menu=0\nactivate_parent=0\nfull_active_id=0\nindent_image=0\nindent_image1=\nindent_image2=\nindent_image3=\nindent_image4=\nindent_image5=\nindent_image6=\nspacer=\nend_spacer=\n\n', 0, 0, ''), -(32, 'Wrapper', '', 12, 'left', 0, '0000-00-00 00:00:00', 0, 'mod_wrapper', 0, 0, 1, '', 0, 0, ''), -(33, 'Footer', '', 2, 'footer', 0, '0000-00-00 00:00:00', 1, 'mod_footer', 0, 0, 0, 'cache=1\n\n', 1, 0, ''), -(34, 'Feed Display', '', 13, 'left', 0, '0000-00-00 00:00:00', 0, 'mod_feed', 0, 0, 1, '', 1, 0, ''), -(35, 'Breadcrumbs', '', 1, 'breadcrumb', 0, '0000-00-00 00:00:00', 1, 'mod_breadcrumbs', 0, 0, 1, 'moduleclass_sfx=\ncache=0\nshowHome=1\nhomeText=Home\nshowComponent=1\nseparator=\n\n', 1, 0, ''), -(36, 'Syndication', '', 3, 'syndicate', 0, '0000-00-00 00:00:00', 1, 'mod_syndicate', 0, 0, 0, '', 1, 0, ''), -(38, 'Advertisement', '', 3, 'right', 0, '0000-00-00 00:00:00', 1, 'mod_banners', 0, 0, 1, 'count=4\r\nrandomise=0\r\ncid=0\r\ncatid=14\r\nheader_text=Featured Links:\r\nfooter_text=Ads by Joomla!\r\nmoduleclass_sfx=_text\r\ncache=0\r\n\r\n', 0, 0, ''), -(39, 'Example Pages', '', 5, 'left', 0, '0000-00-00 00:00:00', 1, 'mod_mainmenu', 0, 0, 1, 'cache=1\nclass_sfx=\nmoduleclass_sfx=_menu\nmenutype=ExamplePages\nmenu_style=list_flat\nstartLevel=0\nendLevel=0\nshowAllChildren=0\nfull_active_id=0\nmenu_images=0\nmenu_images_align=0\nexpand_menu=0\nactivate_parent=0\nindent_image=0\nindent_image1=\nindent_image2=\nindent_image3=\nindent_image4=\nindent_image5=\nindent_image6=\nspacer=\nend_spacer=\nwindow_open=\n\n', 0, 0, ''), -(40, 'Key Concepts', '', 3, 'left', 0, '0000-00-00 00:00:00', 1, 'mod_mainmenu', 0, 0, 1, 'cache=1\nclass_sfx=\nmoduleclass_sfx=_menu\nmenutype=keyconcepts\nmenu_style=list\nstartLevel=0\nendLevel=0\nshowAllChildren=0\nfull_active_id=0\nmenu_images=0\nmenu_images_align=0\nexpand_menu=0\nactivate_parent=0\nindent_image=0\nindent_image1=\nindent_image2=\nindent_image3=\nindent_image4=\nindent_image5=\nindent_image6=\nspacer=\nend_spacer=\nwindow_open=\n\n', 0, 0, ''), -(41, 'Welcome to Joomla!', '

    Congratulations on choosing Joomla! as your content management system. To help you get started, check out these excellent resources for securing your server and pointers to documentation and other helpful resources.

    Security

    On the Internet, security is always a concern. For that reason, you are encouraged to subscribe to the Joomla! Security Announcements for the latest information on new Joomla! releases, emailed to you automatically.

    If this is one of your first Web sites, security considerations may seem complicated and intimidating. There are three simple steps that go a long way towards securing a Web site: (1) regular backups; (2) prompt updates to the latest Joomla! release; and (3) a good Web host. There are many other important security considerations that you can learn about by reading the Joomla! Security Checklist.

    If you believe your Web site was attacked, or you think you have discovered a security issue in Joomla!, please do not post it in the Joomla! forums. Publishing this information could put other Web sites at risk. Instead, report possible security vulnerabilities to the Joomla! Security Task Force.

    Learning Joomla!

    A good place to start learning Joomla! is the "Absolute Beginner''s Guide to Joomla!." There, you will find a Quick Start to Joomla! guide and video, amongst many other tutorials. The Joomla! Community Magazine also has articles for new learners and experienced users, alike. A great place to look for answers is the Frequently Asked Questions (FAQ). If you are stuck on a particular screen in the Administrator (which is where you are now), try clicking the Help toolbar button to get assistance specific to that page.

    If you still have questions, please feel free to use the Joomla! Forums. The forums are an incredibly valuable resource for all levels of Joomla! users. Before you post a question, though, use the forum search (located at the top of each forum page) to see if the question has been asked and answered.

    Getting Involved

    If you want to help make Joomla! better, consider getting involved. There are many ways you can make a positive difference. Have fun using Joomla!.

    ', 0, 'cpanel', 0, '0000-00-00 00:00:00', 1, 'mod_custom', 0, 2, 1, 'moduleclass_sfx=\n\n', 1, 1, ''), -(42, 'Joomla! Security Newsfeed', '', 6, 'cpanel', 62, '2008-10-25 20:15:17', 1, 'mod_feed', 0, 0, 1, 'cache=1\ncache_time=15\nmoduleclass_sfx=\nrssurl=http://feeds.joomla.org/JoomlaSecurityNews\nrssrtl=0\nrsstitle=1\nrssdesc=0\nrssimage=1\nrssitems=1\nrssitemdesc=1\nword_count=0\n\n', 0, 1, ''); - --- -------------------------------------------------------- - --- --- Table structure for table `jos_modules_menu` --- - -DROP TABLE IF EXISTS `jos_modules_menu`; -CREATE TABLE IF NOT EXISTS `jos_modules_menu` ( - `moduleid` int(11) NOT NULL default '0', - `menuid` int(11) NOT NULL default '0', - PRIMARY KEY (`moduleid`,`menuid`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - --- --- Dumping data for table `jos_modules_menu` --- - -INSERT INTO `jos_modules_menu` (`moduleid`, `menuid`) VALUES -(1, 0), -(16, 1), -(17, 0), -(18, 1), -(19, 1), -(19, 2), -(19, 4), -(19, 27), -(19, 36), -(21, 1), -(22, 1), -(22, 2), -(22, 4), -(22, 27), -(22, 36), -(25, 0), -(27, 0), -(29, 0), -(30, 0), -(31, 1), -(32, 0), -(33, 0), -(34, 0), -(35, 0), -(36, 0), -(38, 1), -(39, 43), -(39, 44), -(39, 45), -(39, 46), -(39, 47), -(40, 0); - --- -------------------------------------------------------- - --- --- Table structure for table `jos_newsfeeds` --- - -DROP TABLE IF EXISTS `jos_newsfeeds`; -CREATE TABLE IF NOT EXISTS `jos_newsfeeds` ( - `catid` int(11) NOT NULL default '0', - `id` int(11) NOT NULL auto_increment, - `name` text NOT NULL, - `alias` varchar(255) NOT NULL default '', - `link` text NOT NULL, - `filename` varchar(200) default NULL, - `published` tinyint(1) NOT NULL default '0', - `numarticles` int(11) unsigned NOT NULL default '1', - `cache_time` int(11) unsigned NOT NULL default '3600', - `checked_out` tinyint(3) unsigned NOT NULL default '0', - `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', - `ordering` int(11) NOT NULL default '0', - `rtl` tinyint(4) NOT NULL default '0', - PRIMARY KEY (`id`), - KEY `published` (`published`), - KEY `catid` (`catid`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=15 ; - --- --- Dumping data for table `jos_newsfeeds` --- - -INSERT INTO `jos_newsfeeds` (`catid`, `id`, `name`, `alias`, `link`, `filename`, `published`, `numarticles`, `cache_time`, `checked_out`, `checked_out_time`, `ordering`, `rtl`) VALUES -(4, 1, 'Joomla! Announcements', 'joomla-official-news', 'http://feeds.joomla.org/JoomlaAnnouncements', '', 1, 5, 3600, 0, '0000-00-00 00:00:00', 1, 0), -(4, 2, 'Joomla! Core Team Blog', 'joomla-core-team-blog', 'http://feeds.joomla.org/JoomlaCommunityCoreTeamBlog', '', 1, 5, 3600, 0, '0000-00-00 00:00:00', 2, 0), -(4, 3, 'Joomla! Community Magazine', 'joomla-community-magazine', 'http://feeds.joomla.org/JoomlaMagazine', '', 1, 20, 3600, 0, '0000-00-00 00:00:00', 3, 0), -(4, 4, 'Joomla! Developer News', 'joomla-developer-news', 'http://feeds.joomla.org/JoomlaDeveloper', '', 1, 5, 3600, 0, '0000-00-00 00:00:00', 4, 0), -(4, 5, 'Joomla! Security News', 'joomla-security-news', 'http://feeds.joomla.org/JoomlaSecurityNews', '', 1, 5, 3600, 0, '0000-00-00 00:00:00', 5, 0), -(5, 6, 'Free Software Foundation Blogs', 'free-software-foundation-blogs', 'http://www.fsf.org/blogs/RSS', NULL, 1, 5, 3600, 0, '0000-00-00 00:00:00', 4, 0), -(5, 7, 'Free Software Foundation', 'free-software-foundation', 'http://www.fsf.org/news/RSS', NULL, 1, 5, 3600, 62, '2008-09-14 00:24:25', 3, 0), -(5, 8, 'Software Freedom Law Center Blog', 'software-freedom-law-center-blog', 'http://www.softwarefreedom.org/feeds/blog/', NULL, 1, 5, 3600, 0, '0000-00-00 00:00:00', 2, 0), -(5, 9, 'Software Freedom Law Center News', 'software-freedom-law-center', 'http://www.softwarefreedom.org/feeds/news/', NULL, 1, 5, 3600, 0, '0000-00-00 00:00:00', 1, 0), -(5, 10, 'Open Source Initiative Blog', 'open-source-initiative-blog', 'http://www.opensource.org/blog/feed', NULL, 1, 5, 3600, 0, '0000-00-00 00:00:00', 5, 0), -(6, 11, 'PHP News and Announcements', 'php-news-and-announcements', 'http://www.php.net/feed.atom', NULL, 1, 5, 3600, 62, '2008-09-14 00:25:37', 1, 0), -(6, 12, 'Planet MySQL', 'planet-mysql', 'http://www.planetmysql.org/rss20.xml', NULL, 1, 5, 3600, 62, '2008-09-14 00:25:51', 2, 0), -(6, 13, 'Linux Foundation Announcements', 'linux-foundation-announcements', 'http://www.linuxfoundation.org/press/rss20.xml', NULL, 1, 5, 3600, 62, '2008-09-14 00:26:11', 3, 0), -(6, 14, 'Mootools Blog', 'mootools-blog', 'http://feeds.feedburner.com/mootools-blog', NULL, 1, 5, 3600, 62, '2008-09-14 00:26:51', 4, 0); - --- -------------------------------------------------------- - --- --- Table structure for table `jos_plugins` --- - -DROP TABLE IF EXISTS `jos_plugins`; -CREATE TABLE IF NOT EXISTS `jos_plugins` ( - `id` int(11) NOT NULL auto_increment, - `name` varchar(100) NOT NULL default '', - `element` varchar(100) NOT NULL default '', - `folder` varchar(100) NOT NULL default '', - `access` tinyint(3) unsigned NOT NULL default '0', - `ordering` int(11) NOT NULL default '0', - `published` tinyint(3) NOT NULL default '0', - `iscore` tinyint(3) NOT NULL default '0', - `client_id` tinyint(3) NOT NULL default '0', - `checked_out` int(11) unsigned NOT NULL default '0', - `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', - `params` text NOT NULL, - PRIMARY KEY (`id`), - KEY `idx_folder` (`published`,`client_id`,`access`,`folder`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=34 ; - --- --- Dumping data for table `jos_plugins` --- - -INSERT INTO `jos_plugins` (`id`, `name`, `element`, `folder`, `access`, `ordering`, `published`, `iscore`, `client_id`, `checked_out`, `checked_out_time`, `params`) VALUES -(1, 'Authentication - Joomla', 'joomla', 'authentication', 0, 1, 1, 1, 0, 0, '0000-00-00 00:00:00', ''), -(2, 'Authentication - LDAP', 'ldap', 'authentication', 0, 2, 0, 1, 0, 0, '0000-00-00 00:00:00', 'host=\nport=389\nuse_ldapV3=0\nnegotiate_tls=0\nno_referrals=0\nauth_method=bind\nbase_dn=\nsearch_string=\nusers_dn=\nusername=\npassword=\nldap_fullname=fullName\nldap_email=mail\nldap_uid=uid\n\n'), -(3, 'Authentication - GMail', 'gmail', 'authentication', 0, 4, 0, 0, 0, 0, '0000-00-00 00:00:00', ''), -(4, 'Authentication - OpenID', 'openid', 'authentication', 0, 3, 0, 0, 0, 0, '0000-00-00 00:00:00', ''), -(5, 'User - Joomla!', 'joomla', 'user', 0, 0, 1, 0, 0, 0, '0000-00-00 00:00:00', 'autoregister=1\n\n'), -(6, 'Search - Content', 'content', 'search', 0, 1, 1, 1, 0, 0, '0000-00-00 00:00:00', 'search_limit=50\nsearch_content=1\nsearch_uncategorised=1\nsearch_archived=1\n\n'), -(7, 'Search - Contacts', 'contacts', 'search', 0, 3, 1, 1, 0, 0, '0000-00-00 00:00:00', 'search_limit=50\n\n'), -(8, 'Search - Categories', 'categories', 'search', 0, 4, 1, 0, 0, 0, '0000-00-00 00:00:00', 'search_limit=50\n\n'), -(9, 'Search - Sections', 'sections', 'search', 0, 5, 1, 0, 0, 0, '0000-00-00 00:00:00', 'search_limit=50\n\n'), -(10, 'Search - Newsfeeds', 'newsfeeds', 'search', 0, 6, 1, 0, 0, 0, '0000-00-00 00:00:00', 'search_limit=50\n\n'), -(11, 'Search - Weblinks', 'weblinks', 'search', 0, 2, 1, 1, 0, 0, '0000-00-00 00:00:00', 'search_limit=50\n\n'), -(12, 'Content - Pagebreak', 'pagebreak', 'content', 0, 10000, 1, 1, 0, 0, '0000-00-00 00:00:00', 'enabled=1\ntitle=1\nmultipage_toc=1\nshowall=1\n\n'), -(13, 'Content - Rating', 'vote', 'content', 0, 4, 1, 1, 0, 0, '0000-00-00 00:00:00', ''), -(14, 'Content - Email Cloaking', 'emailcloak', 'content', 0, 5, 1, 0, 0, 0, '0000-00-00 00:00:00', 'mode=1\n\n'), -(16, 'Content - Load Module', 'loadmodule', 'content', 0, 6, 1, 0, 0, 0, '0000-00-00 00:00:00', 'enabled=1\nstyle=0\n\n'), -(17, 'Content - Page Navigation', 'pagenavigation', 'content', 0, 2, 1, 1, 0, 0, '0000-00-00 00:00:00', 'position=1\n\n'), -(18, 'Editor - No Editor', 'none', 'editors', 0, 0, 1, 1, 0, 0, '0000-00-00 00:00:00', ''), -(19, 'Editor - TinyMCE', 'tinymce', 'editors', 0, 0, 1, 1, 0, 0, '0000-00-00 00:00:00', 'theme=advanced\ncleanup=1\ncleanup_startup=0\nautosave=0\ncompressed=0\nrelative_urls=1\ntext_direction=ltr\nlang_mode=0\nlang_code=en\ninvalid_elements=applet\ncontent_css=1\ncontent_css_custom=\nnewlines=0\ntoolbar=top\nhr=1\nsmilies=1\ntable=1\nstyle=1\nlayer=1\nxhtmlxtras=0\ntemplate=0\ndirectionality=1\nfullscreen=1\nhtml_height=550\nhtml_width=750\npreview=1\ninsertdate=1\nformat_date=%Y-%m-%d\ninserttime=1\nformat_time=%H:%M:%S\n\n'), -(20, 'Editor - XStandard Lite 2.0', 'xstandard', 'editors', 0, 0, 0, 1, 0, 0, '0000-00-00 00:00:00', ''), -(21, 'Editor Button - Image', 'image', 'editors-xtd', 0, 0, 1, 0, 0, 0, '0000-00-00 00:00:00', ''), -(22, 'Editor Button - Pagebreak', 'pagebreak', 'editors-xtd', 0, 0, 1, 0, 0, 0, '0000-00-00 00:00:00', ''), -(23, 'Editor Button - Readmore', 'readmore', 'editors-xtd', 0, 0, 1, 0, 0, 0, '0000-00-00 00:00:00', ''), -(24, 'XML-RPC - Joomla', 'joomla', 'xmlrpc', 0, 7, 0, 1, 0, 0, '0000-00-00 00:00:00', ''), -(25, 'XML-RPC - Blogger API', 'blogger', 'xmlrpc', 0, 7, 0, 1, 0, 0, '0000-00-00 00:00:00', 'catid=1\nsectionid=0\n\n'), -(27, 'System - SEF', 'sef', 'system', 0, 1, 1, 0, 0, 0, '0000-00-00 00:00:00', ''), -(28, 'System - Debug', 'debug', 'system', 0, 2, 1, 0, 0, 0, '0000-00-00 00:00:00', 'queries=1\nmemory=1\nlangauge=1\n\n'), -(29, 'System - Legacy', 'legacy', 'system', 0, 3, 0, 1, 0, 0, '0000-00-00 00:00:00', 'route=0\n\n'), -(30, 'System - Cache', 'cache', 'system', 0, 4, 0, 1, 0, 0, '0000-00-00 00:00:00', 'browsercache=0\ncachetime=15\n\n'), -(31, 'System - Log', 'log', 'system', 0, 5, 0, 1, 0, 0, '0000-00-00 00:00:00', ''), -(32, 'System - Remember Me', 'remember', 'system', 0, 6, 1, 1, 0, 0, '0000-00-00 00:00:00', ''), -(33, 'System - Backlink', 'backlink', 'system', 0, 7, 0, 1, 0, 0, '0000-00-00 00:00:00', ''); - --- -------------------------------------------------------- - --- --- Table structure for table `jos_poll_data` --- - -DROP TABLE IF EXISTS `jos_poll_data`; -CREATE TABLE IF NOT EXISTS `jos_poll_data` ( - `id` int(11) NOT NULL auto_increment, - `pollid` int(11) NOT NULL default '0', - `text` text NOT NULL, - `hits` int(11) NOT NULL default '0', - PRIMARY KEY (`id`), - KEY `pollid` (`pollid`,`text`(1)) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=13 ; - --- --- Dumping data for table `jos_poll_data` --- - -INSERT INTO `jos_poll_data` (`id`, `pollid`, `text`, `hits`) VALUES -(1, 14, 'Community Sites', 2), -(2, 14, 'Public Brand Sites', 3), -(3, 14, 'eCommerce', 1), -(4, 14, 'Blogs', 0), -(5, 14, 'Intranets', 0), -(6, 14, 'Photo and Media Sites', 2), -(7, 14, 'All of the Above!', 3), -(8, 14, '', 0), -(9, 14, '', 0), -(10, 14, '', 0), -(11, 14, '', 0), -(12, 14, '', 0); - --- -------------------------------------------------------- - --- --- Table structure for table `jos_poll_date` --- - -DROP TABLE IF EXISTS `jos_poll_date`; -CREATE TABLE IF NOT EXISTS `jos_poll_date` ( - `id` bigint(20) NOT NULL auto_increment, - `date` datetime NOT NULL default '0000-00-00 00:00:00', - `vote_id` int(11) NOT NULL default '0', - `poll_id` int(11) NOT NULL default '0', - PRIMARY KEY (`id`), - KEY `poll_id` (`poll_id`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=12 ; - --- --- Dumping data for table `jos_poll_date` --- - -INSERT INTO `jos_poll_date` (`id`, `date`, `vote_id`, `poll_id`) VALUES -(1, '2006-10-09 13:01:58', 1, 14), -(2, '2006-10-10 15:19:43', 7, 14), -(3, '2006-10-11 11:08:16', 7, 14), -(4, '2006-10-11 15:02:26', 2, 14), -(5, '2006-10-11 15:43:03', 7, 14), -(6, '2006-10-11 15:43:38', 7, 14), -(7, '2006-10-12 00:51:13', 2, 14), -(8, '2007-05-10 19:12:29', 3, 14), -(9, '2007-05-14 14:18:00', 6, 14), -(10, '2007-06-10 15:20:29', 6, 14), -(11, '2007-07-03 12:37:53', 2, 14); - --- -------------------------------------------------------- - --- --- Table structure for table `jos_poll_menu` --- - -DROP TABLE IF EXISTS `jos_poll_menu`; -CREATE TABLE IF NOT EXISTS `jos_poll_menu` ( - `pollid` int(11) NOT NULL default '0', - `menuid` int(11) NOT NULL default '0', - PRIMARY KEY (`pollid`,`menuid`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - --- --- Dumping data for table `jos_poll_menu` --- - - --- -------------------------------------------------------- - --- --- Table structure for table `jos_polls` --- - -DROP TABLE IF EXISTS `jos_polls`; -CREATE TABLE IF NOT EXISTS `jos_polls` ( - `id` int(11) unsigned NOT NULL auto_increment, - `title` varchar(255) NOT NULL default '', - `alias` varchar(255) NOT NULL default '', - `voters` int(9) NOT NULL default '0', - `checked_out` int(11) NOT NULL default '0', - `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', - `published` tinyint(1) NOT NULL default '0', - `access` int(11) NOT NULL default '0', - `lag` int(11) NOT NULL default '0', - PRIMARY KEY (`id`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=15 ; - --- --- Dumping data for table `jos_polls` --- - -INSERT INTO `jos_polls` (`id`, `title`, `alias`, `voters`, `checked_out`, `checked_out_time`, `published`, `access`, `lag`) VALUES -(14, 'Joomla! is used for?', 'joomla-is-used-for', 11, 0, '0000-00-00 00:00:00', 1, 0, 86400); - --- -------------------------------------------------------- - --- --- Table structure for table `jos_sections` --- - -DROP TABLE IF EXISTS `jos_sections`; -CREATE TABLE IF NOT EXISTS `jos_sections` ( - `id` int(11) NOT NULL auto_increment, - `title` varchar(255) NOT NULL default '', - `name` varchar(255) NOT NULL default '', - `alias` varchar(255) NOT NULL default '', - `image` text NOT NULL, - `scope` varchar(50) NOT NULL default '', - `image_position` varchar(30) NOT NULL default '', - `description` text NOT NULL, - `published` tinyint(1) NOT NULL default '0', - `checked_out` int(11) unsigned NOT NULL default '0', - `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', - `ordering` int(11) NOT NULL default '0', - `access` tinyint(3) unsigned NOT NULL default '0', - `count` int(11) NOT NULL default '0', - `params` text NOT NULL, - PRIMARY KEY (`id`), - KEY `idx_scope` (`scope`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ; - --- --- Dumping data for table `jos_sections` --- - -INSERT INTO `jos_sections` (`id`, `title`, `name`, `alias`, `image`, `scope`, `image_position`, `description`, `published`, `checked_out`, `checked_out_time`, `ordering`, `access`, `count`, `params`) VALUES -(1, 'News', '', 'news', 'articles.jpg', 'content', 'right', 'Select a news topic from the list below, then select a news article to read.', 1, 0, '0000-00-00 00:00:00', 3, 0, 2, ''), -(3, 'FAQs', '', 'faqs', 'key.jpg', 'content', 'left', 'From the list below choose one of our FAQs topics, then select an FAQ to read. If you have a question which is not in this section, please contact us.', 1, 0, '0000-00-00 00:00:00', 5, 0, 23, ''), -(4, 'About Joomla!', '', 'about-joomla', '', 'content', 'left', '', 1, 0, '0000-00-00 00:00:00', 2, 0, 14, ''); - --- -------------------------------------------------------- - --- --- Table structure for table `jos_session` --- - -DROP TABLE IF EXISTS `jos_session`; -CREATE TABLE IF NOT EXISTS `jos_session` ( - `username` varchar(150) default '', - `time` varchar(14) default '', - `session_id` varchar(200) NOT NULL default '0', - `guest` tinyint(4) default '1', - `userid` int(11) default '0', - `gid` tinyint(3) unsigned NOT NULL default '0', - `client_id` tinyint(3) unsigned NOT NULL default '0', - `data` longtext, - PRIMARY KEY (`session_id`(64)), - KEY `userid` (`userid`), - KEY `time` (`time`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - --- --- Dumping data for table `jos_session` --- - -INSERT INTO `jos_session` (`username`, `time`, `session_id`, `guest`, `userid`, `gid`, `client_id`, `data`) VALUES -('', '1248585184', 'b39725b384cc94043043498ee88cbf08', 1, 0, '', 0, 0, '__default|a:8:{s:15:"session.counter";i:1;s:19:"session.timer.start";i:1248585184;s:18:"session.timer.last";i:1248585184;s:17:"session.timer.now";i:1248585184;s:22:"session.client.browser";s:80:"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1";s:8:"registry";O:9:"JRegistry":3:{s:17:"_defaultNameSpace";s:7:"session";s:9:"_registry";a:1:{s:7:"session";a:1:{s:4:"data";O:8:"stdClass":0:{}}}s:7:"_errors";a:0:{}}s:4:"user";O:5:"JUser":19:{s:2:"id";i:0;s:4:"name";N;s:8:"username";N;s:5:"email";N;s:8:"password";N;s:14:"password_clear";s:0:"";s:8:"usertype";N;s:5:"block";N;s:9:"sendEmail";i:0;s:3:"gid";i:0;s:12:"registerDate";N;s:13:"lastvisitDate";N;s:10:"activation";N;s:6:"params";N;s:3:"aid";i:0;s:5:"guest";i:1;s:7:"_params";O:10:"JParameter":7:{s:4:"_raw";s:0:"";s:4:"_xml";N;s:9:"_elements";a:0:{}s:12:"_elementPath";a:1:{i:0;s:67:"/home/ian/www/selsampledata/libraries/joomla/html/parameter/element";}s:17:"_defaultNameSpace";s:8:"_default";s:9:"_registry";a:1:{s:8:"_default";a:1:{s:4:"data";O:8:"stdClass":0:{}}}s:7:"_errors";a:0:{}}s:9:"_errorMsg";N;s:7:"_errors";a:0:{}}s:13:"session.token";s:32:"1b0feeee06e36018d65b9ed24c7dd81f";}'); - --- -------------------------------------------------------- - --- --- Table structure for table `jos_stats_agents` --- - -DROP TABLE IF EXISTS `jos_stats_agents`; -CREATE TABLE IF NOT EXISTS `jos_stats_agents` ( - `agent` varchar(255) NOT NULL default '', - `type` tinyint(1) unsigned NOT NULL default '0', - `hits` int(11) unsigned NOT NULL default '1' -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - --- --- Dumping data for table `jos_stats_agents` --- - - --- -------------------------------------------------------- - --- --- Table structure for table `jos_templates_menu` --- - -DROP TABLE IF EXISTS `jos_templates_menu`; -CREATE TABLE IF NOT EXISTS `jos_templates_menu` ( - `template` varchar(255) NOT NULL default '', - `menuid` int(11) NOT NULL default '0', - `client_id` tinyint(4) NOT NULL default '0', - PRIMARY KEY (`menuid`,`client_id`,`template`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - --- --- Dumping data for table `jos_templates_menu` --- - -INSERT INTO `jos_templates_menu` (`template`, `menuid`, `client_id`) VALUES -('rhuk_milkyway', 0, 0), -('khepri', 0, 1); - --- -------------------------------------------------------- - --- --- Table structure for table `jos_users` --- - -DROP TABLE IF EXISTS `jos_users`; -CREATE TABLE IF NOT EXISTS `jos_users` ( - `id` int(11) NOT NULL auto_increment, - `name` varchar(255) NOT NULL default '', - `username` varchar(150) NOT NULL default '', - `email` varchar(100) NOT NULL default '', - `password` varchar(100) NOT NULL default '', - `block` tinyint(4) NOT NULL default '0', - `sendEmail` tinyint(4) default '0', - `gid` tinyint(3) unsigned NOT NULL default '1', - `registerDate` datetime NOT NULL default '0000-00-00 00:00:00', - `lastvisitDate` datetime NOT NULL default '0000-00-00 00:00:00', - `activation` varchar(100) NOT NULL default '', - `params` text NOT NULL, - PRIMARY KEY (`id`), - KEY `idx_name` (`name`), - KEY `gid_block` (`gid`,`block`), - KEY `username` (`username`), - KEY `email` (`email`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=63 ; - --- --- Dumping data for table `jos_users` --- - -INSERT INTO `jos_users` (`id`, `name`, `username`, `email`, `password`, `block`, `sendEmail`, `gid`, `registerDate`, `lastvisitDate`, `activation`, `params`) VALUES -(62, 'Administrator', 'admin', 'ian@ianmaclennan.org', '2969da7538b7dd99f3e90ac24b304216:r7HAPBmpKUyi6zPTu4rX2ehlph28GScy', 'Super Administrator', 0, 1, 25, '2009-07-26 01:12:56', '0000-00-00 00:00:00', '', ''); - --- -------------------------------------------------------- - --- --- Table structure for table `jos_weblinks` --- - -DROP TABLE IF EXISTS `jos_weblinks`; -CREATE TABLE IF NOT EXISTS `jos_weblinks` ( - `id` int(11) unsigned NOT NULL auto_increment, - `catid` int(11) NOT NULL default '0', - `sid` int(11) NOT NULL default '0', - `title` varchar(250) NOT NULL default '', - `alias` varchar(255) NOT NULL default '', - `url` varchar(250) NOT NULL default '', - `description` text NOT NULL, - `date` datetime NOT NULL default '0000-00-00 00:00:00', - `hits` int(11) NOT NULL default '0', - `published` tinyint(1) NOT NULL default '0', - `checked_out` int(11) NOT NULL default '0', - `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', - `ordering` int(11) NOT NULL default '0', - `archived` tinyint(1) NOT NULL default '0', - `approved` tinyint(1) NOT NULL default '1', - `params` text NOT NULL, - PRIMARY KEY (`id`), - KEY `catid` (`catid`,`published`,`archived`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ; - --- --- Dumping data for table `jos_weblinks` --- - -INSERT INTO `jos_weblinks` (`id`, `catid`, `sid`, `title`, `alias`, `url`, `description`, `date`, `hits`, `published`, `checked_out`, `checked_out_time`, `ordering`, `archived`, `approved`, `params`) VALUES -(1, 2, 0, 'Joomla!', 'joomla', 'http://www.joomla.org', 'Home of Joomla!', '2005-02-14 15:19:02', 3, 1, 0, '0000-00-00 00:00:00', 1, 0, 1, 'target=0'), -(2, 2, 0, 'php.net', 'php', 'http://www.php.net', 'The language that Joomla! is developed in', '2004-07-07 11:33:24', 6, 1, 0, '0000-00-00 00:00:00', 3, 0, 1, ''), -(3, 2, 0, 'MySQL', 'mysql', 'http://www.mysql.com', 'The database that Joomla! uses', '2004-07-07 10:18:31', 1, 1, 0, '0000-00-00 00:00:00', 5, 0, 1, ''), -(4, 2, 0, 'OpenSourceMatters', 'opensourcematters', 'http://www.opensourcematters.org', 'Home of OSM', '2005-02-14 15:19:02', 11, 1, 0, '0000-00-00 00:00:00', 2, 0, 1, 'target=0'), -(5, 2, 0, 'Joomla! - Forums', 'joomla-forums', 'http://forum.joomla.org', 'Joomla! Forums', '2005-02-14 15:19:02', 4, 1, 0, '0000-00-00 00:00:00', 4, 0, 1, 'target=0'), -(6, 2, 0, 'Ohloh Tracking of Joomla!', 'ohloh-tracking-of-joomla', 'http://www.ohloh.net/projects/20', 'Objective reports from Ohloh about Joomla''s development activity. Joomla! has some star developers with serious kudos.', '2007-07-19 09:28:31', 1, 1, 0, '0000-00-00 00:00:00', 6, 0, 1, 'target=0\n\n'); diff --git a/tests/system/runtests.sh b/tests/system/runtests.sh deleted file mode 100644 index 19b0350553b71..0000000000000 --- a/tests/system/runtests.sh +++ /dev/null @@ -1,6 +0,0 @@ -# This script will reset the database and run the test suite. -# The first parameter is the path and name of the config file to use (these are in the servers directory) - -mysql -h 127.0.0.1 --force -u username --password=password selsampledata < resetdb.sql # selsampledata is the database name -echo $1 -phpunit --bootstrap $1 tests/TestSuite.php diff --git a/tests/system/suite/TestSuite.php b/tests/system/suite/TestSuite.php deleted file mode 100644 index e38c5abed66f5..0000000000000 --- a/tests/system/suite/TestSuite.php +++ /dev/null @@ -1,110 +0,0 @@ -addTestSuite('DoInstall'); - $suite->addTestSuite('ControlPanel0001'); - $suite->addTestSuite('ControlPanel0002'); - $suite->addTestSuite('ControlPanel0003'); - $suite->addTestSuite('ControlPanel0004'); - $suite->addTestSuite('ControlPanel0005'); - $suite->addTestSuite('Menu0001'); - $suite->addTestSuite('Menu0002'); - $suite->addTestSuite('Article0001'); - $suite->addTestSuite('Article0002'); - $suite->addTestSuite('Article0003'); - $suite->addTestSuite('Article0004'); - $suite->addTestSuite('Featured0001Test'); - $suite->addTestSuite('Featured0002Test'); - $suite->addTestSuite('User0001Test'); - $suite->addTestSuite('User0002Test'); - $suite->addTestSuite('Group0001Test'); - $suite->addTestSuite('Group0002Test'); - $suite->addTestSuite('Group0003Test'); - $suite->addTestSuite('Module0001'); - $suite->addTestSuite('Module0002'); - $suite->addTestSuite('Redirect0001Test'); - $suite->addTestSuite('SampleData0001'); - $suite->addTestSuite('Acl0001Test'); - $suite->addTestSuite('Acl0002Test'); - $suite->addTestSuite('Acl0003Test'); - $suite->addTestSuite('Acl0004Test'); - $suite->addTestSuite('Acl0005Test'); - $suite->addTestSuite('Acl0006Test'); - $suite->addTestSuite('Language0001Test'); - $suite->addTestSuite('Language0002Test'); - $suite->addTestSuite('Cache0001Test'); - $suite->addTestSuite('Security0001Test'); - return $suite; - } -} - -if (PHPUnit_MAIN_METHOD == 'Framework_AllTests::main') { - print "running Framework_AllTests::main()"; - Framework_AllTests::main(); -} -// the following section allows you to run this either from phpunit as -// phpunit.bat --bootstrap servers\configdef.php tests\testsuite.php -// or to run as a PHP Script from inside Eclipse. If you are running -// as a PHP Script, the SeleniumConfig class doesn't exist so you must import it -// and you must also run the TestSuite::main() method. -if (!class_exists('SeleniumConfig')) { - require_once 'servers/configdef.php'; - TestSuite::main(); -} - - diff --git a/tests/system/suite/acl/acl0001Test.php b/tests/system/suite/acl/acl0001Test.php deleted file mode 100644 index 067bfee70208c..0000000000000 --- a/tests/system/suite/acl/acl0001Test.php +++ /dev/null @@ -1,108 +0,0 @@ -setUp(); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->jPrint ("Check starting condition as Super Admin user\n"); - - $this->assertTrue($this->isElementPresent("//ul[@id='menu-com-users-users']"), 'User manager should be visible'); - - $this->assertTrue($this->isElementPresent("//ul[@id='menu-com-users-groups']"), 'Groups should be visible'); - - $this->assertTrue($this->isElementPresent("//ul[@id='menu-com-menus-menus']"), 'Menus should be visible'); - - $this->assertTrue($this->isElementPresent("//ul[@id='menu-com-banners']"), 'Banners should be visible'); - - $this->assertTrue($this->isElementPresent("//ul[@id='menu-com-contact']"), 'Contacts should be visible'); - - $this->assertTrue($this->isElementPresent("//ul[@id='menu-com-messages']"), 'Messaging should be visible'); - - $this->assertTrue($this->isElementPresent("//ul[@id='menu-com-newsfeeds']"), 'Newsfeeds should be visible'); - - $this->assertTrue($this->isElementPresent("//a[@href='index.php?option=com_search']"), 'Search should be visible'); - - $this->assertTrue($this->isElementPresent("//ul[@id='menu-com-weblinks']"), 'Weblinks should be visible'); - - $this->assertTrue($this->isElementPresent("//a[@href='index.php?option=com_installer']"), 'Extensions should be visible'); - - $this->assertTrue($this->isElementPresent("//ul[@id='menu-com-menus-menus']"), 'Menu Manager should not be visible'); - - $this->assertTrue($this->isElementPresent("//a[@href='index.php?option=com_modules']"), 'Module Manager should not be visible'); - - $saltGroup = mt_rand(); - $groupName = 'Test Administrator Group'.$saltGroup; - $groupParent = 'Registered'; - $this->createGroup($groupName, $groupParent); - $levelName = 'Special'; - $this->changeAccessLevel($levelName,$groupName); - $this->jPrint ("Change " . $groupName . " article permissions.\n"); - $this->jPrint ("Grant allow for all actions in article manager\n"); - $actions = array('Configure', 'Access Component', 'Create', 'Delete', 'Edit', 'Edit State'); - $permissions = array('Allowed', 'Allowed', 'Allowed', 'Allowed', 'Allowed', 'Allowed'); - $this->setPermissions('Article Manager', $groupName, $actions, $permissions); - - sleep(3); // Needed for google chrome - $this->jPrint ("Allow " . $groupName . " back end access, deny admin access\n"); - $actions = array('Site Login', 'Admin Login', 'Configure', 'Access Component', 'Create', 'Delete', 'Edit', 'Edit State'); - $permissions = array('Inherited', 'Allowed', 'Denied', 'Inherited', 'Inherited', 'Inherited', 'Inherited', 'Inherited'); - $this->setPermissions('Global Configuration', $groupName, $actions, $permissions); - - $group = $groupName; - $username = 'Test User' . $saltGroup; - $login = 'TestUser' . $saltGroup; - $email = $login . '@test.com'; - $this->createUser($username, $login, 'password' , $email, $group); - $this->gotoAdmin(); - $this->doAdminLogout(); - sleep(3); - - $this->jPrint("Log in to back end as " . $username . ".\n"); - $this->doAdminLogin($login, 'password'); - $this->jPrint("Testing " . $username . " access.\n"); - - $this->assertFalse($this->isElementPresent("//ul[@id='menu-com-users-users']"), 'Users menu should not be visible'); - $this->assertFalse($this->isElementPresent("//ul[@id='menu-com-users-groups']"), 'Groups should not be visible'); - - $this->assertFalse($this->isElementPresent("//ul[@id='menu-com-banners']"), 'Banners should not be visible'); - $this->assertFalse($this->isElementPresent("//ul[@id='menu-com-contact']"), 'Contacts should not be visible'); - $this->assertFalse($this->isElementPresent("//ul[@id='menu-com-messages']"), 'Messaging should not be visible'); - $this->assertFalse($this->isElementPresent("//ul[@id='menu-com-newsfeeds']"), 'Newsfeeds should not be visible'); - $this->assertFalse($this->isElementPresent("//a[@href='index.php?option=com_search']"), 'Search should not be visible'); - $this->assertFalse($this->isElementPresent("//ul[@id='menu-com-weblinks']"), 'Weblinks should not be visible'); - $this->assertFalse($this->isElementPresent("//a[contains(@href, 'option=com_redirect')]"), 'Redirect should not be visible'); - - $this->assertFalse($this->isElementPresent("//a[contains(@href, 'option=com_installer')]"), 'Extensions should not be visible'); - $this->assertFalse($this->isElementPresent("//a[contains(@href, 'option=com_menus')]"), 'Menu Manager should not be visible'); - $this->assertFalse($this->isElementPresent("//a[contains(@href, 'option=com_modules')]"), 'Module Manager should not be visible'); - - $this->click("link=Control Panel"); - $this->waitForPageToLoad("30000"); - $this->click("link=Article Manager"); - $this->waitForPageToLoad("30000"); - - $this->assertTrue($this->isTextPresent("Article Manager: Articles"), 'Article Manager not shown when it should be, Acl0001Test line 182'); - - - $this->doAdminLogout(); - $this->doAdminLogin(); - $this->deleteTestUsers(); - $this->gotoAdmin(); - $this->deleteGroup(); - $this->doAdminLogout(); - $this->countErrors(); - - $this->deleteAllVisibleCookies(); - } -} - diff --git a/tests/system/suite/acl/acl0002Test.php b/tests/system/suite/acl/acl0002Test.php deleted file mode 100644 index d48a1c2350512..0000000000000 --- a/tests/system/suite/acl/acl0002Test.php +++ /dev/null @@ -1,28 +0,0 @@ -setUp(); - $this->gotoAdmin(); - $this->doAdminLogin(); - $salt = mt_rand(); - $groupName = 'My Test Group'.$salt; - $this->createGroup($groupName, 'Administrator'); - $levelName = 'My Test Level'.$salt; - $this->createLevel($levelName,$groupName); - sleep(1); - $this->deleteLevel(); - $this->deleteGroup('My Test Group'); - $this->doAdminLogout(); - $this->deleteAllVisibleCookies(); - } -} diff --git a/tests/system/suite/acl/acl0003Test.php b/tests/system/suite/acl/acl0003Test.php deleted file mode 100644 index 8310de8cd51ea..0000000000000 --- a/tests/system/suite/acl/acl0003Test.php +++ /dev/null @@ -1,62 +0,0 @@ -setUp(); - $this->gotoAdmin(); - $this->doAdminLogin(); - //Create Restricted Manager Group - $salt1 = mt_rand(); - $groupName = 'Restricted Manager' . $salt1; - $groupParent = 'Manager'; - $this->createGroup($groupName, $groupParent); - - //Add new user to Restricted Manager Group - $username = 'Restricted User' . $salt1; - $login = 'RestrictedUser' . $salt1; - $email = $login . '@test.com'; - $group = $groupName; - $this->createUser($username, $login, 'password', $email, $group); - - $this->jPrint ("Set Weblinks access permissions for ". $groupName.".\n"); - $this->click("link=Control Panel"); - $this->waitForPageToLoad("30000"); - $component = 'Weblinks'; - $actions = array('Create', 'Delete', 'Edit', 'Edit State'); - $permissions = array ('Denied', 'Denied', 'Denied', 'Denied'); - $this->setPermissions($component, $groupName, $actions, $permissions); - $this->doAdminLogout(); - - //Test access for Test User beloning to Restricted Manager Group - $this->jPrint ("Testng access of ". $login.".\n"); - $this->gotoAdmin(); - $this->jPrint ("Log in as ". $login.".\n"); - $this->doAdminLogin($login, 'password'); - $this->jClick('Weblinks'); - $this->jPrint ("Check that user cannot edit, publish, unpublish, or trash weblinks.\n"); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-edit']/button")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-publish']/button")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-unpublish']/button")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-trash']/button")); - - $this->gotoAdmin(); - $this->doAdminLogout(); - - $this->doAdminLogin(); - $this->deleteTestUsers($username); - $this->deleteGroup($groupName); - $this->doAdminLogout(); - $this->deleteAllVisibleCookies(); - $this->jPrint ("Finished acl0003Test\n"); - } -} - diff --git a/tests/system/suite/acl/acl0004Test.php b/tests/system/suite/acl/acl0004Test.php deleted file mode 100644 index a10ede5b19731..0000000000000 --- a/tests/system/suite/acl/acl0004Test.php +++ /dev/null @@ -1,417 +0,0 @@ -setUp(); - $this->gotoAdmin(); - $this->doAdminLogin(); - - //Set random salt - $salt = mt_rand(); - - //Set message to be checked - $message='You cannot access the private section of this site.'; - - //Define test user - $username = 'ACL Test User' . $salt; - $password = 'password' . $salt; - $login = 'acltestuser' . $salt; - $email = $login . '@test.com'; - $group = 'Public'; - $this->jPrint ("Create $username and add to $group group.\n"); - $this->createUser($username, $login, $password, $email, $group); - - $this->jPrint ("Removing $username from Registered group.\n"); - $this->changeAssignedGroup($username,$group="Registered"); - - $this->jPrint ("Setting all roles to inherit for $username.\n"); - $actions = array('Site Login', 'Admin Login', 'Configure', 'Access Component', 'Create', 'Delete', 'Edit', 'Edit State'); - $permissions = array('Inherited', 'Inherited', 'Inherited', 'Inherited', 'Inherited', 'Inherited', 'Inherited', 'Inherited'); - $this->setPermissions('Global Configuration', $group, $actions, $permissions); - - $action="Site Login"; - $group = 'Public'; - $permission="Allowed"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - try { - $this->assertTrue($this->isElementPresent("//form[@id='login-form'][contains(., '$username')]"), 'Message not displayed or message changed, SeleniumJoomlaTestCase line 31'); - } catch (PHPUnit_Framework_AssertionFailedError $e){ - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->doFrontEndLogout(); - - $this->gotoAdmin(); - $permission="Denied"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - $this->checkMessage($message); - - $this->gotoAdmin(); - $permission="Not Set"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - $this->checkMessage($message); - - $this->gotoAdmin(); - $group='Manager'; - $this->changeAssignedGroup($username,$group); - - $this->gotoAdmin(); - $permission="Allowed"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - try { - $this->assertTrue($this->isElementPresent("//form[@id='login-form'][contains(., '$username')]")); - } catch (PHPUnit_Framework_AssertionFailedError $e){ - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->doFrontEndLogout(); - - $this->gotoAdmin(); - $permission="Denied"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - $this->checkMessage($message); - - $this->gotoAdmin(); - $permission="Inherited"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - $this->checkMessage($message); - - $this->gotoAdmin(); - $group='Administrator'; - $this->changeAssignedGroup($username,$group); - - $this->gotoAdmin(); - $this->jClick('Global Configuration: Permissions'); - $permission="Allowed"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - try { - $this->assertTrue($this->isElementPresent("//form[@id='login-form'][contains(., '$username')]")); - } catch (PHPUnit_Framework_AssertionFailedError $e){ - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->doFrontEndLogout(); - - $this->gotoAdmin(); - $permission="Denied"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - $this->checkMessage($message); - - $this->gotoAdmin(); - - $permission="Inherited"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - $this->checkMessage($message); - - $this->gotoAdmin(); - - $group='Super Users'; - $this->changeAssignedGroup($username,$group); - - $this->jClick('Global Configuration: Permissions'); - $permission="Allowed"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - try { - $this->assertTrue($this->isElementPresent("//form[@id='login-form'][contains(., '$username')]")); - } catch (PHPUnit_Framework_AssertionFailedError $e){ - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->doFrontEndLogout(); - - $this->gotoAdmin(); - $this->jClick('Global Configuration: Permissions'); - $permission="Denied"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->jPrint ("Logging in to front end.\n"); - $this->doFrontEndLogin($login,$password); - try { - $this->assertTrue($this->isElementPresent("//form[@id='login-form'][contains(., '$username')]")); - } catch (PHPUnit_Framework_AssertionFailedError $e){ - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->doFrontEndLogout(); - - $this->gotoAdmin(); - $this->jClick('Global Configuration: Permissions'); - $permission="Inherited"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - try { - $this->assertTrue($this->isElementPresent("//form[@id='login-form'][contains(., '$username')]")); - } catch (PHPUnit_Framework_AssertionFailedError $e){ - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->doFrontEndLogout(); - - $this->gotoAdmin(); - $group='Super Users'; - $this->changeAssignedGroup($username,$group); - - $group='Administrator'; - $this->changeAssignedGroup($username,$group); - - $group='Manager'; - $this->changeAssignedGroup($username,$group); - - $group='Public'; - $this->changeAssignedGroup($username,$group); - - $group='Registered'; - $this->changeAssignedGroup($username,$group); - - $this->jClick('Global Configuration: Permissions'); - $permission="Allowed"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - try { - $this->assertTrue($this->isElementPresent("//form[@id='login-form'][contains(., '$username')]")); - } catch (PHPUnit_Framework_AssertionFailedError $e){ - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->doFrontEndLogout(); - - $this->gotoAdmin(); - $this->jClick('Global Configuration: Permissions'); - $permission="Denied"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - $this->checkMessage($message); - - $this->gotoAdmin(); - $this->jClick('Global Configuration: Permissions'); - $permission="Inherited"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - $this->checkMessage($message); - - $this->gotoAdmin(); - - $group='Author'; - $this->changeAssignedGroup($username,$group); - - $this->jClick('Global Configuration: Permissions'); - $permission="Allowed"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - try { - $this->assertTrue($this->isElementPresent("//form[@id='login-form'][contains(., '$username')]")); - } catch (PHPUnit_Framework_AssertionFailedError $e){ - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->doFrontEndLogout(); - - $this->gotoAdmin(); - $this->jClick('Global Configuration: Permissions'); - $permission="Denied"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - $this->checkMessage($message); - - $this->gotoAdmin(); - $this->jClick('Global Configuration: Permissions'); - $permission="Inherited"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - $this->checkMessage($message); - - $this->gotoAdmin(); - - $group='Editor'; - $this->changeAssignedGroup($username,$group); - - $this->jClick('Global Configuration: Permissions'); - $permission="Allowed"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - try { - $this->assertTrue($this->isElementPresent("//form[@id='login-form'][contains(., '$username')]")); - } catch (PHPUnit_Framework_AssertionFailedError $e){ - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->doFrontEndLogout(); - - $this->gotoAdmin(); - $this->jClick('Global Configuration: Permissions'); - $permission="Denied"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - $this->checkMessage($message); - - $this->gotoAdmin(); - $this->jClick('Global Configuration: Permissions'); - $permission="Inherited"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - $this->checkMessage($message); - - $this->gotoAdmin(); - $group='Publisher'; - $this->changeAssignedGroup($username,$group); - - $this->jClick('Global Configuration: Permissions'); - $permission="Allowed"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - try { - $this->assertTrue($this->isElementPresent("//form[@id='login-form'][contains(., '$username')]")); - } catch (PHPUnit_Framework_AssertionFailedError $e){ - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->doFrontEndLogout(); - - $this->gotoAdmin(); - $this->jClick('Global Configuration: Permissions'); - $permission="Denied"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - $this->checkMessage($message); - - $this->gotoAdmin(); - $this->jClick('Global Configuration: Permissions'); - $permission="Inherited"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - $this->checkMessage($message); - - $this->gotoAdmin(); - $group='Shop Suppliers'; - $this->changeAssignedGroup($username,$group); - - $this->jClick('Global Configuration: Permissions'); - $permission="Allowed"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - try { - $this->assertTrue($this->isElementPresent("//form[@id='login-form'][contains(., '$username')]")); - } catch (PHPUnit_Framework_AssertionFailedError $e){ - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->doFrontEndLogout(); - - $this->gotoAdmin(); - $this->jClick('Global Configuration: Permissions'); - $permission="Denied"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - $this->checkMessage($message); - - $this->gotoAdmin(); - $this->jClick('Global Configuration: Permissions'); - $permission="Inherited"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - $this->checkMessage($message); - - $this->gotoAdmin(); - $group='Customer Group'; - $this->changeAssignedGroup($username,$group); - - $this->jClick('Global Configuration: Permissions'); - $permission="Allowed"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - try { - $this->assertTrue($this->isElementPresent("//form[@id='login-form'][contains(., '$username')]")); - } catch (PHPUnit_Framework_AssertionFailedError $e){ - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->doFrontEndLogout(); - - $this->gotoAdmin(); - $this->jClick('Global Configuration: Permissions'); - $permission="Denied"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - $this->checkMessage($message); - - $this->gotoAdmin(); - $this->jClick('Global Configuration: Permissions'); - $permission="Inherited"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->gotoSite(); - $this->doFrontEndLogin($login,$password); - $this->checkMessage($message); - - $this->gotoAdmin(); - $this->deleteTestUsers(); - $this->restoreDefaultGlobalPermissions(); - $this->doAdminLogOut(); - $this->deleteAllVisibleCookies(); - } -} - diff --git a/tests/system/suite/acl/acl0005Test.php b/tests/system/suite/acl/acl0005Test.php deleted file mode 100644 index 900930a2130ee..0000000000000 --- a/tests/system/suite/acl/acl0005Test.php +++ /dev/null @@ -1,428 +0,0 @@ -setUp(); - $this->gotoAdmin(); - $this->doAdminLogin(); - - //Set random salt - $salt = mt_rand(); - - //Set message to be checked - $message='You do not have access to the administrator section of this site.'; - - //Define test user - $username = 'ACL Test User' . $salt; - $password = 'password' . $salt; - $login = 'acltestuser' . $salt; - $email = $login . '@test.com'; - $group = 'Public'; - $this->jPrint ("Create $username and add to $group group.\n"); - $this->createUser($username, $login, $password, $email, $group); - - $this->jPrint ("Removing $username from Registered group.\n"); - $this->changeAssignedGroup($username,$group="Registered"); - - $this->jPrint ("Setting all roles to inherit.\n"); - $actions = array('Site Login', 'Admin Login', 'Configure', 'Access Component', 'Create', 'Delete', 'Edit', 'Edit State'); - $permissions = array('Inherited', 'Inherited', 'Inherited', 'Inherited', 'Inherited', 'Inherited', 'Inherited', 'Inherited'); - $this->setPermissions('Global Configuration', $group, $actions, $permissions); - - $group = 'Public'; - $action="Admin Login"; - $permission="Allowed"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - try { - $this->assertTrue($this->isElementPresent("//li/a[contains(@href, 'option=com_login&task=logout')]")); - } catch (PHPUnit_Framework_AssertionFailedError $e){ - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->doAdminLogout(); - - $this->doAdminLogin(); - $this->gotoAdmin(); - - $permission="Denied"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - $this->checkMessage($message); - - $this->doAdminLogin(); - - $permission="Not Set"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - $this->checkMessage($message); - - $this->doAdminLogin(); - $group='Manager'; - $this->changeAssignedGroup($username,$group); - - $this->gotoAdmin(); - - $permission="Allowed"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - try { - $this->assertTrue($this->isElementPresent("//li/a[contains(@href, 'option=com_login&task=logout')]")); - } catch (PHPUnit_Framework_AssertionFailedError $e){ - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->doAdminLogout(); - - $this->doAdminLogin(); - - $permission="Denied"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - $this->checkMessage($message); - - $this->doAdminLogin(); - - $permission="Inherited"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - $this->checkMessage($message); - - $this->doAdminLogin(); - $group='Administrator'; - $this->changeAssignedGroup($username,$group); - - $this->gotoAdmin(); - - $permission="Allowed"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - try { - $this->assertTrue($this->isElementPresent("//li/a[contains(@href, 'option=com_login&task=logout')]")); - } catch (PHPUnit_Framework_AssertionFailedError $e){ - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->doAdminLogout(); - - $this->doAdminLogin(); - - $permission="Denied"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - $this->checkMessage($message); - - $this->doAdminLogin(); - - $permission="Inherited"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - $this->checkMessage($message); - - $this->doAdminLogin(); - $group='Super Users'; - $this->changeAssignedGroup($username,$group); - - - $permission="Allowed"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - try { - $this->assertTrue($this->isElementPresent("//li/a[contains(@href, 'option=com_login&task=logout')]")); - } catch (PHPUnit_Framework_AssertionFailedError $e){ - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->doAdminLogout(); - - $this->doAdminLogin(); - - $permission="Denied"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->jPrint ("Logging in to front end.\n"); - $this->doAdminLogin($login,$password); - $this->doAdminLogin($login,$password); - try { - $this->assertTrue($this->isElementPresent("//li/a[contains(@href, 'option=com_login&task=logout')]")); - } catch (PHPUnit_Framework_AssertionFailedError $e){ - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->doAdminLogout(); - - $this->doAdminLogin(); - - $permission="Inherited"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - try { - $this->assertTrue($this->isElementPresent("//li/a[contains(@href, 'option=com_login&task=logout')]")); - } catch (PHPUnit_Framework_AssertionFailedError $e){ - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->doAdminLogout(); - - $this->doAdminLogin(); - $group='Super Users'; - $this->changeAssignedGroup($username,$group); - - $group='Administrator'; - $this->changeAssignedGroup($username,$group); - - $group='Manager'; - $this->changeAssignedGroup($username,$group); - - $group='Public'; - $this->changeAssignedGroup($username,$group); - - $group='Registered'; - $this->changeAssignedGroup($username,$group); - - - $permission="Allowed"; - - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - try { - $this->assertTrue($this->isElementPresent("//li/a[contains(@href, 'option=com_login&task=logout')]")); - } catch (PHPUnit_Framework_AssertionFailedError $e){ - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->doAdminLogout(); - - $this->doAdminLogin(); - - $permission="Denied"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - $this->checkMessage($message); - - $this->doAdminLogin(); - - $permission="Inherited"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - $this->checkMessage($message); - - $this->doAdminLogin(); - $group='Author'; - $this->changeAssignedGroup($username,$group); - - - - $permission="Allowed"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - try { - $this->assertTrue($this->isElementPresent("//li/a[contains(@href, 'option=com_login&task=logout')]")); - } catch (PHPUnit_Framework_AssertionFailedError $e){ - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->doAdminLogout(); - - $this->doAdminLogin(); - - $permission="Denied"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - $this->checkMessage($message); - - $this->doAdminLogin(); - - $permission="Inherited"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - $this->checkMessage($message); - - $this->doAdminLogin(); - $group='Editor'; - $this->changeAssignedGroup($username,$group); - - - $permission="Allowed"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - try { - $this->assertTrue($this->isElementPresent("//li/a[contains(@href, 'option=com_login&task=logout')]")); - } catch (PHPUnit_Framework_AssertionFailedError $e){ - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->doAdminLogout(); - - $this->doAdminLogin(); - - $permission="Denied"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - $this->checkMessage($message); - - $this->doAdminLogin(); - - $permission="Inherited"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - $this->checkMessage($message); - - $this->doAdminLogin(); - $group='Publisher'; - $this->changeAssignedGroup($username,$group); - - - $permission="Allowed"; - - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - try { - $this->assertTrue($this->isElementPresent("//li/a[contains(@href, 'option=com_login&task=logout')]")); - } catch (PHPUnit_Framework_AssertionFailedError $e){ - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->doAdminLogout(); - - $this->doAdminLogin(); - - $permission="Denied"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - $this->checkMessage($message); - - $this->doAdminLogin(); - - $permission="Inherited"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - $this->checkMessage($message); - - $this->doAdminLogin(); - $group='Shop Suppliers'; - $this->changeAssignedGroup($username,$group); - - - $permission="Allowed"; - - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - try { - $this->assertTrue($this->isElementPresent("//li/a[contains(@href, 'option=com_login&task=logout')]")); - } catch (PHPUnit_Framework_AssertionFailedError $e){ - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->doAdminLogout(); - - $this->doAdminLogin(); - - $permission="Denied"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - $this->checkMessage($message); - - $this->doAdminLogin(); - - $permission="Inherited"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - $this->checkMessage($message); - - $this->doAdminLogin(); - $group='Customer Group'; - $this->changeAssignedGroup($username,$group); - - - $permission="Allowed"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - try { - $this->assertTrue($this->isElementPresent("//li/a[contains(@href, 'option=com_login&task=logout')]")); - } catch (PHPUnit_Framework_AssertionFailedError $e){ - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->doAdminLogout(); - - $this->doAdminLogin(); - - $permission="Denied"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - $this->checkMessage($message); - - $this->doAdminLogin(); - - $permission="Inherited"; - $this->setPermissions('Global Configuration', $group, $action, $permission); - $this->doAdminLogout(); - - $this->doAdminLogin($login,$password); - $this->checkMessage($message); - - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->deleteTestUsers(); - $this->restoreDefaultGlobalPermissions(); - $this->doAdminLogOut(); - $this->deleteAllVisibleCookies(); - } -} - diff --git a/tests/system/suite/acl/acl0006Test.php b/tests/system/suite/acl/acl0006Test.php deleted file mode 100644 index db27ad04c53d1..0000000000000 --- a/tests/system/suite/acl/acl0006Test.php +++ /dev/null @@ -1,224 +0,0 @@ -setUp(); - $this->gotoAdmin(); - $this->doAdminLogin(); - - //Set random salt - $salt = mt_rand(); - - //Set message to be checked - $message='You do not have access to the administrator section of this site.'; - $groupName = 'ManageTestGroup' . $salt; - $groupParent = 'Manager'; - $this->createGroup($groupName, $groupParent); - - //Add new user to ManageTestGroup Group - $username = 'TestManageUser' . $salt; - $login = 'TestManageUser' . $salt; - $email = $login . '@test.com'; - $group = $groupName; - $this->createUser($username, $login, 'password', $email, $group); - - $this->jPrint ("Set global permissions for ". $groupName." to allowed\n"); - $actions = array('Site Login', 'Admin Login', 'Configure', 'Access Component', 'Create', 'Delete', 'Edit', 'Edit State', 'Edit Own'); - $permissions = array('Inherited', 'Allowed', 'Denied', 'Allowed', 'Allowed', 'Allowed', 'Allowed', 'Allowed', 'Allowed'); - $this->setPermissions('Global Configuration', $group, $actions, $permissions); - $this->doAdminLogout(); - - $this->doAdminLogin($login, 'password'); - $this->jPrint ("Testng access of ". $login.".\n"); - - $this->jPrint ("Testng Banners access of ". $login.".\n"); - $this->click("link=Banners"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-new']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-edit']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-publish']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-unpublish']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-archive']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-checkin']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-trash']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-options']")); - - $this->jPrint ("Testng Contacts access of ". $login.".\n"); - $this->click("link=Control Panel"); - $this->waitForPageToLoad("30000"); - $this->click("link=Contacts"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-new']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-edit']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-publish']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-unpublish']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-archive']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-checkin']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-trash']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-options']")); - - $this->jPrint ("Testng Messaging access of ". $login.".\n"); - $this->click("link=Control Panel"); - $this->waitForPageToLoad("30000"); - $this->click("link=Messaging"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-new']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-publish']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-unpublish']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-trash']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-config']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-options']")); - - $this->jPrint ("Testng Newsfeeds access of ". $login.".\n"); - $this->click("link=Control Panel"); - $this->waitForPageToLoad("30000"); - $this->click("link=Newsfeeds"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-new']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-edit']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-publish']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-unpublish']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-archive']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-trash']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-batch']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-options']")); - - $this->jPrint ("Testng Redirect access of ". $login.".\n"); - $this->click("link=Control Panel"); - $this->waitForPageToLoad("30000"); - $this->click("link=Redirect"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-new']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-edit']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-publish']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-unpublish']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-archive']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-trash']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-options']")); - - $this->jPrint ("Testng weblinks access of ". $login.".\n"); - $this->click("link=Control Panel"); - $this->waitForPageToLoad("30000"); - $this->jClick('Weblinks'); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-new']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-edit']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-publish']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-unpublish']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-archive']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-checkin']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-trash']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-batch']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-options']")); - - $this->doAdminLogout(); - $this->doAdminLogin(); - - $this->jPrint ("Set global permissions for ". $groupName.".\n"); - $actions = array('Site Login', 'Admin Login', 'Configure', 'Access Component', 'Create', 'Delete', 'Edit', 'Edit State', 'Edit Own'); - $permissions = array('Inherited', 'Allowed', 'Denied', 'Allowed', 'Denied', 'Denied', 'Denied', 'Denied', 'Denied'); - $this->setPermissions('Global Configuration', $group, $actions, $permissions); - $this->doAdminLogout(); - $this->doAdminLogin($login, 'password'); - - $this->jPrint ("Testng access of ". $login.".\n"); - - $this->jPrint ("Testng Banners access of ". $login.".\n"); - $this->click("link=Banners"); - $this->waitForPageToLoad("30000"); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-new']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-edit']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-publish']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-unpublish']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-archive']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-checkin']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-trash']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-options']")); - - $this->jPrint ("Testng Contacts access of ". $login.".\n"); - $this->click("link=Control Panel"); - $this->waitForPageToLoad("30000"); - $this->click("link=Contacts"); - $this->waitForPageToLoad("30000"); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-new']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-edit']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-publish']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-unpublish']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-archive']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-checkin']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-trash']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-options']")); - - $this->jPrint ("Testng Messaging access of ". $login.".\n"); - $this->click("link=Control Panel"); - $this->waitForPageToLoad("30000"); - $this->click("link=Messaging"); - $this->waitForPageToLoad("30000"); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-new']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-publish']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-unpublish']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-trash']")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-config']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-options']")); - - $this->jPrint ("Testng Newsfeeds access of ". $login.".\n"); - $this->click("link=Control Panel"); - $this->waitForPageToLoad("30000"); - $this->click("link=Newsfeeds"); - $this->waitForPageToLoad("30000"); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-new']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-edit']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-publish']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-unpublish']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-archive']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-trash']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-options']")); - - $this->jPrint ("Testng Redirect access of ". $login.".\n"); - $this->click("link=Control Panel"); - $this->waitForPageToLoad("30000"); - $this->click("link=Redirect"); - $this->waitForPageToLoad("30000"); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-new']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-edit']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-publish']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-unpublish']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-archive']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-trash']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-options']")); - - $this->jPrint ("Testng weblinks access of ". $login.".\n"); - $this->click("link=Control Panel"); - $this->waitForPageToLoad("30000"); - $this->jClick('Weblinks'); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-new']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-edit']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-publish']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-unpublish']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-archive']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-checkin']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-trash']")); - $this->assertFalse($this->isElementPresent("//div[@id='toolbar-options']")); - - $this->gotoAdmin(); - $this->jPrint ("Log back in as admin and delete user and group\n"); - $this->doAdminLogout(); - $this->doAdminLogin(); - - $this->deleteTestUsers($username); - $this->deleteGroup($groupName); - $this->doAdminLogout(); - } -} -?> \ No newline at end of file diff --git a/tests/system/suite/articles/article0001Test.php b/tests/system/suite/articles/article0001Test.php deleted file mode 100644 index 75cb44f247407..0000000000000 --- a/tests/system/suite/articles/article0001Test.php +++ /dev/null @@ -1,140 +0,0 @@ -setUp(); - $this->jPrint ("Starting testUnpublishArticle.\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - - $this->jPrint ("Go to front end and check that Professionals is shown" . "\n"); - $this->gotoSite(); - $this->assertTrue($this->isTextPresent("Professionals")); - - $this->jPrint ("Go to back end and unpublish" . "\n"); - $this->gotoAdmin(); - $this->click("link=Article Manager"); - $this->waitForPageToLoad("30000"); - $this->type("filter_search", "Professionals"); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - - $this->click("cb0"); - $this->click("//div[@id='toolbar-unpublish']/button"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Go to front end and check that Professionals is not shown" . "\n"); - $this->gotoSite(); - $this->assertFalse($this->isTextPresent("Professionals")); - - $this->jPrint ("Go to back end and publish Professionals" . "\n"); - $this->gotoAdmin(); - $this->click("link=Article Manager"); - $this->waitForPageToLoad("30000"); - - $this->type("filter_search", "Professionals"); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - - $this->click("cb0"); - $this->click("//div[@id='toolbar-publish']/button"); - $this->waitForPageToLoad("30000"); - - $this->gotoAdmin(); - $this->doAdminLogout(); - - $this->deleteAllVisibleCookies(); - } - - function testPublishArticle() - { - $this->setUp(); - $this->jPrint ("Starting testPublishArticle.\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - - $this->jPrint ("Go to back end and unpublish Professionals" . "\n"); - $this->gotoAdmin(); - $this->click("link=Article Manager"); - $this->waitForPageToLoad("30000"); - $this->type("filter_search", "Professionals"); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - - - $this->click("cb0"); - $this->click("//div[@id='toolbar-unpublish']/button"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Go to front end and check that Professionals is not shown" . "\n"); - $this->gotoSite(); - $this->assertFalse($this->isTextPresent("Professionals")); - - $this->jPrint ("Go to back end and publish Professionals" . "\n"); - $this->gotoAdmin(); - $this->click("link=Article Manager"); - $this->waitForPageToLoad("30000"); - - $this->type("filter_search", "Professionals"); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - - $this->click("cb0"); - $this->click("//div[@id='toolbar-publish']/button"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Go to front end and check that Professionals is shown" . "\n"); - $this->gotoSite(); - $this->assertTrue($this->isTextPresent("Professionals")); - $this->gotoAdmin(); - $this->doAdminLogout(); - $this->deleteAllVisibleCookies(); - } - - function testEditPermission() - { - $this->jPrint ("Starting testEditPermission" . "\n"); - $this->jPrint ("Go to front end and login as admin" . "\n"); - $this->gotoSite(); - $this->doFrontEndLogin(); - $this->jPrint ("Go to Home and check that edit icon is visible" . "\n"); - $this->click("link=Home"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//span[contains(@class, 'icon-edit')]")); - $this->jPrint ("Drill to Sample Data article and check that edit icon is visible" . "\n"); - $this->click("link=Home"); - $this->waitForPageToLoad("30000"); - $this->click("link=Sample Sites"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//span[contains(@class, 'icon-edit')]")); - $this->click("link=Home"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Logout of front end." . "\n"); - $this->doFrontEndLogout(); - $this->jPrint ("Go to home and check that edit icon is not visible." . "\n"); - $this->click("link=Home"); - $this->waitForPageToLoad("30000"); - $this->assertFalse($this->isElementPresent("//span[contains(@class, 'icon-edit')]")); - $this->jPrint ("Drill to Sample Data article and check that edit icon is not visible." . "\n"); - $this->click("link=Sample Sites"); - $this->waitForPageToLoad("30000"); - $this->assertFalse($this->isElementPresent("//span[contains(@class, 'icon-edit')]")); - $this->click("link=Home"); - $this->waitForPageToLoad("30000"); - $this->deleteAllVisibleCookies(); - } - -} diff --git a/tests/system/suite/articles/article0002Test.php b/tests/system/suite/articles/article0002Test.php deleted file mode 100644 index 8757037532b88..0000000000000 --- a/tests/system/suite/articles/article0002Test.php +++ /dev/null @@ -1,135 +0,0 @@ -gotoAdmin(); - $this->doAdminLogin(); - $this->setEditor('No Editor'); - $this->doAdminLogout(); - - $this->gotoSite(); - $this->doFrontEndLogin(); - $this->jPrint ("Edit article in front end\n"); - $this->click("//span[contains(@class, 'icon-edit')]"); - $this->waitForPageToLoad("30000"); - $salt = mt_rand(); - $testText="Test text $salt"; - -// Use no editor until tinymce issue fixes -// $this->setTinyText($testText); - $this->type("id=jform_articletext", "

    $testText

    "); - - - $this->jPrint ("Save article\n"); - $this->click("//button[@type='button']"); - $this->waitForPageToLoad("30000"); - try { - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container']//p[contains(text(), 'success')]")); - } catch (PHPUnit_Framework_AssertionFailedError $e) { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - try { - $this->assertTrue($this->isTextPresent($testText)); - } catch (PHPUnit_Framework_AssertionFailedError $e) { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - - $this->jPrint ("Check that new text shows on page\n"); - $this->assertEquals($testText, $this->getText("//div[contains(@class, 'items-leading')]/div[contains(@class, 'leading-0')]//p")); - - $this->jPrint ("Open again for editing in front end\n"); - $this->click("//span[contains(@class, 'icon-edit')]"); - $this->waitForPageToLoad("30000"); - $text="

    Congratulations! You have a Joomla! site! Joomla! makes your site easy to build a website " . - "just the way you want it and keep it simple to update and maintain.

    " . - "

    Joomla! is a flexible and powerful platform, whether you are building a small site " . - "for yourself or a huge site with hundreds of thousands of visitors. ". - "Joomla is open source, which means you can make it work just the way you want it to.

    "; - - // Use no editor until tinymce issue fixes - // $this->setTinyText($text); - $this->type("id=jform_articletext", $text); - - $this->click("//button[@type='button']"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Check for success message\n"); - try { - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container']//p[contains(text(), 'success')]")); - } catch (PHPUnit_Framework_AssertionFailedError $e) { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - try { - $this->assertFalse($this->isTextPresent($testText)); - } catch (PHPUnit_Framework_AssertionFailedError $e) { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->jPrint ("Check that new text shows on page\n"); - $this->assertTrue($this->isElementPresent("//div[contains(@class, 'items-leading')]/div[contains(@class, 'leading-0')]//p[contains(text(), 'Congratulations!')]")); - - - $this->doFrontEndLogout(); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->setEditor('Tiny'); - $this->doAdminLogout(); - - $this->jPrint ("Finishing testEditArticle\n"); - $this->deleteAllVisibleCookies(); - } - - function testEditArticleModals() - { - $this->gotoSite(); - $this->doFrontEndLogin(); - $this->jPrint ("Edit Upgraders article in front end\n"); - $this->click("//h2/a[contains(text(), 'Upgraders')]/../../div/ul/li[@class='edit-icon']/a"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Insert an article link and check that link is added to article.\n"); - $this->click("link=Article"); - $this->waitforElement("//iframe[contains(@src, '&view=articles&layout=modal')]"); - $this->click("link=Archive Module"); - $this->waitforElement("//div[@id='metadata']"); - - $this->assertTrue($this->isElementPresent("//a[contains(text(),'Archive Module')]")); - - $this->jPrint ("Click Article button and close modal\n"); - $this->click("link=Article"); - $this->waitforElement("//iframe[contains(@src, '&view=articles&layout=modal')]"); - $this->click("id=sbox-btn-close"); - sleep(3); - $this->waitforElement("//div[@id='metadata']"); - $this->jPrint ("Check that we are still editing the article.\n"); - $this->assertTrue($this->isElementPresent("//div[@id='metadata']")); - - $this->jPrint ("Click Image button and close modal\n"); - $this->click("link=Image"); - $this->waitforElement("//div/label[contains(text(),'Image URL')]"); - $this->click("//button[@type='button' and @type='button' and @type='button' and @onclick='window.parent.SqueezeBox.close();']"); - $this->waitforElement("//div[@id='metadata']"); - $this->jPrint ("Check that we are still editing the article.\n"); - $this->assertTrue($this->isElementPresent("//div[@id='metadata']")); - - $this->jPrint ("Cancel article edit\n"); - $this->click("//button[contains(@onclick,'article.cancel')]"); - $this->waitForPageToLoad("30000"); - - $this->doFrontEndLogout(); - - $this->jPrint ("Finishing testEditArticleModals\n"); - $this->deleteAllVisibleCookies(); - } - -} - diff --git a/tests/system/suite/articles/article0003Test.php b/tests/system/suite/articles/article0003Test.php deleted file mode 100644 index c3fe0514cba42..0000000000000 --- a/tests/system/suite/articles/article0003Test.php +++ /dev/null @@ -1,505 +0,0 @@ -setUp(); - $this->jPrint ("Starting testArchivedState.\n"); - $this->jPrint ("Go to front end and check Archived Articles.\n"); - $link = $this->cfg->path . 'index.php/using-joomla/extensions/components/content-component/archived-articles'; - $this->gotoSite(); - $this->open($link); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("link=exact:What's New in 1.5?")); - $this->jPrint ("Go to back end and change Joomla category to Archived state.\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->changeState('Joomla!', 'Article Manager', 'Category', 'archive'); - $this->doAdminLogout(); - $this->jPrint ("Go to front end and check that Latest Users and Content are now archived.\n"); - $this->gotoSite(); - $this->open($link); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("link=Latest Users Module")); - $this->assertTrue($this->isElementPresent("link=Content")); - $this->jPrint ("Go to back end and change Joomla category to Published state" . "\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->changeState('Joomla!', 'Article Manager', 'Category', 'publish'); - $this->doAdminLogout(); - $this->jPrint ("Go to front end and check Archived layout\n"); - $this->gotoSite(); - $this->open($link); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("link=exact:What's New in 1.5?")); - $this->assertFalse($this->isElementPresent("link=Latest Users Module")); - $this->jPrint ("Go to back end and change Beginners article to Archived state\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->changeState('Beginners', 'Article Manager', 'Article', 'archive'); - $this->doAdminLogout(); - $this->jPrint ("Go to Archived layout and check that Beginners article now shows\n"); - $this->gotoSite(); - $this->open($link); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("link=Beginners")); - $this->jPrint ("Go to back end and set Beginners back to Published\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->changeState('Beginners', 'Article Manager', 'Article', 'publish'); - $this->doAdminLogout(); - $this->jPrint ("Go to front end and make sure Beginners no longer shows on Archived layout\n"); - $this->gotoSite(); - $this->open($link); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("link=exact:What's New in 1.5?")); - $this->assertFalse($this->isElementPresent("link=Beginners")); - - $this->jPrint ("Finished testArchivedState\n"); - $this->deleteAllVisibleCookies(); - } - - function testSingleArticleState() - { - $this->jPrint ("Starting testSingleArticleState\n"); - $this->jPrint ("Go to Category Manager and set Extensions category to Unpublished\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->changeState('Extensions', 'Article Manager', 'Category', 'unpublish'); - $this->doAdminLogout(); - $this->jPrint ("Go to Site -> Content Components article and check that you get not found notice\n"); - $link = $this->cfg->path . 'index.php/using-joomla/extensions/components/content-component'; - $this->gotoSite(); - // Need 'true' in second argument if you will get a 404 error. Otherwise, test fails. - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("//div[@id='content'][contains(., 'requested page cannot be found')]")); - $this->jPrint ("Log in to Site and check that you now can see Content Component article\n"); - $this->gotoSite(); - $this->doFrontEndLogin(); - $this->gotoSite(); - $this->open($link); - $this->assertTrue($this->isElementPresent("link=Content")); - $this->assertTrue($this->isElementPresent("//li[@class='edit-icon']")); - $this->jPrint ("Log out of site and into back end\n"); - $this->jPrint ("Go to Category Manager and set Extensions back to published\n"); - $this->gotoSite(); - $this->doFrontEndLogout(); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->changeState('Extensions', 'Article Manager', 'Category', 'publish'); - $this->jPrint ("Change Getting Started article to Unpublished\n"); - $this->changeState('Getting Started', 'Article Manager', 'Article', 'unpublish'); - $this->doAdminLogout(); - $this->jPrint ("Go back to site and check that you get notice on Getting Started page\n"); - $this->gotoSite(); - $this->click("link=Getting Started"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//div[@id='content'][contains(., 'requested page cannot be found')]")); - $this->jPrint ("Log in to Site and check that Getting Started is now shown and editable\n"); - $this->gotoSite(); - $this->doFrontEndLogin(); - $this->click("link=Getting Started"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Getting Started")); - $this->assertTrue($this->isElementPresent("//li[@class='edit-icon']")); - $this->jPrint ("Log out of Site\n"); - $this->gotoSite(); - $this->doFrontEndLogout(); - $this->jPrint ("Go to back end and change state of Getting Started to Published\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->changeState('Getting Started', 'Article Manager', 'Article', 'publish'); - $this->jPrint ("Check that Getting Started is again visible\n"); - $this->doAdminLogout(); - $this->gotoSite(); - $this->click("link=Getting Started"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Getting Started")); - $this->jPrint ("Now check that it also works with Archived state\n"); - $this->jPrint ("Goto back end and change article to Archived state\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->changeState('Getting Started', 'Article Manager', 'Article', 'archive'); - $this->doAdminLogout(); - $this->jPrint ("Check that article is still visible\n"); - $this->gotoSite(); - $this->click("link=Getting Started"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Getting Started")); - $this->jPrint ("Change Category to Archived and check \n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->changeState('Sample Data-Articles', 'Article Manager', 'Category', 'archive'); - $this->gotoSite(); - $this->jPrint ("Check that article is still visible\n"); - $this->click("link=Getting Started"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Getting Started")); - $this->jPrint ("Change Category and Article state back to published\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->changeState('Sample Data-Articles', 'Article Manager', 'Category', 'publish'); - $this->changeState('Getting Started', 'Article Manager', 'Article', 'publish'); - $this->doAdminLogout(); - $this->jPrint ("finished testSingleArticleState\n"); - $this->deleteAllVisibleCookies(); - } - - function testFeaturedState() - { - $this->jPrint ("Starting testFeaturedState\n"); - $this->jPrint ("Change Sample Data-Articles category to Unpublished state\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->click("link=Category Manager"); - $this->waitForPageToLoad("30000"); - $this->togglePublished('Sample Data-Articles', 'Category'); - $this->doAdminLogout(); - $this->jPrint ("Check that no articles show on Home page\n"); - $this->gotoSite(); - $this->doFrontEndLogout(); - $this->assertFalse($this->isElementPresent("link=Beginners")); - $this->jPrint ("Log in to Site and check that articles now show as unpublished and editable\n"); - $this->gotoSite(); - $this->doFrontEndLogin(); - $this->assertTrue($this->isElementPresent("link=Joomla!")); - $this->assertTrue($this->isElementPresent("link=Professionals")); - $this->assertTrue($this->isElementPresent("//div[@class='system-unpublished']/h2[contains(., 'Joomla!')]")); - $this->assertTrue($this->isElementPresent("//li[@class='edit-icon']")); - $this->doFrontEndLogout(); - $this->gotoAdmin(); - $this->doAdminLogin(); - - $this->jPrint ("Change Sample Data-Articles category to Archived state\n"); - $this->changeState('Sample Data-Articles', 'Article Manager', 'Category', 'archive'); - $this->doAdminLogout(); - $this->jPrint ("Check that no articles show on Home page\n"); - $this->gotoSite(); - $this->assertFalse($this->isElementPresent("link=Beginners")); - $this->jPrint ("Log in to Site and check that articles now show as unpublished and editable\n"); - $this->gotoSite(); - $this->doFrontEndLogin(); - $this->assertTrue($this->isElementPresent("link=Joomla!")); - $this->assertTrue($this->isElementPresent("link=Professionals")); - $this->assertTrue($this->isElementPresent("//div[@class='system-unpublished']/h2[contains(., 'Joomla!')]")); - $this->assertTrue($this->isElementPresent("//li[@class='edit-icon']")); - $this->doFrontEndLogout(); - $this->gotoAdmin(); - $this->doAdminLogin(); - - $this->jPrint ("Publish Sample Data-Articles Category and Unpublish Beginners article\n"); - $this->changeState('Sample Data-Articles', 'Article Manager', 'Category', 'publish'); - $this->changeState('Beginners', 'Article Manager', 'Article', 'unpublish'); - $this->doAdminLogout(); - $this->jPrint ("Check that Beginners is not shown but that other articles are shown\n"); - $this->gotoSite(); - $this->assertTrue($this->isElementPresent("link=Joomla!")); - $this->assertFalse($this->isElementPresent("link=Beginners")); - $this->jPrint ("Log into Site and Check that Beginners is shown as unpublished\n"); - $this->doFrontEndLogin(); - $this->assertTrue($this->isElementPresent("//div[@class='system-unpublished']/h2[contains(., 'Beginners')]")); - $this->assertTrue($this->isElementPresent("//div[@class='system-unpublished']//a[contains(text(),'Edit')]")); - $this->doFrontEndLogout(); - - $this->jPrint ("Set Beginners article to Archived state\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->changeState('Beginners', 'Article Manager', 'Article', 'archive'); - $this->doAdminLogout(); - $this->jPrint ("Check that Beginners is not shown but that other articles are shown\n"); - $this->gotoSite(); - $this->assertTrue($this->isElementPresent("link=Joomla!")); - $this->assertFalse($this->isElementPresent("link=Beginners")); - $this->jPrint ("Log into Site and Check that Beginners is shown as published\n"); - $this->doFrontEndLogin(); - $this->assertTrue($this->isElementPresent("//div[@class='blog-featured']//a[contains(text(),'Edit')]")); - $this->doFrontEndLogout(); - - $this->jPrint ("Set Beginners article to Trashed state\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->changeState('Beginners', 'Article Manager', 'Article', 'trash'); - $this->doAdminLogout(); - $this->jPrint ("Check that Beginners is not shown but that other articles are shown\n"); - $this->gotoSite(); - $this->assertTrue($this->isElementPresent("link=Joomla!")); - $this->assertFalse($this->isElementPresent("link=Beginners")); - $this->jPrint ("Log into Site and Check that Beginners is shown as published\n"); - $this->doFrontEndLogin(); - $this->assertTrue($this->isElementPresent("//div[@class='blog-featured']//a[contains(text(),'Edit')]")); - $this->doFrontEndLogout(); - - $this->jPrint ("Set Beginners back to Published state\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->changeState('Beginners', 'Article Manager', 'Article', 'publish'); - $this->doAdminLogout(); - $this->jPrint ("Check that Beginners is shown\n"); - $this->gotoSite(); - $this->doFrontEndLogout(); - $this->assertTrue($this->isElementPresent("link=Joomla!")); - $this->assertTrue($this->isElementPresent("link=Beginners")); - $this->jPrint ("Finished testFeaturedState\n"); - - $this->deleteAllVisibleCookies(); - } - - function testAllCategoriesState() - { - $this->jPrint ("Start testAllCategoriesState\n"); - $this->jPrint ("Set Park Site category to Unpublished\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->changeState('Park Site', 'Article Manager', 'Category', 'unpublish'); - $this->doAdminLogout(); - $link = $this->cfg->path . 'index.php/using-joomla/extensions/components/content-component/article-categories'; - $this->gotoSite(); - $this->open($link); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Check that Park Site, Park Blog, and Photo Gallery don't show in Categories layout\n"); - $this->assertFalse($this->isElementPresent("link=Park Site")); - $this->assertFalse($this->isElementPresent("link=Park Blog")); - $this->jPrint ("Check that Joomla!, Extensions, and Fruit Shop Site still show\n"); - $this->assertTrue($this->isElementPresent("link=Joomla!")); - $this->assertTrue($this->isElementPresent("link=Extensions")); - $this->assertTrue($this->isElementPresent("link=Fruit Shop Site")); - $this->jPrint ("Check that Unpublished categories don't show when logged into front end\n"); - $this->gotoSite(); - $this->doFrontEndLogin(); - $this->gotoSite(); - $this->open($link); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Check that Park Site, Park Blog, and Photo Gallery don't show in Categories layout\n"); - $this->assertFalse($this->isElementPresent("link=Park Site")); - $this->assertFalse($this->isElementPresent("link=Park Blog")); - $this->jPrint ("Check that Joomla!, Extensions, and Fruit Shop Site still show\n"); - $this->assertTrue($this->isElementPresent("link=Joomla!")); - $this->assertTrue($this->isElementPresent("link=Extensions")); - $this->assertTrue($this->isElementPresent("link=Fruit Shop Site")); - $this->jPrint ("Set Park Site category to Archived and repeat tests\n"); - $this->gotoSite(); - $this->doFrontEndLogout(); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->changeState('Park Site', 'Article Manager', 'Category', 'archive'); - $this->doAdminLogout(); - $this->gotoSite(); - $this->gotoSite(); - $this->open($link); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Check that Park Site, Park Blog, and Photo Gallery don't show in Categories layout\n"); - $this->assertFalse($this->isElementPresent("link=Park Site")); - $this->assertFalse($this->isElementPresent("link=Park Blog")); - $this->jPrint ("Check that Joomla!, Extensions, and Fruit Shop Site still show\n"); - $this->assertTrue($this->isElementPresent("link=Joomla!")); - $this->assertTrue($this->isElementPresent("link=Extensions")); - $this->assertTrue($this->isElementPresent("link=Fruit Shop Site")); - - $this->jPrint ("Change back to Published\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->changeState('Park Site', 'Article Manager', 'Category', 'publish'); - $this->doAdminLogout(); - $this->jPrint ("Finished testAllCategoriesState\n"); - - $this->deleteAllVisibleCookies(); - } - - function testCategoryBlogState() - { - $this->jPrint ("Starting testCategoryBlogState\n"); - $link = $this->cfg->path . 'index.php/using-joomla/extensions/components/content-component/article-category-blog'; - $this->gotoSite(); - $this->open($link); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Check initial conditions Second Blog Show and First Blog Post\n"); - $this->assertTrue($this->isElementPresent("//div[@class='blog']//h2/a[contains(., 'Second Blog Post')]")); - - $this->jPrint ("Unpublish Park Site category\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->changeState('Park Site', 'Article Manager', 'Category', 'unpublish'); - $this->doAdminLogout(); - $this->gotoSite(); - // Need to add 'true' arguement for open() when you expect a 404 error (otherwise, the test aborts) - $this->open($link, 'true'); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Check that Category not found message shows\n"); - $this->assertTrue($this->isTextPresent("Category not found")); - $this->jPrint ("Log in to site and check that Category not found message still shows\n"); - $this->gotoSite(); - $this->doFrontEndLogin(); - $this->open($link, 'true'); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Category not found")); - $this->gotoSite(); - $this->doFrontEndLogout(); - - $this->jPrint ("Change Park Site category to archived status and check that Category not found still shows \n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->changeState('Park Site', 'Article Manager', 'Category', 'archive'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Category not found")); - - $this->jPrint ("Change Park Blog category back to published\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->changeState('Park Site', 'Article Manager', 'Category', 'publish'); - - $this->jPrint ("Change First Blog Post to Unpublished and check that it doesn't show\n"); - $this->changeState('First Blog', 'Article Manager', 'Article', 'unpublish'); - $this->doAdminLogout(); - $this->gotoSite(); - $this->open($link); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("link=Second Blog Post")); - $this->assertFalse($this->isElementPresent("link=First Blog Post")); - - $this->jPrint ("Log into site and check that First Blog Post shows as Unpublished\n"); - $this->gotoSite(); - $this->doFrontEndLogin(); - $this->open($link); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("link=Second Blog Post")); - $this->assertTrue($this->isElementPresent("link=First Blog Post")); - $this->assertTrue($this->isElementPresent("//div[contains(@class, 'system-unpublished')]//h2[contains(., 'First Blog')]")); - - $this->jPrint ("Change First Blog state to Archived\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->changeState('First Blog', 'Article Manager', 'Article', 'archive'); - - $this->jPrint ("Check that First Blog Post now shows as published when logged in\n"); - $this->doAdminLogout(); - $this->gotoSite(); - $this->doFrontEndLogin(); - $this->open($link); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("link=Second Blog Post")); - $this->assertTrue($this->isElementPresent("link=First Blog Post")); - $this->assertFalse($this->isElementPresent("//div[@class='system-unpublished']//h2[contains(., 'First Blog')]")); - - $this->jPrint ("Log out of Front End\n"); - $this->gotoSite(); - $this->doFrontEndLogout(); - - $this->jPrint ("Log into back end and change First Blog Post back to published\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->changeState('First Blog', 'Article Manager', 'Article', 'publish'); - - $this->jPrint ("Finished testCategoryBlogState\n"); - - $this->deleteAllVisibleCookies(); - } - - function testCategoryListState() - { - $this->jPrint ("Starting testCategoryListState\n"); - $link = $this->cfg->path . 'index.php/using-joomla/extensions/components/content-component/article-category-list'; - $this->gotoSite(); - $this->open($link); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Check initial conditions for list\n"); - $this->assertStringEndsWith("Beginners", $this->getText("//tbody/tr[1]/td/a")); - $this->assertStringEndsWith("Getting Help", $this->getText("//tbody/tr[2]/td/a")); - - $this->jPrint ("Unpublish Joomla! category\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->changeState('Joomla!', 'Article Manager', 'Category', 'unpublish'); - $this->doAdminLogout(); - $this->gotoSite(); - $this->open($link, 'true'); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Check that Category not found message shows\n"); - $this->assertTrue($this->isTextPresent("Category not found")); - $this->jPrint ("Log in to site and check that Category not found message still shows\n"); - $this->gotoSite(); - $this->doFrontEndLogin(); - $this->open($link, 'true'); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Category not found")); - $this->gotoSite(); - $this->doFrontEndLogout(); - - $this->jPrint ("Change Joomla! category to archived status and check that Category not found still shows \n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->changeState('Joomla!', 'Article Manager', 'Category', 'archive'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Check that Category not found message shows\n"); - $this->assertTrue($this->isTextPresent("Category not found")); - - $this->jPrint ("Change Joomla! category back to published\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->changeState('Joomla!', 'Article Manager', 'Category', 'publish'); - - $this->jPrint ("Change Getting Help article to Unpublished and check that it doesn't show\n"); - $this->changeState('Getting Help', 'Article Manager', 'Article', 'unpublish'); - $this->doAdminLogout(); - $this->gotoSite(); - $this->open($link); - $this->waitForPageToLoad("30000"); - $this->assertStringEndsWith("Beginners", $this->getText("//tbody/tr[1]/td/a")); - $this->assertStringEndsWith("Getting Started", $this->getText("//tbody/tr[2]/td/a")); - - $this->jPrint ("Log into site and check that Getting Help shows as Unpublished\n"); - $this->gotoSite(); - $this->doFrontEndLogin(); - $this->open($link); - $this->waitForPageToLoad("30000"); - $this->assertStringEndsWith("Beginners", $this->getText("//tbody/tr[1]/td/a")); - - $this->assertStringEndsWith("Getting Help", $this->getText("//tbody/tr[2]/td/a")); - $this->assertTrue($this->isElementPresent("//div[@class='category-list']//a[contains(text(), 'Getting Help')]/../span[contains(text(), 'Unpublished')]")); - - $this->jPrint ("Change Getting Help state to Archived\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->changeState('Getting Help', 'Article Manager', 'Article', 'archive'); - - $this->jPrint ("Check that Getting Help now shows as published when logged in\n"); - $this->doAdminLogout(); - $this->gotoSite(); - $this->doFrontEndLogin(); - $this->open($link); - $this->waitForPageToLoad("30000"); - $this->assertStringEndsWith("Beginners", $this->getText("//tbody/tr[1]/td/a")); - - $this->assertStringEndsWith("Getting Help", $this->getText("//tbody/tr[2]/td/a")); - - $this->jPrint ("Log out of Front End\n"); - $this->gotoSite(); - $this->doFrontEndLogout(); - - $this->jPrint ("Log into back end and change Getting Help back to published\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->changeState('Getting Help', 'Article Manager', 'Article', 'publish'); - $this->doAdminLogout(); - - $this->jPrint ("Finished testCategoryListState\n"); - - $this->deleteAllVisibleCookies(); - } - -} diff --git a/tests/system/suite/articles/article0004Test.php b/tests/system/suite/articles/article0004Test.php deleted file mode 100644 index 2f4a89098bc8d..0000000000000 --- a/tests/system/suite/articles/article0004Test.php +++ /dev/null @@ -1,196 +0,0 @@ -jPrint ("Starting testBatchAcessLevels\n"); - $this->setUp(); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->click("link=Article Manager"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Check that first three articles are Public Access Level\n"); - $this->assertEquals("Public", $this->getTable("//form[@id='adminForm']//table.1.4")); - $this->assertEquals("Public", $this->getTable("//form[@id='adminForm']//table.2.4")); - $this->assertEquals("Public", $this->getTable("//form[@id='adminForm']//table.3.4")); - $this->jPrint ("Select first three articles\n"); - $this->click("cb0"); - $this->click("cb1"); - $this->click("cb2"); - $this->jPrint ("Batch change to Special access\n"); - $this->select("batch-access", "label=Special"); - $this->click("//button[@type='submit' and @onclick=\"Joomla.submitbutton('article.batch');\"]"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Check for success message\n"); - $this->assertTrue($this->isElementPresent("//div[@id=\"system-message-container\"][contains(., 'success')]")); - - $this->jPrint ("Check that first three articles are Special Access Level\n"); - $this->assertEquals("Special", $this->getTable("//form[@id='adminForm']//table.1.4")); - $this->assertEquals("Special", $this->getTable("//form[@id='adminForm']//table.2.4")); - $this->assertEquals("Special", $this->getTable("//form[@id='adminForm']//table.3.4")); - $this->jPrint ("Change back to Public and check\n"); - $this->click("cb0"); - $this->click("cb1"); - $this->click("cb2"); - $this->select("batch-access", "label=Public"); - $this->click("//button[@type='submit' and @onclick=\"Joomla.submitbutton('article.batch');\"]"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Check for success message\n"); - $this->assertTrue($this->isElementPresent("//div[@id=\"system-message-container\"][contains(., 'success')]")); - $this->assertEquals("Public", $this->getTable("//form[@id='adminForm']//table.1.4")); - $this->assertEquals("Public", $this->getTable("//form[@id='adminForm']//table.2.4")); - $this->assertEquals("Public", $this->getTable("//form[@id='adminForm']//table.3.4")); - - $this->jPrint ("Finished testBatchAcessLevels\n"); - - $this->deleteAllVisibleCookies(); - } - - function testBatchCopy() - { - $this->jPrint ("Starting testBatchCopy\n"); - $this->setUp(); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->click("link=Article Manager"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Check that first three articles are as expected\n"); - $this->assertStringStartsWith('Administrator Components', $this->getTable("//form[@id='adminForm']//table.1.3")); - $this->assertStringStartsWith('Archive Module', $this->getTable("//form[@id='adminForm']//table.2.3")); - $this->assertStringStartsWith('Article Categories Module', $this->getTable("//form[@id='adminForm']//table.3.3")); - $this->jPrint ("Select first three articles and batch copy to Park Site\n"); - $this->click("cb0"); - $this->click("cb1"); - $this->click("cb2"); - $this->select("batch-category-id", "label=- Park Site"); - $this->click("batch[move_copy]c"); - $this->click("//button[@type='submit' and @onclick=\"Joomla.submitbutton('article.batch');\"]"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Check for success message\n"); - $this->assertTrue($this->isElementPresent("//div[@id=\"system-message-container\"][contains(., 'success')]")); - $this->jPrint ("Check that new articles are in Park Site category\n"); - $this->select("filter_category_id", "label=- Park Site"); - $this->waitForPageToLoad("30000"); - $this->assertStringStartsWith('Administrator Components', $this->getTable("//form[@id='adminForm']//table.1.3")); - $this->assertStringStartsWith('Archive Module', $this->getTable("//form[@id='adminForm']//table.2.3")); - $this->assertStringStartsWith('Article Categories Module', $this->getTable("//form[@id='adminForm']//table.3.3")); - $this->jPrint ("Trash and delete new articles\n"); - $this->click("cb0"); - $this->click("cb1"); - $this->click("cb2"); - $this->click("//div[@id='toolbar-trash']/button"); - $this->waitForPageToLoad("30000"); - $this->select("filter_published", "label=Trashed"); - $this->waitForPageToLoad("30000"); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-delete']/button"); - $this->waitForPageToLoad("30000"); - $this->select("filter_published", "label=- Select Status -"); - $this->waitForPageToLoad("30000"); - $this->select("filter_category_id", "label=- Select Category -"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Check that first three articles are as expected\n"); - $this->assertStringStartsWith('Administrator Components', $this->getTable("//form[@id='adminForm']//table.1.3")); - $this->assertStringStartsWith('Archive Module', $this->getTable("//form[@id='adminForm']//table.2.3")); - $this->assertStringStartsWith('Article Categories Module', $this->getTable("//form[@id='adminForm']//table.3.3")); - - $this->jPrint ("Test copying to same category\n"); - $this->jPrint ("Select first article and copy to Components\n"); - $this->assertStringStartsWith('Administrator Components', $this->getTable("//form[@id='adminForm']//table.1.3")); - $this->click("cb0"); - $this->click("batch[move_copy]c"); - $this->select("batch-category-id", "label=- - - Components"); - $this->click("//button[@type='submit' and @onclick=\"Joomla.submitbutton('article.batch');\"]"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Check for success message\n"); - $this->assertTrue($this->isElementPresent("//div[@id=\"system-message-container\"][contains(., 'success')]")); - $this->jPrint ("Check that new article is created with correct name and alias\n"); - $this->assertStringStartsWith('Administrator Components', $this->getTable("//form[@id='adminForm']//table.2.3")); - $this->jPrint ("Trash and delete new article\n"); - $this->click("cb1"); - $this->click("//div[@id='toolbar-trash']/button"); - $this->waitForPageToLoad("30000"); - $this->select("filter_published", "label=Trashed"); - $this->waitForPageToLoad("30000"); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-delete']/button"); - $this->waitForPageToLoad("30000"); - $this->select("filter_published", "label=- Select Status -"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Finished testBatchCopy\n"); - - $this->deleteAllVisibleCookies(); - } - - function testBatchMove() - { - $this->jPrint ("Starting testBatchMove\n"); - $this->setUp(); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->click("link=Article Manager"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Check initial values for articles\n"); - $this->assertStringStartsWith('Archive Module', $this->getTable("//form[@id='adminForm']//table.2.3")); - $this->assertStringStartsWith('Article Categories Module', $this->getTable("//form[@id='adminForm']//table.3.3")); - $this->assertStringStartsWith('Articles Category Module', $this->getTable("//form[@id='adminForm']//table.4.3")); - $this->assertTrue(strpos($this->getTable("//form[@id='adminForm']//table.2.3"), 'Category: Content Modules') > 0); - $this->assertTrue(strpos($this->getTable("//form[@id='adminForm']//table.3.3"), 'Category: Content Modules') > 0); - $this->assertTrue(strpos($this->getTable("//form[@id='adminForm']//table.4.3"), 'Category: Content Modules') > 0); - $this->jPrint ("Move Archive Module, Content Modules, Article Categories Module to Languages Category\n"); - $this->click("cb1"); - $this->click("cb2"); - $this->click("cb3"); - $this->select("batch-category-id", "label=- - - Languages"); - $this->click("//button[@type='submit' and @onclick=\"Joomla.submitbutton('article.batch');\"]"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Check for success message\n"); - $this->assertTrue($this->isElementPresent("//div[@id=\"system-message-container\"][contains(., 'success')]")); - $this->jPrint ("Check that articles moved to new category\n"); - $this->assertStringStartsWith('Archive Module', $this->getTable("//form[@id='adminForm']//table.2.3")); - $this->assertStringStartsWith('Article Categories Module', $this->getTable("//form[@id='adminForm']//table.3.3")); - $this->assertStringStartsWith('Articles Category Module', $this->getTable("//form[@id='adminForm']//table.4.3")); - $this->assertTrue(strpos($this->getTable("//form[@id='adminForm']//table.2.3"), 'Category: Languages') > 0); - - $this->assertTrue(strpos($this->getTable("//form[@id='adminForm']//table.3.3"), 'Category: Languages') > 0); - - $this->assertTrue(strpos($this->getTable("//form[@id='adminForm']//table.4.3"), 'Category: Languages') > 0); - $this->jPrint ("Move articles back to original category\n"); - $this->click("cb1"); - $this->click("cb2"); - $this->click("cb3"); - $this->select("batch-category-id", "label=- - - - Content Modules"); - $this->click("//button[@type='submit' and @onclick=\"Joomla.submitbutton('article.batch');\"]"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Check for success message\n"); - $this->assertTrue($this->isElementPresent("//div[@id=\"system-message-container\"][contains(., 'success')]")); - $this->jPrint ("Check that articles are back to original category\n"); - $this->assertStringStartsWith('Archive Module', $this->getTable("//form[@id='adminForm']//table.2.3")); - $this->assertStringStartsWith('Article Categories Module', $this->getTable("//form[@id='adminForm']//table.3.3")); - $this->assertStringStartsWith('Articles Category Module', $this->getTable("//form[@id='adminForm']//table.4.3")); - $this->assertTrue(strpos($this->getTable("//form[@id='adminForm']//table.2.3"), 'Category: Content Modules') > 0); - $this->assertTrue(strpos($this->getTable("//form[@id='adminForm']//table.3.3"), 'Category: Content Modules') > 0); - $this->assertTrue(strpos($this->getTable("//form[@id='adminForm']//table.4.3"), 'Category: Content Modules') > 0); - - $this->jPrint ("Finished testBatchMove\n"); - - $this->deleteAllVisibleCookies(); - - } - - -} diff --git a/tests/system/suite/articles/featured0001Test.php b/tests/system/suite/articles/featured0001Test.php deleted file mode 100644 index 4733a37744cfa..0000000000000 --- a/tests/system/suite/articles/featured0001Test.php +++ /dev/null @@ -1,126 +0,0 @@ -setUp(); - $this->jPrint ("Starting testFeaturedOrder.\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - - $this->jPrint ("Change global param to no category order\n"); - $this->click("link=Article Manager"); - $this->waitForPageToLoad("30000"); - $this->click("//div[@id='toolbar-options']/button"); - $this->waitForPageToLoad("30000"); - $this->click("//a[contains(@href, 'shared')]"); - $this->select("jform_orderby_pri", "value=none"); - $this->click("//button[contains(@onclick, 'component.save')]"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Reverse the article order on the front page\n"); - $this->setDefaultTemplate('Hathor'); - $this->doAdminLogin(); - $this->click("link=Featured Articles"); - $this->waitForPageToLoad("30000"); - $this->click("link=Ordering"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//i[@class='icon-downarrow']")); - $this->type("//input[@name='order[]' and @value='1']", "4"); - $this->type("//input[@name='order[]' and @value='2']", "3"); - $this->type("//input[@name='order[]' and @value='3']", "2"); - $this->type("//input[@name='order[]' and @value='4']", "1"); - $this->click("//a[contains(@href, 'saveorder')]"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container']//p[contains(text(), 'success')]")); - - $this->jPrint ("Go to front page and check article order\n"); - $this->gotoSite(); - $this->assertEquals("Professionals", $this->getText("//div[contains(@class, 'leading-0')]/h2"), "Professionals article should be intro"); - $this->assertTrue((bool) preg_match("/^[\s\S]*Upgraders[\s\S]*Beginners[\s\S]*Joomla![\s\S]*$/", $this->getText( - "//div[contains(@class, 'items-row')]")), "Order in columns should be Upgrader, Beginners, Joomla!"); - - $this->jPrint ("Go to back end and change order back to original\n"); - $this->gotoAdmin(); - $this->click("link=Featured Articles"); - $this->waitForPageToLoad("30000"); - $this->type("//input[@name='order[]' and @value='1']", "4"); - $this->type("//input[@name='order[]' and @value='2']", "3"); - $this->type("//input[@name='order[]' and @value='3']", "2"); - $this->type("//input[@name='order[]' and @value='4']", "1"); - $this->click("//a[contains(@href, 'saveorder')]"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Check that the save order was successful\n"); - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container']//p[contains(text(), 'success')]")); - - $this->jPrint ("Go to site and check that the articles are in original order.\n"); - $this->gotoSite(); - $this->assertEquals("Joomla!", $this->getText("//div[contains(@class, 'leading-0')]/h2"), "Joomla! should be intro article"); - $this->assertTrue((bool) preg_match("/^[\s\S]*Beginners[\s\S]*Upgraders[\s\S]*Professionals[\s\S]*$/", $this->getText( - "//div[contains(@class, 'items-row')]")), "Articles should be Beginners, Upgraders, Professionals"); - - $this->jPrint ("Go back to back end and change menu item to sort by alpha\n"); - $this->setDefaultTemplate('isis'); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->click("link=Menus"); - $this->click("link=Main Menu"); - $this->waitForPageToLoad("30000"); - $this->click("//td/a[contains(., 'Home')]"); - $this->waitForPageToLoad("30000"); - $this->click("//li/a[contains(text(), 'Advanced Options')]"); - $this->select("jform_params_orderby_sec", "value=alpha"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Goto front page and check alpha article order \n"); - $this->gotoSite(); - $this->assertEquals("Beginners", $this->getText("//div[contains(@class, 'leading-0')]/h2"), "Beginners should be intro article"); - $this->assertEquals("Joomla!", $this->getText("//div[contains(@class, 'item column-1')]/h2"), "Joomla! should be col 1"); - $this->assertEquals("Professionals", $this->getText("//div[contains(@class, 'item column-2')]/h2"), "Professionals should be col 2"); - $this->assertEquals("Upgraders", $this->getText("//div[contains(@class, 'item column-3')]/h2"), "Upgrades should be col 3"); - $this->assertTrue((bool) preg_match("/^[\s\S]*Joomla![\s\S]*Professionals[\s\S]*Upgraders[\s\S]*$/", $this->getText( - "//div[contains(@class, 'items-row')]")), "Articles should be Joomla!, Professionals, Upgraders"); - - $this->jPrint ("Go back to back end and change parameters back.\n"); - $this->gotoAdmin(); - $this->click("link=Menus"); - $this->click("link=Main Menu"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Edit the Home Menu Item to change sorting back\n"); - $this->click("//td/a[contains(., 'Home')]"); - $this->waitForPageToLoad("30000"); - $this->click("//li/a[contains(text(), 'Advanced Options')]"); - $this->select("jform_params_orderby_sec", "value=front"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - $this->click("link=Article Manager"); - $this->waitForPageToLoad("30000"); - $this->click("//div[@id='toolbar-options']/button"); - $this->waitForPageToLoad("30000"); - $this->click("//a[contains(@href, 'shared')]"); - $this->select("jform_orderby_pri", "value=order"); - $this->click("//button[contains(@onclick, 'component.save')]"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Done with featured0001Test\n"); - $this->click("link=Control Panel"); - $this->waitForPageToLoad("30000"); - $this->doAdminLogout(); - $this->deleteAllVisibleCookies(); - } - -} diff --git a/tests/system/suite/articles/featured0002Test.php b/tests/system/suite/articles/featured0002Test.php deleted file mode 100644 index 7a24dd7aac8b7..0000000000000 --- a/tests/system/suite/articles/featured0002Test.php +++ /dev/null @@ -1,107 +0,0 @@ -setUp(); - $this->jPrint ("Starting testOrderDown.\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - - $this->click("link=Main Menu"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Open Home menu item and change to 0 leading, 7 intro, alpha sort.\n"); - $this->click("//td/a[contains(., 'Home')]"); - $this->waitForPageToLoad("30000"); - $this->click("//li/a[contains(text(), 'Advanced Options')]"); - $this->type("jform_params_num_leading_articles", "0"); - $this->type("jform_params_num_intro_articles", "7"); - $this->select("jform_params_multi_column_order", "value=0"); // multi-column down - $this->select("jform_params_orderby_pri", "value=none"); - $this->select("jform_params_orderby_sec", "value=alpha"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Select featured articles in article manager.\n"); - $this->click("link=Article Manager"); - $this->waitForPageToLoad("30000"); - $this->toggleFeatured('Administrator Components'); - $this->toggleFeatured('Archive Module'); - $this->toggleFeatured('Article Categories Module'); - $this->toggleFeatured('Articles Category Module'); - - $this->jPrint ("Go to front page and check that articles are in desired order.\n"); - $this->gotoSite(); - $this->assertEquals("Administrator Components", $this->getText("//div[contains(@class, 'items-row cols-3 row-0')]/div[contains(@class, 'item column-1')]/h2"), "Admin Comp should be r0c1"); - $this->assertEquals("Archive Module", $this->getText("//div[contains(@class, 'items-row cols-3 row-1')]/div[contains(@class, 'item column-1')]/h2"), "Archive should be r1c1"); - $this->assertEquals("Article Categories Module", $this->getText("//div[contains(@class, 'items-row cols-3 row-2')]/div[contains(@class, 'item column-1')]/h2"), "Article Categories should be r2c1"); - $this->assertEquals("Articles Category Module", $this->getText("//div[contains(@class, 'items-row cols-3 row-0')]/div[contains(@class, 'item column-2')]/h2"), "Articles Modules should be r0c2"); - $this->assertEquals("Beginners", $this->getText("//div[contains(@class, 'items-row cols-3 row-1')]/div[contains(@class, 'item column-2')]/h2"), "Joomla! should be r1c2"); - $this->assertEquals("Joomla!", $this->getText("//div[contains(@class, 'items-row cols-3 row-0')]/div[contains(@class, 'item column-3')]/h2"), "Beginners should be r0c3"); - $this->assertEquals("Professionals", $this->getText("//div[contains(@class, 'items-row cols-3 row-1')]/div[contains(@class, 'item column-3')]/h2"), "Professionals should be r1c3"); - $this->jPrint ("Go to admin and change sort to reverse alpha.\n"); - $this->gotoAdmin(); - $this->click("link=Main Menu"); - $this->waitForPageToLoad("30000"); - $this->click("//td/a[contains(., 'Home')]"); - $this->waitForPageToLoad("30000"); - $this->click("//li/a[contains(text(), 'Advanced Options')]"); - $this->select("jform_params_orderby_sec", "label=Title Reverse Alphabetical"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Go to front page and check article order.\n"); - $this->gotoSite(); - $this->assertEquals("Upgraders", $this->getText("//div[contains(@class, 'items-row cols-3 row-0')]/div[contains(@class, 'item column-1')]/h2")); - $this->assertEquals("Professionals", $this->getText("//div[contains(@class, 'items-row cols-3 row-1')]/div[contains(@class, 'item column-1')]/h2")); - $this->assertEquals("Joomla!", $this->getText("//div[contains(@class, 'items-row cols-3 row-2')]/div[contains(@class, 'item column-1')]/h2")); - $this->assertEquals("Beginners", $this->getText("//div[contains(@class, 'items-row cols-3 row-0')]/div[contains(@class, 'item column-2')]/h2")); - $this->assertEquals("Articles Category Module", $this->getText("//div[contains(@class, 'items-row cols-3 row-1')]/div[contains(@class, 'item column-2')]/h2")); - $this->assertEquals("Article Categories Module", $this->getText("//div[contains(@class, 'items-row cols-3 row-0')]/div[contains(@class, 'item column-3')]/h2")); - $this->assertEquals("Archive Module", $this->getText("//div[contains(@class, 'items-row cols-3 row-1')]/div[contains(@class, 'item column-3')]/h2")); - $this->gotoAdmin(); - $this->jPrint ("Go back to article manager and unselect featured articles.\n"); - $this->click("link=Article Manager"); - $this->waitForPageToLoad("30000"); - $this->toggleFeatured('Administrator Components'); - $this->toggleFeatured('Archive Module'); - $this->toggleFeatured('Article Categories Module'); - $this->toggleFeatured('Articles Category Module'); - $this->jPrint ("Change Home menu item params back to original values.\n"); - $this->click("link=Main Menu"); - $this->waitForPageToLoad("30000"); - $this->click("//td/a[contains(., 'Home')]"); - $this->waitForPageToLoad("30000"); - $this->click("//li/a[contains(text(), 'Advanced Options')]"); - $this->type("jform_params_num_leading_articles", "1"); - $this->type("jform_params_num_intro_articles", "3"); - $this->select("jform_params_multi_column_order", "label=Across"); - $this->select("jform_params_orderby_pri", "label=Use Global"); - $this->select("jform_params_orderby_sec", "label=Featured Articles Order"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Go back to site and make sure original articles are in right positions.\n"); - $this->gotoSite(); - $this->assertEquals("Beginners", $this->getText("//div[contains(@class, 'items-row cols-3 row-0')]/div[contains(@class, 'item column-1')]/h2")); - $this->assertEquals("Upgraders", $this->getText("//div[contains(@class, 'items-row cols-3 row-0')]/div[contains(@class, 'item column-2')]/h2")); - $this->assertEquals("Professionals", $this->getText("//div[contains(@class, 'items-row cols-3 row-0')]/div[contains(@class, 'item column-3')]/h2")); - $this->jPrint ("Go back to back end and log out.\n"); - $this->gotoAdmin(); - $this->doAdminLogout(); - $this->jPrint ("Done with featured0002Test\n"); - $this->deleteAllVisibleCookies(); - } - -} diff --git a/tests/system/suite/cache/cache0001Test.php b/tests/system/suite/cache/cache0001Test.php deleted file mode 100644 index 30f8b659bab91..0000000000000 --- a/tests/system/suite/cache/cache0001Test.php +++ /dev/null @@ -1,420 +0,0 @@ -setUp(); - $this->jPrint ("Starting testContentCache.\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->jPrint ("Set caching to progressive.\n"); - $this->setCache('on-full'); - - $this->jPrint ("Test Single article.\n"); - $this->jPrint ("Show the Australian Parks article layout in front end\n"); - $link = $this->cfg->path . 'index.php/using-joomla/extensions/components/content-component/single-article'; - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("link=Australian Parks")); - $this->jPrint ("Unpublish Australian Parks article and check that it no longer shows\n"); - $this->changeState('Australian Parks', 'Article Manager', 'Article', 'unpublish'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("//div[@id='content'][contains(., 'requested page cannot be found')]")); - $this->jPrint ("Publish Australian Parks article and check that it again shows\n"); - $this->gotoAdmin(); - $this->changeState('Australian Parks', 'Article Manager', 'Article', 'publish'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("link=Australian Parks")); - - $this->jPrint ("Test Article Categories \n"); - $link = $this->cfg->path . 'index.php/using-joomla/extensions/components/content-component/article-categories'; - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("link=Content Modules")); - $this->jPrint ("Unpublish Content Modules and check that it is no longer shown\n"); - $this->gotoAdmin(); - $this->changeState('Content Modules', 'Article Manager', 'Category', 'unpublish'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertFalse($this->isElementPresent("link=Content Modules")); - $this->jPrint ("Republish Content Modules and make sure it is shown\n"); - $this->changeState('Content Modules', 'Article Manager', 'Category', 'publish'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("link=Content Modules")); - - - $this->jPrint ("Test Article Category List\n"); - $link = $this->cfg->path . 'index.php/using-joomla/extensions/components/content-component/article-category-blog'; - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("link=*First Blog Post*")); - $this->jPrint ("Change First Blog Post to different category and check that it is no longer shown\n"); - $this->gotoAdmin(); - $this->changeCategory('First Blog Post', 'Article Manager', 'Park Site'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertFalse($this->isElementPresent("link=*First Blog Post*")); - $this->jPrint ("Change First Blog Post back to Park Blog and make sure it is shown\n"); - $this->changeCategory('First Blog Post', 'Article Manager', 'Park Blog'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("link=*First Blog Post*")); - - $this->jPrint ("Test Article Category List\n"); - $link = $this->cfg->path . 'index.php/using-joomla/extensions/components/content-component/article-category-list'; - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("//td[@class='list-title'][contains(.,'Professionals')]")); - $this->jPrint ("Change Professionals to different category and check that it is no longer shown\n"); - $this->gotoAdmin(); - $this->changeCategory('Professionals', 'Article Manager', 'Uncategorised'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertFalse($this->isElementPresent("//td[@class='list-title'][contains(.,'Professionals')]")); - $this->jPrint ("Change Professionals back to Joomla! and make sure it is shown\n"); - $this->changeCategory('Professionals', 'Article Manager', 'Joomla!'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("//td[@class='list-title'][contains(.,'Professionals')]")); - - $this->jPrint ("Test Article Featured\n"); - $link = $this->cfg->path . 'index.php/using-joomla/extensions/components/content-component/featured-articles'; - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("//div[@class='blog-featured']//h2[contains(., 'Beginners')]")); - - $this->jPrint ("Set Beginners to not be featured and check that it is no longer shown\n"); - $this->gotoAdmin(); - $this->click("link=Article Manager"); - $this->waitForPageToLoad("30000"); - $this->type("filter_search", "Beginners"); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Open Beginners for editing and change Featured to no\n"); - $this->click("link=Beginners"); - $this->waitForPageToLoad("30000"); - $this->select("jform_featured", "label=No"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertFalse($this->isElementPresent("//div[@class='blog-featured']//h2[contains(., 'Beginners')]")); - $this->jPrint ("Set it back to Featured and make sure it is shown\n"); - $this->gotoAdmin(); - $this->click("link=Article Manager"); - $this->waitForPageToLoad("30000"); - $this->type("filter_search", "Beginners"); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Open Beginners for editing and change Featured to yes\n"); - $this->click("link=Beginners"); - $this->waitForPageToLoad("30000"); - $this->select("jform_featured", "label=Yes"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("//div[@class='blog-featured']//h2[contains(., 'Beginners')]")); - - $this->jPrint ("Test Archived Articles \n"); - $link = $this->cfg->path . 'index.php/using-joomla/extensions/components/content-component/archived-articles'; - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("//div[@id='archive-items']//h2/a[contains(., 'New in 1.5')]")); - $this->assertFalse($this->isElementPresent("//div[@id='archive-items']//h2/a[contains(., 'Australian Parks')]")); - $this->jPrint ("Archive Australian Parks article and check that it is now shown on archive layout\n"); - $this->gotoAdmin(); - $this->changeState('Australian Parks', 'Article Manager', 'Article', 'archive'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("//div[@id='archive-items']//h2/a[contains(., \"What's New\")]")); - $this->assertTrue($this->isElementPresent("//div[@id='archive-items']//h2/a[contains(., 'Australian Parks')]")); - $this->jPrint ("Republish Australian Parks article and make sure it is no longer shown on archive layout\n"); - $this->changeState('Australian Parks', 'Article Manager', 'Article', 'publish'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("//div[@id='archive-items']//h2/a[contains(., \"What's New\")]")); - $this->assertFalse($this->isElementPresent("//div[@id='archive-items']//h2/a[contains(., 'Australian Parks')]")); - - $this->gotoAdmin(); - $this->doAdminLogout(); - } - - function testContactCache() - { - $this->setUp(); - $this->jPrint ("Starting testContactCache.\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->jPrint ("Set caching to progressive.\n"); - $this->setCache('on-full'); - - $this->jPrint ("Check caching for Contact Categories\n"); - $link = $this->cfg->path . 'index.php/using-joomla/extensions/components/contact-component/contact-categories'; - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("link=Shop Site")); - $this->assertTrue($this->isElementPresent("link=Fruit Encyclopedia")); - $this->jPrint ("Unpublish Fruit Encyclopedia and check that it is not shown\n"); - $this->gotoAdmin(); - $this->changeState('Fruit Encyclopedia', 'Contacts', 'Category', 'unpublish'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("link=Shop Site")); - $this->assertFalse($this->isElementPresent("link=Fruit Encyclopedia")); - $this->jPrint ("Publish Fruit Encyclopedia and check that it is now shown\n"); - $this->changeState('Fruit Encyclopedia', 'Contacts', 'Category', 'publish'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("link=Shop Site")); - - $this->jPrint ("Test Contact Category List\n"); - $link = $this->cfg->path . 'index.php/using-joomla/extensions/components/contact-component/contact-single-category'; - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("//div[@class='list-title'][contains(.,'Buyer')]")); - $this->assertTrue($this->isElementPresent("//div[@class='list-title'][contains(.,'Owner')]")); - $this->jPrint ("Change Owner to different category and check that it is no longer shown\n"); - $this->gotoAdmin(); - $this->changeCategory('Owner', 'Contacts', 'Uncategorised'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("//div[@class='list-title'][contains(.,'Buyer')]")); - $this->assertFalse($this->isElementPresent("//div[@class='list-title'][contains(.,'Owner')]")); - $this->jPrint ("Change Owner back to Staff and make sure it is shown\n"); - $this->changeCategory('Owner', 'Contacts', 'Staff'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("//div[@class='list-title'][contains(.,'Buyer')]")); - $this->assertTrue($this->isElementPresent("//div[@class='list-title'][contains(.,'Owner')]")); - - $this->jPrint ("Check caching for Single Contact\n"); - $link = $this->cfg->path . 'index.php/using-joomla/extensions/components/contact-component/single-contact'; - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("//h2[contains(., 'Contact Name Here')]")); - $this->jPrint ("Unpublish Contact and check that it is not shown\n"); - $this->gotoAdmin(); - $this->changeState('Contact Name Here', 'Contacts', 'Contact', 'unpublish'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("//div[@id='content'][contains(., 'requested page cannot be found')]")); - - $this->jPrint ("Publish Contact Name Here and check that it is now shown\n"); - $this->changeState('Contact Name Here', 'Contacts', 'Contact', 'publish'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("//h2[contains(., 'Contact Name Here')]")); - - $this->jPrint ("Test Contact Featured\n"); - $link = $this->cfg->path . 'index.php/using-joomla/extensions/components/contact-component/featured-contacts'; - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("//td[@class='item-title'][contains(.,'Buyer')]")); - $this->assertTrue($this->isElementPresent("//td[@class='item-title'][contains(.,'Shop Address')]")); - $this->jPrint ("Set Buyer to not be featured and check that it is no longer shown\n"); - $this->gotoAdmin(); - $this->click("link=Contacts"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Open Buyer for editing and change Featured to no\n"); - $this->click("link=Buyer"); - $this->waitForPageToLoad("30000"); - $this->select("jform_featured", "label=No"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertFalse($this->isElementPresent("//td[@class='item-title'][contains(.,'Buyer')]")); - $this->assertTrue($this->isElementPresent("//td[@class='item-title'][contains(.,'Shop Address')]")); - $this->jPrint ("Set Buyer back to Featured and make sure it is shown\n"); - $this->gotoAdmin(); - $this->click("link=Contacts"); - $this->waitForPageToLoad("30000"); - $this->click("link=Buyer"); - $this->waitForPageToLoad("30000"); - $this->select("jform_featured", "label=Yes"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("//td[@class='item-title'][contains(.,'Buyer')]")); - $this->assertTrue($this->isElementPresent("//td[@class='item-title'][contains(.,'Shop Address')]")); - } - - function testWeblinksCache() - { - $this->setUp(); - $this->jPrint ("Starting testWeblinksCache.\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->jPrint ("Set caching to progressive.\n"); - $this->setCache('on-full'); - - $this->jPrint ("Test Weblinks Category List\n"); - $link = $this->cfg->path . 'index.php/using-joomla/extensions/components/weblinks-component/weblinks-single-category'; - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("//div[@class='list-title'][contains(.,'OpenSourceMatters')]")); - $this->assertTrue($this->isElementPresent("//div[@class='list-title'][contains(.,'Joomla! - Forums')]")); - $this->jPrint ("Change OpenSourceMatters to different category and check that it is no longer shown\n"); - $this->gotoAdmin(); - $this->changeCategory('OpenSourceMatters', 'Weblinks', 'Uncategorised'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertFalse($this->isElementPresent("//div[@class='list-title'][contains(.,'OpenSourceMatters')]")); - $this->assertTrue($this->isElementPresent("//div[@class='list-title'][contains(.,'Joomla! - Forums')]")); - $this->jPrint ("Change OpenSourceMatters back to Joomla! Specific Links and make sure it is shown\n"); - $this->changeCategory('OpenSourceMatters', 'Weblinks', 'Joomla! Specific Links'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("//div[@class='list-title'][contains(.,'OpenSourceMatters')]")); - $this->assertTrue($this->isElementPresent("//div[@class='list-title'][contains(.,'Joomla! - Forums')]")); - - $this->jPrint ("Check caching for Weblinks Categories\n"); - $link = $this->cfg->path . 'index.php/using-joomla/extensions/components/weblinks-component/weblinks-categories'; - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("link=Joomla! Specific Links")); - $this->assertTrue($this->isElementPresent("link=Other Resources")); - $this->jPrint ("Unpublish Other Resources and check that it is not shown\n"); - $this->gotoAdmin(); - $this->changeState('Other Resources', 'Weblinks', 'Category', 'unpublish'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("link=Joomla! Specific Links")); - $this->assertFalse($this->isElementPresent("link=Other Resources")); - $this->jPrint ("Publish Other Resources and check that it is now shown\n"); - $this->changeState('Other Resources', 'Weblinks', 'Category', 'publish'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("link=Joomla! Specific Links")); - $this->assertTrue($this->isElementPresent("link=Other Resources")); - } - - function testNewsFeedCache() - { - $this->setUp(); - $this->jPrint ("Starting testNewsfeedCache.\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->jPrint ("Set caching to progressive.\n"); - $this->setCache('on-full'); - - $this->jPrint ("Check caching for Newsfeed Categories\n"); - $link = $this->cfg->path . 'index.php/using-joomla/extensions/components/news-feeds-component/new-feed-categories'; - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("link=Sample Data-Newsfeeds")); - $this->jPrint ("Unpublish Sample Data-Newsfeeds and check that it is not shown\n"); - $this->gotoAdmin(); - $this->changeState('Sample Data-Newsfeeds', 'Newsfeeds', 'Category', 'unpublish'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertFalse($this->isElementPresent("link=Sample Data-Newsfeeds")); - $this->jPrint ("Publish Sample Data-Newsfeeds and check that it is now shown\n"); - $this->changeState('Sample Data-Newsfeeds', 'Newsfeeds', 'Category', 'publish'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("link=Sample Data-Newsfeeds")); - - $this->jPrint ("Check caching for Single Newsfeed\n"); - $link = $this->cfg->path . 'index.php/using-joomla/extensions/components/news-feeds-component/single-news-feed'; - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("link=Joomla! Connect")); - $this->jPrint ("Unpublish Newsfeed and check that it is not shown\n"); - $this->gotoAdmin(); - $this->changeState('Joomla! Connect', 'Newsfeeds', 'Newsfeeds', 'unpublish'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("//div[@id='content'][contains(., 'requested page cannot be found')]")); - $this->jPrint ("Publish JoomlaConnect and check that it is now shown\n"); - $this->changeState('Joomla! Connect', 'Newsfeeds', 'Newsfeeds', 'publish'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("link=Joomla! Connect")); - - $this->jPrint ("Test Newsfeed Category List\n"); - $link = $this->cfg->path . 'index.php/using-joomla/extensions/components/news-feeds-component/news-feed-category'; - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("//div[@class='list-title'][contains(.,'Joomla! Announcements')]")); - $this->assertTrue($this->isElementPresent("//div[@class='list-title'][contains(.,'Joomla! Connect')]")); - $this->jPrint ("Change Joomla! Connect to different category and check that it is no longer shown\n"); - $this->gotoAdmin(); - $this->changeCategory('Joomla! Connect', 'Newsfeeds', 'Uncategorised'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("//div[@class='list-title'][contains(.,'Joomla! Announcements')]")); - $this->assertFalse($this->isElementPresent("//div[@class='list-title'][contains(.,'Joomla! Connect')]")); - $this->jPrint ("Change Joomla! Connect back to Sample Data-Newsfeeds and make sure it is shown\n"); - $this->changeCategory('Joomla! Connect', 'Newsfeeds', 'Sample Data-Newsfeeds'); - $this->gotoSite(); - $this->open($link, 'true'); - $this->assertTrue($this->isElementPresent("//div[@class='list-title'][contains(.,'Joomla! Announcements')]")); - $this->assertTrue($this->isElementPresent("//div[@class='list-title'][contains(.,'Joomla! Connect')]")); - - } - - function testModuleEnableCache() - { - $this->setUp(); - $this->jPrint ("Starting testModuleEnableCache.\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->jPrint ("Set caching to progressive.\n"); - $this->setCache('on-full'); - - $this->jPrint ("Check that login form shown on home page \n"); - $this->gotoSite(); - $this->assertTrue($this->isElementPresent("//form[@id='login-form']")); - $this->jPrint ("Unpublish login form\n"); - $this->gotoAdmin(); - $this->click("link=Module Manager"); - $this->waitForPageToLoad("30000"); - $this->type("filter_search", "login form"); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - $this->click("link=Login Form"); - $this->waitForPageToLoad("30000"); - $this->click("//label[contains(., 'Unpublished')]"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Check that login form not shown on home page\n"); - $this->gotoSite(); - $this->assertFalse($this->isElementPresent("//form[@id='login-form']")); - $this->jPrint ("Publish login form and check that it is now shown\n"); - $this->gotoAdmin(); - $this->click("link=Module Manager"); - $this->waitForPageToLoad("30000"); - $this->type("filter_search", "login form"); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - $this->click("link=Login Form"); - $this->waitForPageToLoad("30000"); - $this->click("//label[contains(., 'Published')]"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - $this->gotoSite(); - $this->assertTrue($this->isElementPresent("//form[@id='login-form']")); - $this->gotoAdmin(); - - $this->jPrint ("Clear cache files.\n"); - $this->click("link=Clear Cache"); - $this->waitForPageToLoad("30000"); - $this->click("name=checkall-toggle"); - $this->click("//div[@id='toolbar-delete']/button"); - $this->waitForPageToLoad("30000"); - - $this->click("name=checkall-toggle"); - $this->click("//div[@id='toolbar-delete']/button"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Set caching to off.\n"); - $this->setCache('off'); - $this->doAdminLogout(); - - } - -} \ No newline at end of file diff --git a/tests/system/suite/com_users/group0001Test.php b/tests/system/suite/com_users/group0001Test.php deleted file mode 100644 index 75341f6b3172a..0000000000000 --- a/tests/system/suite/com_users/group0001Test.php +++ /dev/null @@ -1,49 +0,0 @@ -setUp(); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->click("link=Groups"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Create new group Article Administrator\n"); - $this->click("//div[@id='toolbar-new']/button"); - $this->waitForPageToLoad("30000"); - $saltGroup = mt_rand(); - $this->type("jform_title", "Test Group".$saltGroup); - $this->select("jform_parent_id", "label=- Registered"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - try { - $this->assertTrue($this->isTextPresent("successfully saved"), 'Save message not shown'); - } catch (PHPUnit_Framework_AssertionFailedError $e) { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->jPrint ("Delete Article Administrator group.\n"); - $this->type("filter_search", "Test Group".$saltGroup); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-delete']/button"); - $this->waitForPageToLoad("30000"); - try { - $this->assertTrue($this->isTextPresent("success"), 'Deleted message not shown'); - } catch (PHPUnit_Framework_AssertionFailedError $e) { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->doAdminLogout(); - $this->countErrors(); - $this->deleteAllVisibleCookies(); - } -} - diff --git a/tests/system/suite/com_users/group0002Test.php b/tests/system/suite/com_users/group0002Test.php deleted file mode 100644 index 0d7a44c4ea284..0000000000000 --- a/tests/system/suite/com_users/group0002Test.php +++ /dev/null @@ -1,64 +0,0 @@ -setUp(); - $this->gotoAdmin(); - $this->doAdminLogin(); - $saltGroup = mt_rand(); - - $groupParent = 'Public'; - $groupName = "Test ".$groupParent." Group".$saltGroup; - $this->createGroup($groupName, $groupParent); - - $groupParent = 'Manager'; - $groupName = "Test ".$groupParent." Group".$saltGroup; - $this->createGroup($groupName, $groupParent); - - $groupParent = 'Administrator'; - $groupName = "Test ".$groupParent." Group".$saltGroup; - $this->createGroup($groupName, $groupParent); - - $groupParent = 'Super Users'; - $groupName = "Test ".$groupParent." Group".$saltGroup; - $this->createGroup($groupName, $groupParent); - - $groupParent = 'Registered'; - $groupName = "Test ".$groupParent." Group".$saltGroup; - $this->createGroup($groupName, $groupParent); - - $groupParent = 'Author'; - $groupName = "Test ".$groupParent." Group".$saltGroup; - $this->createGroup($groupName, $groupParent); - - $groupParent = 'Editor'; - $groupName = "Test ".$groupParent." Group".$saltGroup; - $this->createGroup($groupName, $groupParent); - - $groupParent = 'Publisher'; - $groupName = "Test ".$groupParent." Group".$saltGroup; - $this->createGroup($groupName, $groupParent); - - $groupParent = 'Shop Suppliers'; - $groupName = "Test ".$groupParent." Group".$saltGroup; - $this->createGroup($groupName, $groupParent); - - $groupParent = 'Customer Group'; - $groupName = "Test ".$groupParent." Group".$saltGroup; - $this->createGroup($groupName, $groupParent); - - $this->deleteGroup(); - - $this->doAdminLogout(); - $this->deleteAllVisibleCookies(); - } -} diff --git a/tests/system/suite/com_users/group0003Test.php b/tests/system/suite/com_users/group0003Test.php deleted file mode 100644 index abcb8a9a3fba2..0000000000000 --- a/tests/system/suite/com_users/group0003Test.php +++ /dev/null @@ -1,45 +0,0 @@ -setUp(); - $this->gotoAdmin(); - $this->doAdminLogin(); - - $this->jPrint ("Browse to User Manager: Groups.\n"); - $this->click("link=Groups"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Check deletion when no groups are selected.\n"); - $badName='doesNotExist'; - $this->jPrint ("Filter on " . $badName . ".\n"); - $this->type("filter_search", $badName); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Delete all groups in view.\n"); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-delete']/button"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert()); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - - $this->doAdminLogout(); - $this->deleteAllVisibleCookies(); - } -} - diff --git a/tests/system/suite/com_users/user0001Test.php b/tests/system/suite/com_users/user0001Test.php deleted file mode 100644 index eb7bb685c54f1..0000000000000 --- a/tests/system/suite/com_users/user0001Test.php +++ /dev/null @@ -1,59 +0,0 @@ -jPrint("Starting testCreateUser"."\n"); - $this->setUp(); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->jPrint ("Add new user\n"); - $this->click("link=Add New User"); - $this->waitForPageToLoad("30000"); - $this->type("jform_name", "username1"); - $this->type("jform_username", "loginname1"); - $this->type("jform_password", "password1"); - $this->type("jform_password2", "password1"); - $this->type("jform_email", "email@example.com"); - $this->click("1group_1"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("60000"); - $this->jPrint ("Save and check that it exists\n"); - $this->type("filter_search", "username1"); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - - $this->assertEquals("username1", $this->getText("link=username1")); - $this->jPrint ("Open new user for editing and check values\n"); - $this->click("link=username1"); - $this->waitForPageToLoad("30000"); - $this->assertEquals("loginname1", $this->getValue("jform_username")); - $this->assertEquals("email@example.com", $this->getValue("jform_email")); - $this->assertEquals("on", $this->getValue("1group_1")); - $this->jPrint ("Close new user\n"); - $this->click("//div[@id='toolbar-cancel']/button"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Delete the user\n"); - $this->click("cb0"); - $this->click("//div[@id='toolbar-delete']/button"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Check that user does not exist\n"); - $this->assertFalse($this->isElementPresent("link=username1")); - $this->jPrint ("Clear Filter and check that Super User exists\n"); - $this->click("//button[@type='button'][contains(@onclick, \".value=''\")]"); - $this->waitForPageToLoad("30000"); - $this->assertEquals("Super User", $this->getText("link=Super User")); - $this->jPrint ("Finished user0001Test.php\n"); - $this->doAdminLogout(); - $this->deleteAllVisibleCookies(); - } -} diff --git a/tests/system/suite/com_users/user0002Test.php b/tests/system/suite/com_users/user0002Test.php deleted file mode 100644 index df009de07ac22..0000000000000 --- a/tests/system/suite/com_users/user0002Test.php +++ /dev/null @@ -1,87 +0,0 @@ -jPrint("Starting testMyTestCase\n"); - $this->setUp(); - $this->gotoAdmin(); - $this->doAdminLogin(); - - $salt1 = mt_rand(); - $username = 'My Test User' . $salt1; - $login = 'TestUser' . $salt1; - $email = $login . '@test.com'; - $this->createUser($username, $login, 'password', $email, 'Author'); - - $this->jPrint("Verify existence of new user.\n"); - try { - $this->assertTrue($this->isTextPresent("User successfully saved.")); - } catch (PHPUnit_Framework_AssertionFailedError $e) { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->type("filter_search", "TestUser"); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - try { - $this->assertTrue($this->isTextPresent("TestUser")); - } catch (PHPUnit_Framework_AssertionFailedError $e) { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("//li/a[contains(@href, 'option=com_login&task=logout')]"); - $this->waitForPageToLoad("30000"); - $this->jPrint("Go to home page.\n"); - $this->click("link=Go to site home page."); - $this->waitForPageToLoad("30000"); - $this->jPrint("Log in as TestUser.\n"); - $this->type("modlgn-username", "TestUser" . $salt1); - $this->type("modlgn-passwd", "password"); - $this->click("Submit"); - $this->waitForPageToLoad("30000"); - $this->jPrint("Verify existence of new user.\n"); - try { - $this->assertTrue($this->isTextPresent($username)); - } catch (PHPUnit_Framework_AssertionFailedError $e) { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("link=Login"); - $this->waitForPageToLoad("30000"); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - $this->gotoAdmin(); - $this->doAdminLogin(); - - $this->jPrint ("Back to User Manager.\n"); - $this->click("link=User Manager"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Filter on user name\n"); - $this->type("filter_search", $username); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Delete all users in view\n"); - $this->click("checkall-toggle"); - $this->jPrint("Delete new user.\n"); - $this->click("//div[@id='toolbar-delete']/button"); - $this->waitForPageToLoad("30000"); - try { - $this->assertTrue($this->isTextPresent("success")); - } catch (PHPUnit_Framework_AssertionFailedError $e) { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("//li/a[contains(@href, 'option=com_login&task=logout')]"); - $this->waitForPageToLoad("30000"); - $this->countErrors(); - $this->deleteAllVisibleCookies(); - } -} diff --git a/tests/system/suite/control_panel/control_panel0001Test.php b/tests/system/suite/control_panel/control_panel0001Test.php deleted file mode 100644 index 090cf7e34bff1..0000000000000 --- a/tests/system/suite/control_panel/control_panel0001Test.php +++ /dev/null @@ -1,102 +0,0 @@ -setUp(); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->gotoSite(); - $this->doFrontEndLogin(); - $this->gotoSite(); - $this->doFrontEndLogout(); - $this->gotoAdmin(); - $this->jPrint ("Check that top menu options are visible.\n"); - $this->assertTrue($this->isElementPresent("link=" . $this->cfg->site_name)); - $this->assertTrue($this->isElementPresent("link=Users")); - $this->assertTrue($this->isElementPresent("link=Menus")); - $this->assertTrue($this->isElementPresent("link=Content")); - $this->assertTrue($this->isElementPresent("link=Components")); - $this->assertTrue($this->isElementPresent("link=Extensions")); - $this->assertTrue($this->isElementPresent("link=Help")); - $this->jPrint ("Check that Site menu options are visible\n"); - $this->assertTrue($this->isElementPresent("link=Control Panel")); - $this->assertTrue($this->isElementPresent("link=Global Configuration")); - $this->assertTrue($this->isElementPresent("link=System Information")); - $this->assertTrue($this->isElementPresent("link=Logout")); - $this->assertTrue($this->isElementPresent("link=Global Check-in")); - $this->assertTrue($this->isElementPresent("link=Clear Cache")); - $this->assertTrue($this->isElementPresent("link=Purge Expired Cache")); - $this->jPrint ("Check that User menu options are visible\n"); - $this->assertTrue($this->isElementPresent("link=User Manager")); - $this->assertTrue($this->isElementPresent("link=Groups")); - $this->assertTrue($this->isElementPresent("link=Access Levels")); - $this->assertTrue($this->isElementPresent("link=Mass Mail Users")); - $this->jPrint ("Check that Menu menu options are visible\n"); - $this->assertTrue($this->isElementPresent("link=Menu Manager")); - $this->jPrint ("Check that Content menu options are visible\n"); - $this->assertTrue($this->isElementPresent("link=Article Manager")); - $this->assertTrue($this->isElementPresent("link=Category Manager")); - $this->assertTrue($this->isElementPresent("link=Featured Articles")); - $this->jPrint ("Check that Component menu options are visible\n"); - $this->assertTrue($this->isElementPresent("link=Banners")); - $this->assertTrue($this->isElementPresent("link=Contacts")); - $this->assertTrue($this->isElementPresent("link=Joomla! Update")); - $this->assertTrue($this->isElementPresent("link=Messaging")); - $this->assertTrue($this->isElementPresent("link=Newsfeeds")); - $this->assertTrue($this->isElementPresent("link=Redirect")); - $this->assertTrue($this->isElementPresent("link=Search")); - $this->assertTrue($this->isElementPresent("link=Smart Search")); - $this->assertTrue($this->isElementPresent("link=Weblinks")); - - $this->jPrint ("Check that Extensions menu options are visible\n"); - $this->assertTrue($this->isElementPresent("link=Extension Manager")); - $this->assertTrue($this->isElementPresent("link=Module Manager")); - $this->assertTrue($this->isElementPresent("link=Plugin Manager")); - $this->assertTrue($this->isElementPresent("link=Template Manager")); - $this->assertTrue($this->isElementPresent("link=Language Manager")); - $this->jPrint ("Check that Help menu options are visible\n"); - $this->assertTrue($this->isElementPresent("link=Joomla! Help")); - $this->assertTrue($this->isElementPresent("link=Official Support Forum")); - $this->assertTrue($this->isElementPresent("link=Documentation Wiki")); - $this->assertTrue($this->isElementPresent("link=Joomla! Extensions")); - $this->assertTrue($this->isElementPresent("link=Joomla! Translations")); - $this->assertTrue($this->isElementPresent("link=Joomla! Resources")); - $this->assertTrue($this->isElementPresent("link=Community Portal")); - $this->assertTrue($this->isElementPresent("link=Security Center")); - $this->assertTrue($this->isElementPresent("link=Developer Resources")); - $this->assertTrue($this->isElementPresent("link=Joomla! Shop")); - $this->jPrint ("Check that Control Panel icons are visible\n"); - $this->assertTrue($this->isElementPresent("//a[contains(., 'Add New Article')]")); - $this->assertTrue($this->isElementPresent("//a[contains(., 'Article Manager')]")); - $this->assertTrue($this->isElementPresent("//a[contains(., 'Category Manager')]")); - $this->assertTrue($this->isElementPresent("//a[contains(., 'Media Manager')]")); - $this->assertTrue($this->isElementPresent("//a[contains(., 'Menu Manager')]")); - $this->assertTrue($this->isElementPresent("//a[contains(., 'User Manager')]")); - $this->assertTrue($this->isElementPresent("//a[contains(., 'Module Manager')]")); - $this->assertTrue($this->isElementPresent("//a[contains(., 'Extension Manager')]")); - $this->assertTrue($this->isElementPresent("//a[contains(., 'Language Manager')]")); - $this->assertTrue($this->isElementPresent("//a[contains(., 'Global Configuration')]")); - $this->assertTrue($this->isElementPresent("//a[contains(., 'Template Manager')]")); - $this->assertTrue($this->isElementPresent("//a[contains(., 'Edit Profile')]")); - $this->assertTrue($this->isElementPresent("//a[contains(., 'All extensions are up-to-date')]")); - - $this->doAdminLogout(); - $this->jPrint("Finish control_panel0001Test.php." . "\n"); - $this->deleteAllVisibleCookies(); - } -} - diff --git a/tests/system/suite/control_panel/control_panel0002Test.php b/tests/system/suite/control_panel/control_panel0002Test.php deleted file mode 100644 index fed096fb01013..0000000000000 --- a/tests/system/suite/control_panel/control_panel0002Test.php +++ /dev/null @@ -1,328 +0,0 @@ -setUp(); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->jPrint ("Navigate to Control Panel.\n"); - $this->click("link=Control Panel"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Navigate to Global Config.\n"); - $this->click("link=Global Configuration"); - $this->waitForPageToLoad("30000"); - $this->click("//a[@href='#page-site']"); - $this->assertTrue($this->isTextPresent("Site Settings")); - $this->click("//a[@href='#page-system']"); - $this->assertTrue($this->isTextPresent("System Settings")); - $this->click("//a[@href='#page-server']"); - $this->assertTrue($this->isTextPresent("Server Settings")); - $this->click("//div[@id='toolbar-cancel']/button"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Navigate to Global Check-in.\n"); - $this->click("link=Global Check-in"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Global Check-in")); - $this->jPrint ("Navigate to Clear Cache.\n"); - $this->click("link=Clear Cache"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Clear Cache")); - $this->jPrint ("Navigate to Purge Expired Cache.\n"); - $this->click("link=Purge Expired Cache"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Purge Expired Cache")); - $this->click("link=System Information"); - $this->waitForPageToLoad("30000"); - $this->click("//a[@href='#site']"); - $this->assertElementPresent("//div[@id='site'][@class='tab-pane active']"); - $this->click("//a[@href='#phpsettings']"); - $this->assertElementPresent("//div[@id='phpsettings'][@class='tab-pane active']"); - $this->click("//a[@href='#config']"); - $this->assertElementPresent("//div[@id='config'][@class='tab-pane active']"); - $this->click("//a[@href='#directory']"); - $this->assertElementPresent("//div[@id='directory'][@class='tab-pane active']"); - $this->click("//a[@href='#phpinfo']"); - $this->assertElementPresent("//div[@id='phpinfo'][@class='tab-pane active']"); - $this->jPrint ("Navigate to User Manager.\n"); - $this->click("link=User Manager"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("User Manager: Users")); - $this->click("//ul[@id='submenu']/li[2]/a"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Groups")); - $this->click("link=Access Levels"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Levels")); - $this->click("link=Groups"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Groups")); - $this->click("link=Access Levels"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Levels")); - $this->jPrint ("Navigate to Add New User.\n"); - $this->click("link=User Manager"); - $this->waitForPageToLoad("30000"); - $this->click("//div[@id='toolbar-new']/button"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("User Manager: Add New User")); - $this->click("//div[@id='toolbar-cancel']/button"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Navigate to Add New Group.\n"); - $this->click("link=User Groups"); - $this->waitForPageToLoad("30000"); - $this->click("//div[@id='toolbar-new']/button"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("User Manager: Add New User Group")); - $this->click("//div[@id='toolbar-cancel']/button"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Navigate to Add New Access Level.\n"); - $this->click("link=Viewing Access Levels"); - $this->waitForPageToLoad("30000"); - $this->click("//div[@id='toolbar-new']/button"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("User Manager: Add New Viewing Access")); - $this->click("//div[@id='toolbar-cancel']/button"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Navigate to Mass Mail.\n"); - $this->click("link=Mass Mail Users"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Mass Mail")); - $this->click("//div[@id='toolbar-cancel']/button"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Navigate to Read Private Messages.\n"); - $this->click("link=0"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Private Messages")); - $this->jPrint ("Navigate to New Private Message.\n"); - $this->click("//div[@id='toolbar-new']/button"); - $this->waitForPageToLoad("30000"); - $this->click("//div[@id='toolbar-cancel']/button"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Open Options modal \n"); - $this->click("//div[@id='toolbar-options']/button"); - $this->waitForPageToLoad("30000"); - $this->assertTrue(($this->isElementPresent("//li[@class='active'][contains(., 'Messaging')]"))); - $this->click("//div[@id='toolbar-cancel']/button"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Navigate to Menu Manager.\n"); - $this->click("link=Menu Manager"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Menu Manager: Menus")); - $this->jPrint ("Navigate to Article Manager.\n"); - $this->click("link=Article Manager"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Article Manager: Articles")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-new']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-edit']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-publish']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-unpublish']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-archive']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-trash']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-options']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-help']/button")); - $this->jPrint ("Navigate to Category Manager.\n"); - $this->click("link=Category Manager"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Category Manager")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-new']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-edit']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-publish']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-unpublish']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-archive']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-trash']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-refresh']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-help']/button")); - $this->jPrint ("Navigate to Featured Articles.\n"); - $this->click("link=Featured Articles"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Article Manager: Featured Articles")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-new']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-edit']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-publish']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-unpublish']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-remove']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-archive']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-options']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-help']/button")); - $this->jPrint ("Navigate to Add New Article.\n"); - $this->click("//div[@id='toolbar-new']/button"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Article Manager: Add New Article")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-save']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-apply']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-save-new']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-cancel']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-help']/button")); - $this->click("//div[@id='toolbar-cancel']/button"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Navigate to Add New Category.\n"); - $this->click("//a[contains(@href, 'option=com_categories&extension=com_content')]"); - $this->waitForPageToLoad("30000"); - $this->click("//div[@id='toolbar-new']/button"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Category Manager: Add")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-save']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-apply']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-save-new']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-cancel']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-help']/button")); - $this->click("//div[@id='toolbar-cancel']/button"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Navigate to Control Panel.\n"); - $this->gotoAdmin(); - $this->jPrint ("Navigate to Banner Manager.\n"); - $this->click("link=Banners"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Banner Manager: Banners")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-new']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-edit']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-publish']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-unpublish']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-archive']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-trash']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-options']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-help']/button")); - $this->jPrint ("Navigate to Banner Clients.\n"); - $this->click("link=Clients"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Banner Manager: Clients")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-new']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-edit']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-publish']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-unpublish']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-archive']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-trash']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-options']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-help']/button")); - - $this->jPrint ("Navigate to Banner Tracks.\n"); - $this->click("link=Tracks"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Banner Manager: Tracks")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-options']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-COM_BANNERS_DELETE_MSG']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-help']/button")); - - $this->jPrint ("Navigate to Banner Categories.\n"); - $this->click("//a[contains(@href, 'option=com_categories&extension=com_banners')]"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Category Manager: Banners")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-new']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-edit']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-publish']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-unpublish']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-archive']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-trash']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-refresh']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-help']/button")); - - $this->jPrint ("Navigate to Contact Manager.\n"); - $this->click("link=Contacts"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Contact Manager")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-new']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-edit']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-publish']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-unpublish']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-archive']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-trash']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-help']/button")); - $this->jPrint ("Navigate to Contact Category.\n"); - $this->click("//a[contains(@href, 'option=com_categories&extension=com_contact')]"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Category Manager: Contacts")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-new']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-edit']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-publish']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-unpublish']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-archive']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-trash']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-refresh']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-help']/button")); - $this->jPrint ("Navigate to News Feed Manager.\n"); - $this->click("link=Newsfeeds"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("News Feed Manager")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-new']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-edit']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-publish']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-unpublish']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-archive']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-trash']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-options']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-help']/button")); - $this->jPrint ("Navigate to News Feed Categories.\n"); - $this->click("//a[contains(@href, 'option=com_categories&extension=com_newsfeeds')]"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Category Manager")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-new']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-edit']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-publish']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-unpublish']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-archive']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-trash']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-refresh']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-help']/button")); - $this->jPrint ("Navigate to Redirect.\n"); - $this->click("link=Redirect"); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-new']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-edit']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-publish']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-unpublish']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-archive']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-trash']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-help']/button")); - $this->jPrint ("Navigate to Search Statistics.\n"); - $this->click("link=Search"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Search Manager: Search Term Analysis")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-refresh']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-options']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-help']/button")); - $this->jPrint ("Navigate to Weblinks Manager.\n"); - $this->click("link=Weblinks"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-new']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-edit']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-publish']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-unpublish']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-trash']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-options']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-help']/button")); - $this->jPrint ("Navigate to Web Links Categories.\n"); - $this->click("//a[contains(@href, 'option=com_categories&extension=com_weblinks')]"); - $this->waitForPageToLoad("30000"); - $this->click("//a[contains(@href, 'option=com_categories&extension=com_weblinks')]"); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-new']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-edit']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-publish']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-unpublish']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-archive']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-trash']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-trash']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-refresh']/button")); - $this->assertTrue($this->isElementPresent("//div[@id='toolbar-help']/button")); - $this->gotoAdmin(); - $this->doAdminLogout(); - $this->jPrint("Finish control_panel0002Test.php." . "\n"); - $this->deleteAllVisibleCookies(); - } -} - diff --git a/tests/system/suite/control_panel/control_panel0003Test.php b/tests/system/suite/control_panel/control_panel0003Test.php deleted file mode 100644 index 4bb7e6b3f42a7..0000000000000 --- a/tests/system/suite/control_panel/control_panel0003Test.php +++ /dev/null @@ -1,95 +0,0 @@ -setUp(); - $this->gotoAdmin(); - $this->doAdminLogin(); - // Use No Editor - $this->setEditor('no editor'); - - $this->click("link=Control Panel"); - $this->waitForPageToLoad("30000"); - $this->jPrint("Load article manager." . "\n"); - $this->click("link=Article Manager"); - $this->waitForPageToLoad("30000"); - - $this->click("//div[@id='toolbar-new']/button"); - $this->waitForPageToLoad("30000"); - - $this->jPrint("Enter article title" . "\n"); - $this->type("jform_title", "Com_Content001 Test Article"); - - $this->jPrint("Enter some text" . "\n"); - $this->type("id=jform_articletext", "

    This is test text for an article

    "); -// $this->typeKeys("tinymce", "This is test text for an article"); - - $this->jPrint("Save the article" . "\n"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - $this->jPrint("Filter on new article" . "\n"); - $this->type("filter_search", "Com_Content001"); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - $this->jPrint("Check that article title is listed in Article Manager" . "\n"); - $this->assertEquals("Com_Content001 Test Article", $this->getText("link=Com_Content001 Test Article")); - $this->jPrint("Open Article for editing" . "\n"); - $this->click("link=Com_Content001 Test Article"); - $this->waitForPageToLoad("30000"); - // test sleep command for hudson error - sleep(3); - $this->jPrint("Check that title and text are correct" . "\n"); - $this->assertTrue($this->isElementPresent("//textarea[contains(., 'This is test text')]")); - $this->assertEquals("Com_Content001 Test Article", $this->getValue("jform_title")); - $this->jPrint("Cancel edit" . "\n"); - $this->click("//div[@id='toolbar-cancel']/button"); - $this->waitForPageToLoad("30000"); - $this->jPrint("Send article to trash" . "\n"); - $this->click("link=Com_Content001 Test Article"); - $this->waitForPageToLoad("30000"); - $this->select("jform_state", "label=Trashed"); - $this->click("//option[@value='-2']"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - $this->jPrint("Check that article is no longer shown in article manager" . "\n"); - $this->assertFalse($this->isTextPresent("Com_Content001 Test Article")); - - $this->jPrint("Delete article from trash" . "\n"); - $this->select("filter_published", "label=Trashed"); - $this->clickGo(); - $this->waitForPageToLoad("30000"); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-delete']/button"); - $this->waitForPageToLoad("30000"); - $this->select("filter_published", "label=- Select Status -"); - $this->clickGo(); - $this->waitForPageToLoad("30000"); - - $this->jPrint("Clear Article manager filter" . "\n"); - $this->click("//button[@type='button']"); - $this->waitForPageToLoad("30000"); - - // Set editor back to Tiny - $this->setEditor('Tiny'); - - $this->doAdminLogout(); - $this->jPrint("Finished control_panel0003Test.php." . "\n"); - $this->deleteAllVisibleCookies(); - } -} - diff --git a/tests/system/suite/control_panel/control_panel0004Test.php b/tests/system/suite/control_panel/control_panel0004Test.php deleted file mode 100644 index 1960c1d5014e7..0000000000000 --- a/tests/system/suite/control_panel/control_panel0004Test.php +++ /dev/null @@ -1,436 +0,0 @@ -jPrint ("Starting testCreateRemoveCategory\n"); - $this->setUp(); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->click("link=Control Panel"); - $this->waitForPageToLoad("30000"); - - $this->jPrint("Navigate to Category Manager." . "\n"); - $this->click("link=Category Manager"); - $this->waitForPageToLoad("30000"); - $this->jPrint("New Category." . "\n"); - $this->click("//div[@id='toolbar-new']/button"); - $this->waitForPageToLoad("30000"); - $this->jPrint("Create new Category and save." . "\n"); - $this->type("jform_title", "Functional Test Category"); - $this->select("jform_parent_id", "label=- No parent -"); - $this->select("jform_published", "label=Published"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - $this->jPrint("Check that Category is there." . "\n"); - - $this->type("filter_search", "Functional Test"); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - - $this->assertEquals("Functional Test Category", $this->getText("link=Functional Test Category")); - $this->jPrint("Open for editing and change parent from ROOT to Joomla! and save" . "\n"); - $this->click("link=Functional Test Category"); - $this->waitForPageToLoad("30000"); - $this->select("jform_parent_id", "label=- - Joomla!"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - $this->jPrint("Check that category is there." . "\n"); - $this->assertEquals("Functional Test Category", $this->getText("link=Functional Test Category")); - $this->click("link=Functional Test Category"); - $this->waitForPageToLoad("30000"); - $this->click("//div[@id='toolbar-cancel']/button"); - $this->waitForPageToLoad("30000"); - $this->jPrint("Send new category to Trash." . "\n"); - $this->click("link=Functional Test Category"); - $this->waitForPageToLoad("30000"); - $this->select("jform_published", "label=Trashed"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - $this->jPrint("Check that new category is not shown." . "\n"); - $this->assertFalse($this->isElementPresent("link=Functional Test Category")); - $this->jPrint("Filter Trashed categories." . "\n"); - $this->select("filter_published", "label=Trashed"); - $this->clickGo(); - $this->waitForPageToLoad("30000"); - $this->jPrint("Select all trashed categories and delete." . "\n"); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-delete']/button"); - $this->waitForPageToLoad("30000"); - $this->jPrint("Check that new category is not shown." . "\n"); - $this->assertFalse($this->isElementPresent("link=Functional Test Category")); - $this->jPrint("Change filter to Select State." . "\n"); - $this->click("//button[@type='button'][contains(@onclick, \".value=''\")]"); - $this->waitForPageToLoad("30000"); - $this->select("filter_published", "label=- Select Status -"); - $this->waitForPageToLoad("30000"); - $this->jPrint("Check that new category is not shown." . "\n"); - $this->assertFalse($this->isElementPresent("link=Functional Test Category")); - $this->jPrint("Change filter to Select State." . "\n"); - $this->click("//button[@type='button'][contains(@onclick, \".value=''\")]"); - $this->waitForPageToLoad("30000"); - $this->jPrint("Check that reordering still works." . "\n"); - $this->jPrint("Check that Templates and Modules categories are in original order." . "\n"); - $this->assertContains("Templates", $this->getTable("//table[@class='table table-striped'].11.3")); - $this->assertContains("Beez3", $this->getTable("//table[@class='table table-striped'].12.3")); - $this->assertContains("Protostar", $this->getTable("//table[@class='table table-striped'].13.3")); - $this->assertContains("Modules", $this->getTable("//table[@class='table table-striped'].5.3")); - $this->assertContains("Content Modules", $this->getTable("//table[@class='table table-striped'].6.3")); - $this->assertContains("User Modules", $this->getTable("//table[@class='table table-striped'].7.3")); - $this->assertContains("Display Modules", $this->getTable("//table[@class='table table-striped'].8.3")); - $this->assertContains("Utility Modules", $this->getTable("//table[@class='table table-striped'].9.3")); - $this->assertContains("Navigation Module", $this->getTable("//table[@class='table table-striped'].10.3")); - - $this->select("filter_level", "value=4"); - $this->waitForPageToLoad("30000"); - $this->jPrint("Move Modules category down one (below Templates)." . "\n"); - - $this->mouseDownAt("//tr/td/a[contains(text(), 'Modules')]/../../td[1]/span", ""); - $this->mouseMoveAt("//tr/td/a[contains(text(), 'Templates')]/../../td[1]/span", "0,30"); - $this->mouseUpAt("//tr/td/a[contains(text(), 'Templates')]/../../td[1]/span", ""); - sleep(2); - - - $this->select("filter_level", "value="); - $this->waitForPageToLoad("30000"); - $this->jPrint("Check that Templates and Modules categories are in new order." . "\n"); - $this->assertContains("Templates", $this->getTable("//table[@class='table table-striped'].5.3")); - $this->assertContains("Beez3", $this->getTable("//table[@class='table table-striped'].6.3")); - $this->assertContains("Protostar", $this->getTable("//table[@class='table table-striped'].7.3")); - $this->assertContains("Modules", $this->getTable("//table[@class='table table-striped'].8.3")); - $this->assertContains("Content Modules", $this->getTable("//table[@class='table table-striped'].9.3")); - $this->assertContains("User Modules", $this->getTable("//table[@class='table table-striped'].10.3")); - $this->assertContains("Display Modules", $this->getTable("//table[@class='table table-striped'].11.3")); - $this->assertContains("Utility Modules", $this->getTable("//table[@class='table table-striped'].12.3")); - $this->assertContains("Navigation Module", $this->getTable("//table[@class='table table-striped'].13.3")); - - - $this->jPrint("Move Modules category back up (above Templates, below Components)." . "\n"); - $this->select("filter_level", "value=4"); - $this->waitForPageToLoad("30000"); - $this->mouseDownAt("//tr/td/a[contains(text(), 'Modules')]/../../td[1]/span", ""); - $this->mouseMoveAt("//tr/td/a[contains(text(), 'Templates')]/../../td[1]/span", "0,5"); - $this->mouseUpAt("//tr/td/a[contains(text(), 'Templates')]/../../td[1]/span", ""); - sleep(2); - - - $this->select("filter_level", "value="); - $this->waitForPageToLoad("30000"); - $this->jPrint("Check that Templates and Modules categories are in original order." . "\n"); - $this->assertContains("Templates", $this->getTable("//table[@class='table table-striped'].11.3")); - $this->assertContains("Beez3", $this->getTable("//table[@class='table table-striped'].12.3")); - $this->assertContains("Protostar", $this->getTable("//table[@class='table table-striped'].13.3")); - $this->assertContains("Modules", $this->getTable("//table[@class='table table-striped'].5.3")); - $this->assertContains("Content Modules", $this->getTable("//table[@class='table table-striped'].6.3")); - $this->assertContains("User Modules", $this->getTable("//table[@class='table table-striped'].7.3")); - $this->assertContains("Display Modules", $this->getTable("//table[@class='table table-striped'].8.3")); - $this->assertContains("Utility Modules", $this->getTable("//table[@class='table table-striped'].9.3")); - $this->assertContains("Navigation Module", $this->getTable("//table[@class='table table-striped'].10.3")); - $this->doAdminLogout(); - $this->jPrint("Finished control_panel0004Test.php/testCreateRemoveCategory." . "\n"); - $this->deleteAllVisibleCookies(); - } - - function testCategorySaveOrder() - { - $this->jPrint ("Starting testCategorySaveOrder\n"); - $this->setUp(); - $this->gotoAdmin(); - $this->setDefaultTemplate('Hathor'); - $this->doAdminLogin(); - $this->click("link=Control Panel"); - $this->waitForPageToLoad("30000"); - - $this->jPrint("Navigate to Category Manager." . "\n"); - $this->click("link=Category Manager"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Check that Save Order icon and entry fields are only active with Order ascending sort\n"); - $this->assertTrue($this->isElementPresent("//a[contains(@href, 'saveorder')][contains(@class, 'saveorder')]")); - $this->assertFalse($this->isElementPresent("//input[@class='text-area-order'][@disabled='disabled']")); - $this->jPrint ("Sort Order by descending to verify the Save Order icon is hidden and the entry field is disabled\n"); - $this->click("link=Ordering"); - $this->waitForPageToLoad("30000"); - $this->assertFalse($this->isElementPresent("//a[contains(@href, 'saveorder')][contains(@class, 'saveorder')]")); - $this->assertFalse($this->isElementPresent("//span[@class='state downarrow']")); - $this->assertTrue($this->isElementPresent("//input[@class='text-area-order'][@disabled='disabled']")); - $this->jPrint ("Sort by Access and Language to verify all ordering items either hidden or disabled\n"); - $this->click("link=Access"); - $this->waitForPageToLoad("30000"); - $this->assertFalse($this->isElementPresent("//a[contains(@href, 'saveorder')][contains(@class, 'saveorder')]")); - $this->assertFalse($this->isElementPresent("//span[@class='state downarrow']")); - $this->assertTrue($this->isElementPresent("//input[@class='text-area-order'][@disabled='disabled']")); - $this->click("link=Language"); - $this->waitForPageToLoad("30000"); - $this->assertFalse($this->isElementPresent("//a[contains(@href, 'saveorder')][contains(@class, 'saveorder')]")); - $this->assertFalse($this->isElementPresent("//span[@class='state downarrow']")); - $this->assertTrue($this->isElementPresent("//input[@class='text-area-order'][@disabled='disabled']")); - $this->click("link=Ordering"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//a[contains(@href, 'saveorder')][contains(@class, 'saveorder')]")); - $this->assertFalse($this->isElementPresent("//input[@class='text-area-order'][@disabled='disabled']")); - - $this->jPrint ("Check initial ordering of categories\n"); - $this->assertContains("Components", $this->getTable("//table[@class='adminlist'].4.1")); - $this->assertContains("Modules", $this->getTable("//table[@class='adminlist'].5.1")); - $this->assertContains("Templates", $this->getTable("//table[@class='adminlist'].11.1")); - $this->assertContains("Languages", $this->getTable("//table[@class='adminlist'].14.1")); - $this->assertContains("Plugins", $this->getTable("//table[@class='adminlist'].15.1")); - - $this->jPrint ("change the order of categories and click Save Order\n"); - $this->type("xpath=(//input[@name='order[]'])[4]", "5"); - $this->type("xpath=(//input[@name='order[]'])[5]", "4"); - $this->type("xpath=(//input[@name='order[]'])[11]", "3"); - $this->type("xpath=(//input[@name='order[]'])[14]", "2"); - $this->type("xpath=(//input[@name='order[]'])[15]", "1"); - - $this->click("//a[contains(@href, 'saveorder')][contains(@class, 'saveorder')]"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("check that orders have changed\n"); - $this->assertContains("Plugins", $this->getTable("//table[@class='adminlist'].4.1")); - $this->assertContains("Languages", $this->getTable("//table[@class='adminlist'].5.1")); - $this->assertContains("Templates", $this->getTable("//table[@class='adminlist'].6.1")); - $this->assertContains("Modules", $this->getTable("//table[@class='adminlist'].9.1")); - $this->assertContains("Components", $this->getTable("//table[@class='adminlist'].15.1")); - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container'][contains(., 'success')]")); - - $this->jPrint ("put the categories back in the original order and click Save Order\n"); - $this->type("xpath=(//input[@name='order[]'])[4]", "5"); - $this->type("xpath=(//input[@name='order[]'])[5]", "4"); - $this->type("xpath=(//input[@name='order[]'])[6]", "3"); - $this->type("xpath=(//input[@name='order[]'])[9]", "2"); - $this->type("xpath=(//input[@name='order[]'])[15]", "1"); - $this->click("//a[contains(@href, 'saveorder')][contains(@class, 'saveorder')]"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Check for success message and that order has been put back to original\n"); - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container'][contains(., 'success')]")); - $this->assertContains("Components", $this->getTable("//table[@class='adminlist'].4.1")); - $this->assertContains("Modules", $this->getTable("//table[@class='adminlist'].5.1")); - $this->assertContains("Templates", $this->getTable("//table[@class='adminlist'].11.1")); - $this->assertContains("Languages", $this->getTable("//table[@class='adminlist'].14.1")); - $this->assertContains("Plugins", $this->getTable("//table[@class='adminlist'].15.1")); - - $this->jPrint ("Try pressing save order with no form changes\n"); - $this->click("//a[contains(@href, 'saveorder')][contains(@class, 'saveorder')]"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Check that there is no success message and that orders haven't changed\n"); - $this->assertFalse($this->isElementPresent("//div[@id='system-message-container'][contains(., 'success')]")); - $this->assertContains("Components", $this->getTable("//table[@class='adminlist'].4.1")); - $this->assertContains("Modules", $this->getTable("//table[@class='adminlist'].5.1")); - $this->assertContains("Templates", $this->getTable("//table[@class='adminlist'].11.1")); - $this->assertContains("Languages", $this->getTable("//table[@class='adminlist'].14.1")); - $this->assertContains("Plugins", $this->getTable("//table[@class='adminlist'].15.1")); - $this->doAdminLogout(); - $this->setDefaultTemplate('isis'); - $this->jPrint("Finished control_panel0004Test.php/testCategorySaveOrder." . "\n"); - $this->deleteAllVisibleCookies(); - } - - function testMenuItemSaveOrder() - { - $this->jPrint ("Starting testMenuItemSaveOrder\n"); - $this->setUp(); - $this->gotoAdmin(); - $this->setDefaultTemplate('Hathor'); - $this->doAdminLogin(); - $this->click("link=Control Panel"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Open About Joomla! menu and make sure the Save Order icon and arrows are visible and the fields are enabled\n"); - $this->click("link=About Joomla"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//a[contains(@href, 'saveorder')][contains(@class, 'saveorder')]")); - $this->assertFalse($this->isElementPresent("//input[@class='text-area-order'][@disabled='disabled']")); - $this->assertTrue($this->isElementPresent("//i[@class='icon-downarrow']")); - $this->jPrint ("Reverse the ordering and make sure the Save Order icon is hidden and fields are disabled\n"); - $this->jPrint ("But the up and down arrows are enabled.\n"); - $this->click("link=Ordering"); - $this->waitForPageToLoad("30000"); - $this->assertFalse($this->isElementPresent("//a[contains(@href, 'saveorder')][contains(@class, 'saveorder')]")); - $this->assertTrue($this->isElementPresent("//input[@class='text-area-order'][@disabled='disabled']")); - $this->assertFalse($this->isElementPresent("//i[@class='icon-downarrow']")); - $this->jPrint ("Change sort to Access and Language and make sure all three are disabled\n"); - $this->click("link=Access"); - $this->waitForPageToLoad("30000"); - - $this->assertFalse($this->isElementPresent("//a[contains(@href, 'saveorder')][contains(@class, 'saveorder')]")); - $this->assertTrue($this->isElementPresent("//input[@class='text-area-order'][@disabled='disabled']")); - $this->assertFalse($this->isElementPresent("//i[@class='icon-downarrow']")); - $this->click("link=Language"); - $this->waitForPageToLoad("30000"); - - $this->assertFalse($this->isElementPresent("//a[contains(@href, 'saveorder')][contains(@class, 'saveorder')]")); - $this->assertTrue($this->isElementPresent("//input[@class='text-area-order'][@disabled='disabled']")); - $this->assertFalse($this->isElementPresent("//i[@class='icon-downarrow']")); - $this->jPrint ("Change sort back to Ordering and make sure all three are enabled\n"); - $this->click("link=Ordering"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//a[contains(@href, 'saveorder')][contains(@class, 'saveorder')]")); - $this->assertFalse($this->isElementPresent("//input[@class='text-area-order'][@disabled='disabled']")); - $this->assertTrue($this->isElementPresent("//input[@class='text-area-order']")); - $this->assertTrue($this->isElementPresent("//i[@class='icon-downarrow']")); - $this->jPrint ("Check the starting order of the menu items\n"); - $this->assertContains("Single Article", $this->getTable("//table[@class='adminlist'].6.1")); - $this->assertContains("Article Categories", $this->getTable("//table[@class='adminlist'].7.1")); - $this->assertContains("Article Category Blog", $this->getTable("//table[@class='adminlist'].8.1")); - $this->assertContains("Article Category List", $this->getTable("//table[@class='adminlist'].9.1")); - - $this->jPrint ("Reverse the order of 4 articles\n"); - $this->type("//form[@id='adminForm']//table/tbody/tr[6]/td[4]/input", "4"); - $this->type("//form[@id='adminForm']//table/tbody/tr[7]/td[4]/input", "3"); - $this->type("//form[@id='adminForm']//table/tbody/tr[8]/td[4]/input", "2"); - $this->type("//form[@id='adminForm']//table/tbody/tr[9]/td[4]/input", "1"); - - $this->jPrint ("Click Save Order and check that the order changed\n"); - $this->click("//a[contains(@href, 'saveorder')][contains(@class, 'saveorder')]"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container'][contains(., 'success')]")); - $this->assertContains("Single Article", $this->getTable("//table[@class='adminlist'].9.1")); - $this->assertContains("Article Categories", $this->getTable("//table[@class='adminlist'].8.1")); - $this->assertContains("Article Category Blog", $this->getTable("//table[@class='adminlist'].7.1")); - $this->assertContains("Article Category List", $this->getTable("//table[@class='adminlist'].6.1")); - - $this->jPrint ("Change the ordering back and click Save Order\n"); - $this->type("//form[@id='adminForm']//table/tbody/tr[6]/td[4]/input", "4"); - $this->type("//form[@id='adminForm']//table/tbody/tr[7]/td[4]/input", "3"); - $this->type("//form[@id='adminForm']//table/tbody/tr[8]/td[4]/input", "2"); - $this->type("//form[@id='adminForm']//table/tbody/tr[9]/td[4]/input", "1"); - $this->click("//a[contains(@href, 'saveorder')][contains(@class, 'saveorder')]"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Check the ordering is back to original order\n"); - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container'][contains(., 'success')]")); - $this->assertContains("Single Article", $this->getTable("//table[@class='adminlist'].6.1")); - $this->assertContains("Article Categories", $this->getTable("//table[@class='adminlist'].7.1")); - $this->assertContains("Article Category Blog", $this->getTable("//table[@class='adminlist'].8.1")); - $this->assertContains("Article Category List", $this->getTable("//table[@class='adminlist'].9.1")); - - $this->jPrint ("Click Save Order when nothing has been changed and make sure it doesn't to anything\n"); - $this->click("//a[contains(@href, 'saveorder')][contains(@class, 'saveorder')]"); - $this->waitForPageToLoad("30000"); - $this->assertFalse($this->isElementPresent("//div[@id='system-message-container'][contains(., 'success')]")); - $this->assertContains("Single Article", $this->getTable("//table[@class='adminlist'].6.1")); - $this->assertContains("Article Categories", $this->getTable("//table[@class='adminlist'].7.1")); - $this->assertContains("Article Category Blog", $this->getTable("//table[@class='adminlist'].8.1")); - $this->assertContains("Article Category List", $this->getTable("//table[@class='adminlist'].9.1")); - $this->jPrint ("Done with control_panel0004Test/testMenuItemSaveOrder\n"); - $this->doAdminLogout(); - $this->setDefaultTemplate('isis'); - $this->deleteAllVisibleCookies(); - } - - function testMenuItemOrderUpDown() - { - $this->jPrint ("Starting testMenuItemOrderUpDown\n"); - $this->setUp(); - $this->gotoAdmin(); - $this->setDefaultTemplate('Hathor'); - $this->doAdminLogin(); - $this->jPrint ("Navigate to Menu Items -> About Joomla menu\n"); - $this->click("link=About Joomla"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Check that Contact Component and Content Component Menu Items are in original order\n"); - $this->assertContains("Contact Component", $this->getTable("//table[@class='adminlist'].13.1")); - $this->assertContains("Contact Categories", $this->getTable("//table[@class='adminlist'].14.1")); - $this->assertContains("Contact Single Category", $this->getTable("//table[@class='adminlist'].15.1")); - $this->assertContains("Single Contact", $this->getTable("//table[@class='adminlist'].16.1")); - $this->assertContains("Featured Contacts", $this->getTable("//table[@class='adminlist'].17.1")); - $this->assertContains("Content Component", $this->getTable("//table[@class='adminlist'].5.1")); - $this->assertContains("Single Article", $this->getTable("//table[@class='adminlist'].6.1")); - $this->assertContains("Article Categories", $this->getTable("//table[@class='adminlist'].7.1")); - $this->assertContains("Article Category Blog", $this->getTable("//table[@class='adminlist'].8.1")); - $this->assertContains("Article Category List", $this->getTable("//table[@class='adminlist'].9.1")); - $this->assertContains("Featured Articles", $this->getTable("//table[@class='adminlist'].10.1")); - - $this->jPrint ("Move Content Component Menu Item Down One\n"); - $this->click("//table[@class='adminlist']/tbody//tr//td/a[contains(text(), 'Content Component')]/../../td//i[@class='icon-downarrow']"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container'][contains(., 'success')]")); - $this->jPrint ("Check that Contact Component and Content Component Menu Items are in new order\n"); - $this->assertContains("Contact Component", $this->getTable("//table[@class='adminlist'].5.1")); - $this->assertContains("Contact Categories", $this->getTable("//table[@class='adminlist'].6.1")); - $this->assertContains("Contact Single Category", $this->getTable("//table[@class='adminlist'].7.1")); - $this->assertContains("Single Contact", $this->getTable("//table[@class='adminlist'].8.1")); - $this->assertContains("Featured Contacts", $this->getTable("//table[@class='adminlist'].9.1")); - $this->assertContains("Content Component", $this->getTable("//table[@class='adminlist'].10.1")); - $this->assertContains("Single Article", $this->getTable("//table[@class='adminlist'].11.1")); - $this->assertContains("Article Categories", $this->getTable("//table[@class='adminlist'].12.1")); - $this->assertContains("Article Category Blog", $this->getTable("//table[@class='adminlist'].13.1")); - $this->assertContains("Article Category List", $this->getTable("//table[@class='adminlist'].14.1")); - $this->assertContains("Featured Articles", $this->getTable("//table[@class='adminlist'].15.1")); - - $this->jPrint ("Move Content Component Menu Item Up One\n"); - $this->click("//table[@class='adminlist']/tbody//tr//td/a[contains(text(), 'Content Component')]/../../td//i[@class='icon-uparrow']"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container'][contains(., 'success')]")); - $this->jPrint ("Check that Contact Component and Content Component Menu Items are in original order\n"); - $this->assertContains("Contact Component", $this->getTable("//table[@class='adminlist'].13.1")); - $this->assertContains("Contact Categories", $this->getTable("//table[@class='adminlist'].14.1")); - $this->assertContains("Contact Single Category", $this->getTable("//table[@class='adminlist'].15.1")); - $this->assertContains("Single Contact", $this->getTable("//table[@class='adminlist'].16.1")); - $this->assertContains("Featured Contacts", $this->getTable("//table[@class='adminlist'].17.1")); - $this->assertContains("Content Component", $this->getTable("//table[@class='adminlist'].5.1")); - $this->assertContains("Single Article", $this->getTable("//table[@class='adminlist'].6.1")); - $this->assertContains("Article Categories", $this->getTable("//table[@class='adminlist'].7.1")); - $this->assertContains("Article Category Blog", $this->getTable("//table[@class='adminlist'].8.1")); - $this->assertContains("Article Category List", $this->getTable("//table[@class='adminlist'].9.1")); - $this->assertContains("Featured Articles", $this->getTable("//table[@class='adminlist'].10.1")); - - $this->jPrint ("Move Getting Started menu item down one\n"); - $this->click("//table[@class='adminlist']/tbody//tr//td/a[contains(text(), 'Getting Started')]/../../td//i[@class='icon-downarrow']"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container'][contains(., 'success')]")); - $this->jPrint ("Check that Using Joomla! is now in first row\n"); - $this->assertContains("Using Joomla!", $this->getTable("//table[@class='adminlist'].1.1")); - $this->jPrint ("Move Getting Started back up one\n"); - $this->select("limit", "value=0"); - $this->clickGo(); - $this->waitForPageToLoad("30000"); - $this->click("//table[@class='adminlist']/tbody//tr//td/a[contains(text(), 'Getting Started')]/../../td//i[@class='icon-uparrow']"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container'][contains(., 'success')]")); - $this->jPrint ("Check that Getting Started is now in first row\n"); - $this->assertContains("Getting Started", $this->getTable("//table[@class='adminlist'].1.1")); - $this->select("limit", "value=20"); - $this->clickGo(); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Test moving Weblinks categories\n"); - $this->click("Link=Weblinks"); - $this->waitForPageToLoad("30000"); - $this->click("//a[contains(@href, 'option=com_categories&extension=com_weblinks')]"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Move weblinks Uncatgorised up\n"); - $this->click("//table[@class='adminlist']/tbody//tr//td/a[contains(text(), 'Uncategorised')]/../../td//i[@class='icon-uparrow']"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container'][contains(., 'success')]")); - $this->assertContains("Uncategorised", $this->getTable("//table[@class='adminlist'].1.1")); - $this->jPrint ("Move weblinks Uncatgorised back down\n"); - $this->click("//table[@class='adminlist']/tbody//tr//td/a[contains(text(), 'Uncategorised')]/../../td//i[@class='icon-downarrow']"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container'][contains(., 'success')]")); - $this->assertContains("Sample Data-Weblinks", $this->getTable("//table[@class='adminlist'].1.1")); - - $this->jPrint ("Done with control_panel0004Test/testMenuItemOrderUpDown\n"); - $this->doAdminLogout(); - $this->setDefaultTemplate('isis'); - $this->deleteAllVisibleCookies(); - } -} - diff --git a/tests/system/suite/control_panel/control_panel0005Test.php b/tests/system/suite/control_panel/control_panel0005Test.php deleted file mode 100644 index 273552b48310c..0000000000000 --- a/tests/system/suite/control_panel/control_panel0005Test.php +++ /dev/null @@ -1,88 +0,0 @@ -jPrint ("starting testMenuTopLevelPresent\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->assertTrue($this->isElementPresent("link=" . $this->cfg->site_name)); - $this->assertTrue($this->isElementPresent("link=Users")); - $this->assertTrue($this->isElementPresent("link=Menus")); - $this->assertTrue($this->isElementPresent("link=Content")); - $this->assertTrue($this->isElementPresent("link=Components")); - $this->assertTrue($this->isElementPresent("link=Extensions")); - $this->assertTrue($this->isElementPresent("link=Help")); - $this->doAdminLogout(); - $this->deleteAllVisibleCookies(); - } - - function testMenuDetailHelp() - { - $this->jPrint ("starting testMenuDetailHelp\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->jPrint ("Open Using Joomla! and check that help links to Single Article help\n"); - $this->click("link=About Joomla"); - $this->waitForPageToLoad("30000"); - $this->click("link=Using Joomla!"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//button[contains(@onclick, 'Menus_Menu_Item_Article_Single_Article')]")); - $this->click("//div[@id='toolbar-cancel']/button"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Open Categogy Blog and check that help links to Category Blog help\n"); - $this->click("link=Article Category Blog"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//button[contains(@onclick, 'Menus_Menu_Item_Article_Category_Blog')]")); - $this->click("//div[@id='toolbar-cancel']/button"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Open Who's Online Module and check that help links to detailed help\n"); - $this->click("link=Module Manager"); - $this->waitForPageToLoad("30000"); - $this->type("id=filter_search", "who"); - $this->click("css=button[type=\"submit\"]"); - $this->waitForPageToLoad("30000"); - $this->click("link=Who's Online"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//button[contains(@onclick, 'Extensions_Module_Manager_Who_Online')]")); - $this->click("//div[@id='toolbar-cancel']/button"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Open Articles Category and check that help links to detailed help\n"); - $this->type("id=filter_search", "category"); - $this->click("css=button[type=\"submit\"]"); - $this->waitForPageToLoad("30000"); - $this->click("link=Articles Category"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//button[contains(@onclick, 'Extensions_Module_Manager_Articles_Category')]")); - $this->click("//div[@id='toolbar-cancel']/button"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Clear search field\n"); - $this->click("css=button[type=\"button\"]"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Open Admin Logged In Module and check that help links to detailed help\n"); - $this->select("filter_client_id", "label=Administrator"); - $this->waitForPageToLoad("30000"); - $this->click("link=Logged-in Users"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//button[contains(@onclick, 'Extensions_Module_Manager_Admin_Logged')]")); - $this->click("//div[@id='toolbar-cancel']/button"); - $this->waitForPageToLoad("30000"); - $this->click("link=Control Panel"); - $this->waitForPageToLoad("30000"); - $this->doAdminLogout(); - $this->jPrint ("finished with control_panel0005Test/testMenuDetailHelp\n"); - $this->deleteAllVisibleCookies(); - } -} diff --git a/tests/system/suite/doInstall.php b/tests/system/suite/doInstall.php deleted file mode 100644 index 0dfbeb2abb50d..0000000000000 --- a/tests/system/suite/doInstall.php +++ /dev/null @@ -1,112 +0,0 @@ -setUp(); - $cfg = $this->cfg; - $configFile = $cfg->folder.$cfg->path."configuration.php"; - - if (file_exists($configFile)) { - $this->jPrint ("Delete configuration file\n"); - chmod($configFile, 0777); - unlink($configFile); - } - else { - $this->jPrint ("No configuration file found\n"); - } - - $this->jPrint("Starting Installation\n"); - $this->jPrint ("Page through screen 1\n"); - $this->open($cfg->path ."/installation/index.php"); - $this->select("id=jform_language", "value=en-GB"); - $this->waitforElement("//a/span[contains(text(), 'English (')]"); - $this->checkNotices(); - - $this->type("jform_site_name", $cfg->site_name); - $this->type("jform_admin_user", $cfg->username); - $this->type("jform_admin_email", $cfg->admin_email); - $this->type("jform_admin_password", $cfg->password); - $this->type("jform_admin_password2", $cfg->password); - - $this->click("//a[@rel=\"next\"]"); - $this->waitforElement("//h3[contains(text(), 'Database Configuration')]"); - $this->checkNotices(); - - $this->jPrint ("Enter database information\n"); - $dbtype = (isset($cfg->db_type)) ? strtolower($cfg->db_type) : 'mysqli'; - $this->select("jform_db_type", "value=".$dbtype); - $this->type("jform_db_host", $cfg->db_host); - $this->type("jform_db_user", $cfg->db_user); - $this->type("jform_db_pass", $cfg->db_pass); - $this->type("jform_db_prefix", $cfg->db_prefix); - $this->type("jform_db_name", $cfg->db_name); - $this->click("jform_db_old0"); - $this->click("//a[@rel=\"next\"]"); - $this->waitforElement("//h3[contains(text(), 'Finalisation')]"); - $this->checkNotices(); - - // Default is install with sample data - if ($cfg->sample_data !== false) - { - $this->jPrint ("Install sample data and wait for success message\n"); - $this->click("//input[@id='jform_sample_file4']"); - } - else { - $this->jPrint ("Install without sample data\n"); - } - - $this->jPrint ("Finish installation\n"); - $this->click("link=Install"); - $this->checkNotices(); - $this->waitforElement("//h3[contains(text(), 'Joomla! is now installed')]"); - $this->checkNotices(); - - $this->jPrint ("Login to back end\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - - $this->jPrint("Clear post-install messages\n"); - $this->click("link=Post-installation Messages"); - $this->waitForPageToLoad("30000"); - $this->click("//a[contains(@href, 'index.php?option=com_postinstall&view=message&task=unpublish')]"); - $this->waitForPageToLoad("30000"); - $this->click("link=Control Panel"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Check for site menu\n"); - $this->assertEquals($cfg->site_name, $this->getText("link=" . $cfg->site_name)); - - $this->jPrint ("Change error level to value from config\n"); - $this->jClick('Global Configuration'); - $this->click("//a[@href='#page-server']"); - $this->select("jform_error_reporting", "value=" . $cfg->errorReporting); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - - $this->setCache($cfg->cache); - - // Check admin template -- change to hathor if specified in config file - if (isset($cfg->adminTemplate) && $cfg->adminTemplate == 'hathor') { - $this->click("link=Template Manager"); - $this->waitForPageToLoad("30000"); - $this->click("link=Hathor - Default"); - $this->waitForPageToLoad("30000"); - $this->click("jform_home1"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - } - - $this->doAdminLogout(); - $this->deleteAllVisibleCookies(); - } -} diff --git a/tests/system/suite/language/language0001Test.php b/tests/system/suite/language/language0001Test.php deleted file mode 100644 index 00fa90fb8ee75..0000000000000 --- a/tests/system/suite/language/language0001Test.php +++ /dev/null @@ -1,1276 +0,0 @@ -setUp(); - $this->gotoAdmin(); - $this->doAdminLogin(); - $filterOn='doesNotExist'; - - $this->jClick('User Manager'); - $screen="User Manager: Users"; - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-publish']/button"); - $button='Activate'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-unpublish']/button"); - $button='Block'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-delete']/button"); - $button='Delete'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - - $this->jClick('Groups'); - $screen="User Manager: User Groups"; - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Delete')]"); - $button='Delete'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - - $this->jClick('Access Levels'); - $screen='Access Levels'; - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Delete')]"); - $button='Delete'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->jClick('Menu Manager'); - $this->click("link=Menu Items"); - $this->waitForPageToLoad("30000"); - $screen='Menu Manager: Menu Items'; - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Publish')]"); - $button='Publish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Unpublish')]"); - $button='Unpublish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Trash')]"); - $button='Trash'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Check In')]"); - $button='Check In'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Home')]"); - $button='Default'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->jClick('Article Manager'); - $screen='Article Manager: Articles'; - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-publish']/button"); - $button='Publish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-unpublish']/button"); - $button='Unpublish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-archive']/button"); - $button='Archive'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Check In')]"); - $button='Check In'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Trash')]"); - $button='Trash'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("//div/ul[@id='submenu']/li/a[contains(., 'Categories')]"); - $this->waitForPageToLoad("30000"); - $screen='Category Manager'; - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Publish')]"); - $button='Publish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-unpublish']/button"); - $button='Unpublish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Archive')]"); - $button='Archive'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Check In')]"); - $button='Check In'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-trash']/button"); - $button='Trash'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("link=Featured Articles"); - $screen='Featured Articles'; - $this->waitForPageToLoad("30000"); - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Publish')]"); - $button='Publish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Unpublish')]"); - $button='Unpublish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Archive')]"); - $button='Archive'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-checkin']/button"); - $button='Check in'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Trash')]"); - $button='Trash'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - - $this->click("//ul[@id='menu-com-banners']/li[1]/a"); - $screen='Banner Manager: Banners'; - $this->waitForPageToLoad("30000"); - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-publish']/button"); - $button='Publish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-unpublish']/button"); - $button='Unpublish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Archive')]"); - $button='Archive'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Check In')]"); - $button='Check In'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Trash')]"); - $button='Trash'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("//ul[@id='submenu']/li/a[contains(., 'Clients')]"); - $screen='Banner Manager: Clients'; - $this->waitForPageToLoad("30000"); - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Publish')]"); - $button='Publish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-unpublish']/button"); - $button='Unpublish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Archive')]"); - $button='Archive'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Check In')]"); - $button='Check In'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Trash')]"); - $button='Trash'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("//ul[@id='submenu']/li/a[contains(., 'Categories')]"); - $screen='Category Manager: Banners'; - $this->waitForPageToLoad("30000"); - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-publish']/button"); - $button='Publish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Unpublish')]"); - $button='Unpublish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Archive')]"); - $button='Archive'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-checkin']/button"); - $button='Check in'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Trash')]"); - $button='Trash'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("//ul[@id='menu-com-contact']/li[1]/a"); - $screen='Contact Manager: Contacts'; - $this->waitForPageToLoad("30000"); - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Publish')]"); - $button='Publish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Unpublish')]"); - $button='Unpublish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-archive']/button"); - $button='Archive'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-checkin']/button"); - $button='Check in'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Trash')]"); - $button='Trash'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("//ul[@id='submenu']/li/a[contains(., 'Categories')]"); - $screen='Category Manager: Contacts'; - $this->waitForPageToLoad("30000"); - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Publish')]"); - $button='Publish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Unpublish')]"); - $button='Unpublish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-archive']/button"); - $button='Archive'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-checkin']/button"); - $button='Check in'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Trash')]"); - $button='Trash'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("//a[contains(., 'Feeds')]"); - $screen='News Feed Manager: News Feeds'; - $this->waitForPageToLoad("30000"); - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-publish']/button"); - $button='Publish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Unpublish')]"); - $button='Unpublish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Archive')]"); - $button='Archive'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-checkin']/button"); - $button='Check in'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Trash')]"); - $button='Trash'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("//a[contains(@href, 'option=com_categories&extension=com_newsfeeds')]"); - $screen='Category Manager: Newsfeeds'; - $this->waitForPageToLoad("30000"); - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Publish')]"); - $button='Publish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Unpublish')]"); - $button='Unpublish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Archive')]"); - $button='Archive'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-checkin']/button"); - $button='Check in'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Trash')]"); - $button='Trash'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("link=Weblinks"); - $screen='Web Links Manager: Web Links'; - $this->waitForPageToLoad("30000"); - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-publish']/button"); - $button='Publish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Unpublish')]"); - $button='Unpublish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-archive']/button"); - $button='Archive'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-checkin']/button"); - $button='Check in'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Trash')]"); - $button='Trash'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("//a[contains(@href, 'option=com_categories&extension=com_weblinks')]"); - $screen='Category Manager: Weblinks'; - $this->waitForPageToLoad("30000"); - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-publish']/button"); - $button='Publish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-unpublish']/button"); - $button='Unpublish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-archive']/button"); - $button='Archive'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Check In')]"); - $button='Check In'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Trash')]"); - $button='Trash'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("link=Redirect"); - $screen='Redirect Manager: Links'; - $this->waitForPageToLoad("30000"); - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-publish']/button"); - $button='Publish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-unpublish']/button"); - $button='Unpublish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-archive']/button"); - $button='Archive'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Trash')]"); - $button='Trash'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("link=Extension Manager"); - $this->waitForPageToLoad("30000"); - $this->click("link=Manage"); - $screen='Extension Manager: Manage'; - $this->waitForPageToLoad("30000"); - $this->filterView($filterOn); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - try - { - $this->assertTrue($this->isTextPresent("There are no extensions installed matching your query"),$screen .' screen error message not displayed or changed'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("//div[@id='toolbar-publish']/button"); - $button='Publish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("//div[@id='toolbar-unpublish']/button"); - $button='Unpublish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert()); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("//Button[contains(., 'Uninstall')]"); - $button='Uninstall'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert()); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("link=Module Manager"); - $screen='Module Manager: Modules'; - $this->waitForPageToLoad("30000"); - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-copy']/button"); - $button='Copy'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-publish']/button"); - $button='Publish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Unpublish')]"); - $button='Unpublish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Check In')]"); - $button='Check In'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Trash')]"); - $button='Trash'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("//a[contains(., 'Plugin Manager')]"); - $screen='Plugin Manager: Plugins'; - $this->waitForPageToLoad("30000"); - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-publish']/button"); - $button='Publish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-unpublish']/button"); - $button='Unpublish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-checkin']/button"); - $button='Check in'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("//a[contains(., 'Template Manager')]"); - $screen='Template Manager: Styles'; - $this->waitForPageToLoad("30000"); - $this->filterView($filterOn); - $this->click("//div[@id='toolbar-default']/button"); - $button='Default'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert()); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("//div[@id='toolbar-edit']/button"); - $button='Edit'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert()); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("//Button[contains(., 'Duplicate')]"); - $button='Duplicate'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert()); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("//Button[contains(., 'Delete')]"); - $button='Delete'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert()); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("link=Language Manager"); - $this->waitForPageToLoad("30000"); - $this->click("//a[contains(@href, 'option=com_languages&view=languages')]"); - $screen='Language Manager: Content Languages'; - $this->waitForPageToLoad("30000"); - $this->filterView($filterOn); - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Publish')]"); - $button='Publish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Unpublish')]"); - $button='Unpublish'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("checkall-toggle"); - $this->click("//Button[contains(., 'Trash')]"); - $button='Trash'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - try - { - $this->assertEquals("Please first make a selection from the list", $this->getAlert(), 'Should get alert message'); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->click("//a[contains(., 'Mass Mail Users')]"); - $screen='Mass Mail'; - $this->waitForPageToLoad("30000"); - $this->click("//Button[contains(., 'Send email')]"); - try - { - $this->assertEquals("Please enter a subject", $this->getAlert()); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->type("jform_subject", "test"); - $this->click("//Button[contains(., 'Send email')]"); - try - { - $this->assertEquals("Please enter a message", $this->getAlert()); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->type("jform_message", "test"); - $this->click("//div[@id='toolbar-envelope']/button"); - $button='Send'; - $this->jPrint ("Testing error message when clicking $button button with nothing selected at $screen screen.\n"); - $this->waitForPageToLoad("30000"); - try - { - $this->assertTrue($this->isTextPresent("No users could be found in this group.")); - } - catch (PHPUnit_Framework_AssertionFailedError $e) - { - array_push($this->verificationErrors, $this->getTraceFiles($e)); - } - $this->gotoAdmin(); - $this->doAdminLogout(); - $this->deleteAllVisibleCookies(); - } -} - diff --git a/tests/system/suite/language/language0002Test.php b/tests/system/suite/language/language0002Test.php deleted file mode 100644 index a6d2cbcafe9f1..0000000000000 --- a/tests/system/suite/language/language0002Test.php +++ /dev/null @@ -1,105 +0,0 @@ -setUp(); - $cfg = $this->cfg; - $configFile = $cfg->folder.$cfg->path."configuration.php"; - - if (file_exists($configFile)) { - $this->jPrint ("Delete configuration file\n"); - chmod($configFile, 0777); - unlink($configFile); - } - else { - $this->jPrint ("No configuration file found\n"); - } - - $this->jPrint("Starting Installation\n"); - $this->jPrint ("Page through screen 1\n"); - $this->open($cfg->path ."/installation/index.php"); - $this->select("id=jform_language", "value=fr-FR"); - $this->waitforElement("//a/span[contains(text(), 'Français (Fr)')]"); - $this->checkNotices(); - - $this->type("jform_site_name", $cfg->site_name); - $this->type("jform_admin_user", $cfg->username); - $this->type("jform_admin_email", $cfg->admin_email); - $this->type("jform_admin_password", $cfg->password); - $this->type("jform_admin_password2", $cfg->password); - - $this->click("//a[@rel=\"next\"]"); - $this->waitforElement("//h3[contains(text(), 'Configuration de la base de données')]"); - $this->checkNotices(); - - $this->jPrint ("Enter database information\n"); - $dbtype = (isset($cfg->db_type)) ? strtolower($cfg->db_type) : 'mysqli'; - $this->select("jform_db_type", "value=".$dbtype); - $this->type("jform_db_host", $cfg->db_host); - $this->type("jform_db_user", $cfg->db_user); - $this->type("jform_db_pass", $cfg->db_pass); - $this->type("jform_db_prefix", $cfg->db_prefix); - $this->type("jform_db_name", $cfg->db_name); - $this->click("jform_db_old0"); - $this->click("//a[@rel=\"next\"]"); - $this->waitforElement("//h3[contains(text(), 'Finalisation')]"); - $this->checkNotices(); - - // Default is install with sample data - if ($cfg->sample_data !== false) - { - $this->jPrint ("Install sample data and wait for success message\n"); - $this->click("//input[@id='jform_sample_file4']"); - } - else { - $this->jPrint ("Install without sample data\n"); - } - - $this->jPrint ("Finish installation\n"); - $this->click("link=Installer"); - $this->checkNotices(); - $this->waitforElement("//h3[contains(text(), 'Félicitations! Joomla! est installé.')]"); - $this->checkNotices(); - - $this->jPrint ("Login to back end\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - - $this->jPrint ("Check for site menu\n"); - $this->assertEquals($cfg->site_name, $this->getText("link=" . $cfg->site_name)); - - $this->jPrint ("Change error level to maximum\n"); - $this->jClick('Global Configuration'); - $this->click("//a[@href='#page-server']"); - $this->select("jform_error_reporting", "value=maximum"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - - $this->setCache($cfg->cache); - - // Check admin template -- change to hathor if specified in config file - if (isset($cfg->adminTemplate) && $cfg->adminTemplate == 'hathor') { - $this->click("link=Template Manager"); - $this->waitForPageToLoad("30000"); - $this->click("link=Hathor - Default"); - $this->waitForPageToLoad("30000"); - $this->click("jform_home1"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - } - - $this->doAdminLogout(); - $this->deleteAllVisibleCookies(); - } -} - diff --git a/tests/system/suite/menus/menu0001Test.php b/tests/system/suite/menus/menu0001Test.php deleted file mode 100644 index 7ac772efeb5d7..0000000000000 --- a/tests/system/suite/menus/menu0001Test.php +++ /dev/null @@ -1,207 +0,0 @@ -jPrint ("Starting testMenuItemAdd()\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->jPrint ("Navigate to Menu Manager and add new menu\n"); - $this->click("link=Menu Manager"); - $this->waitForPageToLoad("30000"); - $this->click("//div[@id='toolbar-new']/button"); - $this->waitForPageToLoad("30000"); - $this->type("jform_title", "Functional Test Menu"); - $this->type("jform_menutype", "function-test-menu"); - $this->type("jform_menudescription", "Menu for testing"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Navigate to Menu Item Manager\n"); - $this->click("link=Menu Items"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Add new menu item\n"); - $this->click("//div[@id='toolbar-new']/button"); - $this->waitForPageToLoad("60000"); - - $this->jPrint ("Select the menu item type\n"); - $this->click("//a[contains(text(), 'Select')]"); - $this->waitforElement("//div[contains(@id, 'sbox-window')]"); - - $this->jPrint ("Select Single Article\n"); - $this->click("link=Articles"); - $this->click("//a[contains(., 'Single Article')]"); - $this->waitForPageToLoad("60000"); - $this->jPrint ("Enter menu item info\n"); - $this->type("jform_title", "Functional Test Menu Item"); - $this->click("//label[@for='jform_published0']"); - $this->select("jform_menutype", "value=function-test-menu"); - $this->jPrint ("Open Select Article modal\n"); - sleep(2); - $this->click("//a[contains(@href,'jSelectArticle')]"); - $this->waitforElement("//iframe[contains(@src, 'jSelectArticle')]"); - $this->click("link=Australian Parks"); - $this->waitforElement("//input[@id='jform_request_id_name']"); - - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - - // Open menu item and make sure type displays - $this->click("link=Functional Test Menu"); - $this->waitForPageToLoad("30000"); - $this->click("link=Functional Test Menu Item"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//input[@value='Single Article']")); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Navigate to Module Manager and add new menu module\n"); - $this->click("link=Module Manager"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Select New Module\n"); - $this->click("//div[@id='toolbar-new']/button"); - $this->waitforElement("//ul[@id='new-modules-list']"); - - $this->jPrint ("Select Menu module\n"); - $this->click("//li/a/strong[ text() = 'Menu']"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Fill in menu name and info\n"); - - $this->type("jform_title", "Functional Test Menu"); - $this->select("//select[@id='jform_position']", "value=position-7"); - // Wait for jSelectPosition element to disappear - - $this->click("//label[@for='jform_published0']"); - $this->click("link=Menu Assignment"); - $this->select("jform[assignment]", "value=0"); // all pages - $this->select("jform[assignment]", "label=On all pages"); - $this->click("link=Basic Options"); - $this->select("jform_params_menutype", "value=function-test-menu"); - $this->jPrint ("Save menu\n"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Navigate to Front End and make sure new menu is there\n"); - $this->gotoSite(); - $this->assertTrue($this->isTextPresent("Functional Test Menu")); - $this->assertTrue($this->isElementPresent("link=Functional Test Menu Item")); - - $this->jPrint ("Click on new menu choice and make sure article shows\n"); - $this->click("link=Functional Test Menu Item"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Australian Parks")); - - $this->jPrint ("Navigate to back end\n"); - $this->gotoAdmin(); - - $this->jPrint ("Navigate to Module Manager and delete new menu module\n"); - $this->click("link=Module Manager"); - $this->waitForPageToLoad("30000"); - $this->type("filter_search", "functional test"); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - $this->click("cb0"); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-trash']/button"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Navigate to Menu Item Manager and delete new menu item\n"); - $this->click("link=Functional Test Menu"); - $this->waitForPageToLoad("30000"); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-trash']/button"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Navigate to Menu Manager and delete new menu\n"); - $this->click("//ul[@id='submenu']/li[1]/a"); - $this->waitForPageToLoad("30000"); - $this->click("cb6"); - $this->click("//div[@id='toolbar-delete']/button"); - sleep(2); - $this->assertTrue((bool)preg_match("/^Are you sure you want to delete/",$this->getConfirmation())); - - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Menu type successfully deleted")); - $this->jPrint ("Navigate to front end and make sure menu is not shown\n"); - $this->gotoSite(); - $this->assertFalse($this->isTextPresent("Functional Test Menu")); - $this->assertFalse($this->isElementPresent("link=Functional Test Menu Item")); - - $this->gotoAdmin(); - $this->doAdminLogout(); - $this->jPrint ("Finished testMenuItemAdd()\n"); - $this->deleteAllVisibleCookies(); - } - - function testUnpublishedCategoryList() - { - $this->jPrint ("Starting testUnpublishedCategoryList()\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->jPrint ("Create a new Category List menu item \n"); - $this->click("link=Control Panel"); - $this->waitForPageToLoad("30000"); - $this->click("link=Main Menu"); - $this->waitForPageToLoad("30000"); - $this->click("//div[@id='toolbar-new']/button"); - $this->waitForPageToLoad("30000"); - $this->click("//a[contains(text(), 'Select')]"); - $this->waitforElement("//div[contains(@id, 'sbox-window')]"); - - $this->click("link=Articles"); - $this->click("//a[contains(., 'Category List')]"); - $this->waitForPageToLoad("30000"); - $this->type("jform_title", "Category List Test"); - $this->click("//label[@for='jform_published0']"); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - $this->click("link=Category Manager"); - $this->waitForPageToLoad("30000"); - // Change to toggle published - $this->togglePublished("Sample Data-Articles", 'Category'); - $this->doAdminLogout(); - $this->gotoSite(); - $link = $this->cfg->path . 'index.php/category-list-test'; - $this->open($link, 'true'); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Category not found")); - - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->click("link=Main Menu"); - $this->waitForPageToLoad("30000"); - $this->type("filter_search", "Category List Test"); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-trash']/button"); - $this->waitForPageToLoad("30000"); - $this->select("filter_published", "label=Trashed"); - $this->waitForPageToLoad("30000"); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-delete']/button"); - $this->waitForPageToLoad("30000"); - $this->click("link=Category Manager"); - $this->waitForPageToLoad("30000"); - $this->togglePublished("Sample Data-Articles", 'Category'); - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container'][contains(., 'success')]")); - $this->doAdminLogout(); - $this->jPrint ("Finished testUnpublishedCategoryList()\n"); - $this->deleteAllVisibleCookies(); - } -} - diff --git a/tests/system/suite/menus/menu0002Test.php b/tests/system/suite/menus/menu0002Test.php deleted file mode 100644 index 30a83a838b2b5..0000000000000 --- a/tests/system/suite/menus/menu0002Test.php +++ /dev/null @@ -1,170 +0,0 @@ -setUp(); - $this->gotoAdmin(); - $this->jPrint ("starting testSelectTypeWithoutSave\n"); - $this->doAdminLogin(); - - $this->jPrint ("Add new menu item to User Menu\n"); - $this->click("link=User Menu"); - $this->waitForPageToLoad("30000"); - - $this->click("//div[@id='toolbar-new']/button"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Enter the Title\n"); - $this->type("jform_title", "Test Menu Item"); - $this->jPrint ("Select the menu item type\n"); - $this->click("//a[contains(text(), 'Select')]"); - $this->waitforElement("//div[contains(@id, 'sbox-window')]"); - sleep(2); - - $this->jPrint ("Select External URL\n"); - $this->click("Link=System Links"); - $this->click("//a[contains(., 'External URL')]"); - $this->waitForPageToLoad("60000"); - - $this->jPrint ("Check that name is still there\n"); - $this->assertEquals("Test Menu Item", $this->getValue("jform_title")); - - $this->jPrint ("Save the menu item\n"); - $this->click("//div[@id='toolbar-apply']/button"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Change the title\n"); - $this->type("jform_title", "Test Menu Item - Edit"); - $this->jPrint ("Change the menu item type\n"); - $this->click("//a[contains(text(), 'Select')]"); - $this->waitforElement("//div[contains(@id, 'sbox-window')]"); - - $this->click("Link=System Links"); - $this->click("//a[contains(., 'Menu Item Alias')]"); - $this->waitForPageToLoad("60000"); - $this->jPrint ("Check that new name is still there\n"); - $this->assertEquals("Test Menu Item - Edit", $this->getValue("jform_title")); - - $this->jPrint ("Change the title again\n"); - $this->type("jform_title", "Test Menu Item - Edit Again"); - $this->click("//a[contains(text(), 'Select')]"); - $this->waitforElement("//div[contains(@id, 'sbox-window')]"); - $this->click("Link=System Links"); - $this->click("//a[contains(., 'Text Separator')]"); - $this->waitForPageToLoad("30000"); - $this->assertEquals("Test Menu Item - Edit Again", $this->getValue("jform_title")); - - $this->click("//div[@id='toolbar-cancel']/button"); - $this->waitForPageToLoad("30000"); - - $this->click("link=Fruit Shop"); - $this->waitForPageToLoad("30000"); - $this->click("link=User Menu"); - $this->waitForPageToLoad("30000"); - - $this->type("filter_search", "Test Menu Item"); - - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-trash']/button"); - $this->waitForPageToLoad("30000"); - $this->select("filter_published", "label=Trashed"); - $this->waitForPageToLoad("30000"); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-delete']/button"); - $this->waitForPageToLoad("30000"); - - $this->doAdminLogout(); - $this->jPrint ("finishing testSelectTypeWithoutSave\n"); - $this->deleteAllVisibleCookies(); - } - - public function testSelectAndSave() - { - // get logged in - $this->jPrint ("starting testSelectAndSave\n"); - $this->setUp(); - $this->gotoAdmin(); - $this->doAdminLogin(); - - $this->jPrint ("Add new menu item to User Menu\n"); - $this->click("link=User Menu"); - $this->waitForPageToLoad("30000"); - - $this->click("//div[@id='toolbar-new']/button"); - $this->waitForPageToLoad("30000"); - - $saltGroup = mt_rand(); - - $this->type("jform_title", "Test Menu Item" . $saltGroup); - $this->click("//a[contains(text(), 'Select')]"); - $this->waitforElement("//div[contains(@id, 'sbox-window')]"); - - $this->jPrint ("Select a menu item type\n"); - $this->click("link=Newsfeeds"); - $this->click("//a[contains(., 'List All News Feed Categories')]"); - $this->waitForPageToLoad("60000"); - - $this->jPrint ("Make sure our changes were kept\n"); - $this->assertEquals("Test Menu Item" . $saltGroup, $this->getValue("jform_title"), 'Our title edits were not retained.'); - $this->click("//div[@id='toolbar-apply']/button"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Edit the title again and select a different type\n"); - $this->type("jform_title", "Test Menu Item - Edit"); - $this->click("//a[contains(text(), 'Select')]"); - $this->waitforElement("//div[contains(@id, 'sbox-window')]"); - - $this->click("Link=Contacts"); - $this->click("//a[contains(., 'Single Contact')]"); - $this->waitForPageToLoad("30000"); - $this->assertEquals("Test Menu Item - Edit", $this->getValue("jform_title"), 'Our title edits were not retained.'); - - $this->type("jform_title", "Test Menu Item - Edit Again"); - $this->click("//a[contains(text(), 'Select')]"); - $this->waitforElement("//div[contains(@id, 'sbox-window')]"); - $this->click("//a[contains(., 'External URL')]"); - $this->waitForPageToLoad("30000"); - - $this->assertEquals("Test Menu Item - Edit Again", $this->getValue("jform_title"), 'Our title edits were not retained.'); - $this->click("//div[@id='toolbar-cancel']/button"); - $this->waitForPageToLoad("30000"); - - $this->click("link=Fruit Shop"); - $this->waitForPageToLoad("30000"); - $this->click("link=User Menu"); - $this->waitForPageToLoad("30000"); - - $this->jPrint ("Clean up - we trash and delete our item and then log out\n"); - $this->type("filter_search", "Test Menu Item" . $saltGroup); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - $this->click("cb0"); - $this->click("//div[@id='toolbar-trash']/button"); - $this->waitForPageToLoad("30000"); - $this->select("filter_published", "label=Trashed"); - $this->waitForPageToLoad("30000"); - $this->click("cb0"); - $this->click("//div[@id='toolbar-delete']/button"); - $this->waitForPageToLoad("30000"); - - $this->gotoAdmin(); - $this->doAdminLogout(); - $this->jPrint ("finishing testSelectAndSave\n"); - $this->deleteAllVisibleCookies(); - } -} diff --git a/tests/system/suite/modules/module0001Test.php b/tests/system/suite/modules/module0001Test.php deleted file mode 100644 index ba1c5434b1463..0000000000000 --- a/tests/system/suite/modules/module0001Test.php +++ /dev/null @@ -1,101 +0,0 @@ -setUp(); - $this->jPrint ("testUnpublishModule"."\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->gotoSite(); - $this->jPrint ("Check that login form is present"."\n"); - $this->assertTrue($this->isTextPresent("Login Form")); - $this->gotoAdmin(); - $this->jPrint("Goto module manager and disable login module"."\n"); - $this->click("link=Module Manager"); - $this->waitForPageToLoad("30000"); - - $this->type("filter_search", "Login Form"); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - $this->click("cb0"); - $this->click("//div[@id='toolbar-unpublish']/button"); - $this->waitForPageToLoad("30000"); - - $this->jPrint("Go back to front end and check that login is not shown"."\n"); - $this->gotoSite(); - $this->assertFalse($this->isTextPresent("Login Form")); - - $this->jPrint("Go back to module manager and enable login module"."\n"); - $this->gotoAdmin(); - $this->click("link=Module Manager"); - $this->waitForPageToLoad("30000"); - - $this->type("filter_search", "Login Form"); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - $this->click("cb0"); - $this->click("//div[@id='toolbar-publish']/button"); - $this->waitForPageToLoad("30000"); - $this->doAdminLogout(); - - $this->deleteAllVisibleCookies(); - } - - function testPublishModule() - { - $this->setUp(); - $this->jPrint("testPublishModule"."\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->click("link=Module Manager"); - $this->waitForPageToLoad("30000"); - - $this->jPrint("Go to back end and disable login module"."\n"); - $this->type("filter_search", "Login Form"); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - $this->click("cb0"); - $this->click("//div[@id='toolbar-unpublish']/button"); - $this->waitForPageToLoad("30000"); - - $this->gotoSite(); - $this->jPrint("Go to front and check that login form is not shown"."\n"); - $this->assertFalse($this->isTextPresent("Login Form")); - - $this->jPrint("Go to module manager and enable login module"."\n"); - $this->gotoAdmin(); - $this->click("link=Module Manager"); - $this->waitForPageToLoad("30000"); - - $this->type("filter_search", "Login Form"); - $this->click("//button[@type='submit']"); - $this->waitForPageToLoad("30000"); - $this->click("cb0"); - $this->click("//div[@id='toolbar-publish']/button"); - $this->waitForPageToLoad("30000"); - - $this->jPrint("Go to front end and check that login form is present"."\n"); - $this->gotoSite(); - $this->assertTrue($this->isTextPresent("Login Form")); - - $this->gotoAdmin(); - $this->doAdminLogout(); - - $this->deleteAllVisibleCookies(); - } - -} - diff --git a/tests/system/suite/modules/module0002Test.php b/tests/system/suite/modules/module0002Test.php deleted file mode 100644 index 6e4b38e08a45e..0000000000000 --- a/tests/system/suite/modules/module0002Test.php +++ /dev/null @@ -1,75 +0,0 @@ -setUp(); - $this->jPrint("Starting ". __FUNCTION__ . "\n"); - $this->gotoSite(); - $this->jPrint("Check that login form is present"."\n"); - $this->assertTrue($this->isTextPresent("Login Form")); - - $this->jPrint ("Check navigation modules.\n"); - $link = $this->cfg->path . 'index.php/using-joomla/extensions/modules'; - $this->open($link); - $this->click("link=Navigation Modules"); - $this->waitForPageToLoad("30000"); - $this->click("link=Breadcrumbs Module"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//ul[contains(@class, 'breadcrumb')]//li/a[contains(text(),'Home')]")); - $this->assertTrue($this->isElementPresent("//ul[contains(@class, 'breadcrumb')]//li/a[contains(text(),'Navigation Modules')]")); - - $this->jPrint ("Check content modules.\n"); - $this->click("link=Content Modules"); - $this->waitForPageToLoad("30000"); - $this->click("link=Most Read Content"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("link=Australian Parks")); - $this->assertTrue($this->isElementPresent("link=Fruit Shop")); - $this->click("link=News Flash"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("News Flash")); - $this->click("link=Latest Articles"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("link=Beginners")); - $this->assertTrue($this->isElementPresent("link=Options")); - $this->click("link=Archive"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("link=January, 2011")); - $this->click("link=Related Items"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("link=Archive Module")); - $this->assertTrue($this->isElementPresent("link=Most Read Content")); - $this->click("link=Article Categories"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("link=Growers")); - $this->assertTrue($this->isElementPresent("link=Recipes")); - $this->click("link=Article Category"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("link=Koala")); - $this->assertTrue($this->isElementPresent("link=Wobbegone")); - - $this->jPrint ("Check user modules.\n"); - $this->click("link=User Modules"); - $this->waitForPageToLoad("30000"); - $this->click("link=Who's Online"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//h3[contains(text(),\"Who's Online\")]")); - - $this->deleteAllVisibleCookies(); - } - -} - diff --git a/tests/system/suite/redirect/redirect0001Test.php b/tests/system/suite/redirect/redirect0001Test.php deleted file mode 100644 index 632b915ad8ab7..0000000000000 --- a/tests/system/suite/redirect/redirect0001Test.php +++ /dev/null @@ -1,141 +0,0 @@ -setUp(); - $this->jPrint ("Starting testCreateRedirect.\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - - $this->jPrint ("Navigate to redirect and create new redirect.\n"); - $this->click("link=Redirect"); - $this->waitForPageToLoad("30000"); - $this->click("//div[@id='toolbar-new']/button"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Set redirect from bad url to Getting Started\n"); - $badLink = $this->cfg->host . $this->cfg->path . 'index.php/using-joomla/extensions/components/content-component/single-articlexxx'; - $goodLink = $this->cfg->host . $this->cfg->path . 'index.php/getting-started'; - $this->type("jform_old_url", $badLink); - $this->type("jform_new_url", $goodLink); - $this->click("//div[@id='toolbar-save']/button"); - $this->waitForPageToLoad("30000"); - - $this->jPrint("Goto plugin manager and enable redirect plugin\n"); - - $this->click("link=Plugin Manager"); - - $this->waitForPageToLoad("30000"); - - - - $this->type("filter_search", "redirect"); - - $this->click("//button[@type='submit']"); - - $this->waitForPageToLoad("30000"); - - $this->click("cb0"); - - $this->click("//div[@id='toolbar-publish']/button"); - - $this->waitForPageToLoad("30000"); - $this->doAdminLogout(); - - $this->jPrint ("Go to front end and try bad url \n"); - $this->gotoSite(); - $this->open($badLink); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Check that we get the Getting Started page\n"); - $this->assertStringEndsWith('index.php/getting-started', $this->getLocation(), 'URL should be Getting Started'); - $this->assertTrue($this->isElementPresent("//div[@class='page-header']/h2[contains(., 'Getting Started')]")); - - $this->jPrint ("Go to back end and delete the redirect\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->click("link=Redirect"); - $this->waitForPageToLoad("30000"); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-trash']/button"); - $this->waitForPageToLoad("30000"); - $this->select("filter_state", "label=Trashed"); - $this->waitForPageToLoad("30000"); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-delete']/button"); - $this->waitForPageToLoad("30000"); - $this->select("filter_state", "label=- Select Status -"); - $this->waitForPageToLoad("30000"); - $this->doAdminLogout(); - $this->deleteAllVisibleCookies(); - } - - function testDeleteRedirect() - { - $this->jPrint ("Starting testDeleteRedirect.\n"); - $this->deleteAllVisibleCookies(); - $this->gotoAdmin(); - $this->doAdminLogin(); - - $badLink = $this->cfg->host . $this->cfg->path . 'index.php/using-joomla/extensions/components/content-component/single-articlexxx'; - $goodLink = $this->cfg->host . $this->cfg->path . 'index.php/getting-started'; - $this->jPrint ("Go to front end and try bad URL now without redirect\n"); - $this->gotoSite(); - $this->open($badLink, "true"); // need true to allow selenium to load error page - $this->assertTrue($this->isElementPresent("//h1[contains(text(),'page cannot be found')]")); - - $this->jPrint ("Go to back end and check that this link has been added as a redirect\n"); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->click("link=Redirect"); - $this->waitForPageToLoad("30000"); - $this->jPrint ("Check that bad link is there\n"); - $this->assertTrue($this->isElementPresent("//td/a[@title='" . $badLink . "']")); - - $this->jPrint ("Delete redirect item and log out\n"); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-trash']/button"); - $this->waitForPageToLoad("30000"); - $this->select("filter_state", "label=Trashed"); - $this->waitForPageToLoad("30000"); - $this->click("checkall-toggle"); - $this->click("//div[@id='toolbar-delete']/button"); - $this->waitForPageToLoad("30000"); - $this->select("filter_state", "label=- Select Status -"); - $this->waitForPageToLoad("30000"); - - - $this->jPrint("Goto plugin manager and disable redirect plugin\n"); - - $this->click("link=Plugin Manager"); - - $this->waitForPageToLoad("30000"); - - - - $this->type("filter_search", "redirect"); - - $this->click("//button[@type='submit']"); - - $this->waitForPageToLoad("30000"); - - $this->click("cb0"); - - $this->click("//div[@id='toolbar-unpublish']/button"); - - $this->waitForPageToLoad("30000"); - $this->doAdminLogout(); - } - -} diff --git a/tests/system/suite/sample_data/sample_data0001Test.php b/tests/system/suite/sample_data/sample_data0001Test.php deleted file mode 100644 index 8a65f4220aeeb..0000000000000 --- a/tests/system/suite/sample_data/sample_data0001Test.php +++ /dev/null @@ -1,122 +0,0 @@ -setUp(); - $this->gotoAdmin(); - $this->setDefaultTemplate('Hathor'); - $this->doAdminLogin(); - $this->jPrint("Open up category manager" . "\n"); - $this->click("link=Category Manager"); - $this->waitForPageToLoad("30000"); - $this->jPrint("Move Modules category up one" . "\n"); - $this->click("//table[@class='adminlist']/tbody//tr//td/a[contains(text(), 'Modules')]/../../td//a[@title='Move Up']"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container'][contains(., 'success')]")); - $this->jPrint("Move Modules category down one" . "\n"); - $this->click("//table[@class='adminlist']/tbody//tr//td/a[contains(text(), 'Modules')]/../../td//a[@title='Move Down']"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//div[@id='system-message-container'][contains(., 'success')]")); - $this->doAdminLogout(); - $this->setDefaultTemplate('isis'); - $this->jPrint("Finish testModuleOrder" . "\n"); - $this->deleteAllVisibleCookies(); - } - - function testMenuItems() - { - $this->setUp(); - $this->gotoAdmin(); - $this->doAdminLogin(); - $this->jPrint("Go to front end" . "\n"); - $this->gotoSite(); - $this->click("link=Home"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("User Name")); - $this->assertTrue($this->isTextPresent("Password")); - $this->assertTrue($this->isElementPresent("Submit")); - $this->click("link=Home"); - $this->waitForPageToLoad("30000"); - $this->jPrint("Go to Sample Data" . "\n"); - $this->click("link=Sample Sites"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Sample Sites")); - $this->click("link=Home"); - $this->jPrint("Load search" . "\n"); - $this->type("mod-search-searchword", "search"); - $this->keyPress("mod-search-searchword", "13"); - - $this->waitForPageToLoad("30000"); - - $this->click("link=Home"); - $this->waitForPageToLoad("30000"); - - $this->jPrint("Go to Site Map" . "\n"); - $this->click("link=Site Map"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Site Map")); - - $this->click("link=Home"); - $this->waitForPageToLoad("30000"); - $this->jPrint("Go to Using Joomla!" . "\n"); - $this->click("link=Using Joomla!"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Using Joomla!")); - $this->jPrint("Go to Extensions" . "\n"); - $this->click("link=Using Extensions"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("Extensions")); - $this->assertTrue($this->isElementPresent("link=Components")); - $this->assertTrue($this->isElementPresent("link=Languages")); - $this->assertTrue($this->isElementPresent("link=Templates")); - $this->assertTrue($this->isElementPresent("link=Modules")); - $this->assertTrue($this->isElementPresent("link=Components")); - - $this->jPrint("Go to The Joomla! Community" . "\n"); - $this->click("link=The Joomla! Community"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("The Joomla! Community")); - - $this->jPrint("Go to The Joomla! Project" . "\n"); - $this->click("link=The Joomla! Project"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isTextPresent("The Joomla! Project")); - $this->jPrint("Go to Using Joomla!" . "\n"); - $this->click("link=Using Joomla!"); - $this->waitForPageToLoad("30000"); - $this->jPrint("Go to Extensions" . "\n"); - $this->click("link=Using Extensions"); - $this->waitForPageToLoad("30000"); - $this->jPrint("Go to Components" . "\n"); - $this->click("link=Components"); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("link=Contact Component")); - $this->assertTrue($this->isElementPresent("link=Content Component")); - $this->assertTrue($this->isElementPresent("link=Weblinks Component")); - - $this->assertTrue($this->isElementPresent("link=News Feeds Component")); - $this->assertTrue($this->isElementPresent("link=Users Component")); - $this->assertTrue($this->isElementPresent("link=Administrator Components")); - $this->assertTrue($this->isElementPresent("link=Search Components")); - $this->click("link=Home"); - $this->waitForPageToLoad("30000"); - $this->gotoAdmin(); - $this->doAdminLogout(); - $this->jPrint("Finish testMenuItems" . "\n"); - $this->deleteAllVisibleCookies(); - } - -} diff --git a/tests/system/suite/security/security0001Test.php b/tests/system/suite/security/security0001Test.php deleted file mode 100644 index c927d29f4cdd5..0000000000000 --- a/tests/system/suite/security/security0001Test.php +++ /dev/null @@ -1,83 +0,0 @@ -jPrint("Start testXSS" . "\n"); - $this->setUp(); - $this->gotoSite(); - $this->jPrint ("testing some XSS URLs\n"); - $link = $this->cfg->path . 'index.php?option=com_contact&view=category&catid=26&id=36&Itemid=-1">'; - $this->open($link); - $this->waitForPageToLoad("30000"); - $this->assertFalse($this->isElementPresent("//form/script[contains(text(), 'alert')]")); - $link = $this->cfg->path . 'index.php?option=com_content&view=category&catid=26&id=36&Itemid=-1">'; - $this->open($link); - $this->waitForPageToLoad("30000"); - $this->assertFalse($this->isElementPresent("//form/script[contains(text(), 'alert')]")); - $link = $this->cfg->path . 'index.php?option=com_newsfeeds&view=category&catid=26&id=36&Itemid=-1">'; - $this->open($link); - $this->waitForPageToLoad("30000"); - $this->assertFalse($this->isElementPresent("//form/script[contains(text(), 'alert')]")); - $link = $this->cfg->path . 'index.php?option=com_xxxinvalid&view=category&catid=26&id=36&Itemid=-1">'; - $this->open($link); - $this->waitForPageToLoad("30000"); - $this->assertFalse($this->isElementPresent("//form/script[contains(text(), 'alert')]")); - $link = $this->cfg->path . 'index.php?option=com_contact&view=featured&id=16&Itemid=452&whateverehere=">'; - $this->open($link); - $this->waitForPageToLoad("30000"); - $this->assertFalse($this->isElementPresent("//form/script[contains(text(), 'alert')]")); - $link = $this->cfg->path . 'index.php?option=com_content&view=category&id=19&Itemid=260&whateverehere=">'; - $this->open($link); - $this->waitForPageToLoad("30000"); - $this->assertFalse($this->isElementPresent("//form/script[contains(text(), 'alert')]")); - $link = $this->cfg->path . 'index.php?option=com_newsfeeds&view=category&id=17&Itemid=253&limit=10&filter_order_Dir=ASC&filter_order=ordering&whateverehere=">'; - $this->open($link); - $this->waitForPageToLoad("30000"); - $this->assertFalse($this->isElementPresent("//form/script[contains(text(), 'alert')]")); - $link = $this->cfg->path . 'index.php?option=com_weblinks&view=category&id=32&Itemid=274&whateverehere=">'; - $this->open($link); - $this->waitForPageToLoad("30000"); - $link = $this->cfg->path . 'index.php/using-joomla/extensions/components/content-component/article-category-blog?dce01%2522%253e%253cscript%253ealert%25281%2529%253c%252fscript%253e865402a94b=1'; - $this->open($link); - $this->waitForPageToLoad("30000"); - $this->assertTrue($this->isElementPresent("//link[contains(@href,\"