Esempio n. 1
0
// Definitions:
define('RUN_SELECTED_LABEL', 'Run selected');
define('SELECT_ALL_LABEL', 'Select All');
define('CLEAR_ALL_LABEL', 'Clear All');
define('RESET_TESTER_LABEL', 'Reload Tests');
// start the session
session_start();
// reset tester
if (isset($_REQUEST['reset']) && 'true' === $_REQUEST['reset']) {
    session_destroy();
    session_start();
    // we will not run any suites in this case
    unset($_REQUEST['runSuites']);
}
// create the folderParser object
$folderParser = new FolderParser(ROOT_DIR, $exclude);
// Process the request:
$runSuites = array();
$testCase = null;
if (isset($_REQUEST['runSuites']) && is_array($_REQUEST['runSuites'])) {
    $runSuites = $_REQUEST['runSuites'];
}
if (isset($_REQUEST['keepOpen'])) {
    $keepOpen = trim($_REQUEST['keepOpen']);
} else {
    $keepOpen = '';
}
$keepOpen = explode(' ', $keepOpen);
// if is set code coverage
if (isset($_REQUEST['coverage']) && 'true' === $_REQUEST['coverage']) {
    // get the group name and the file name
Esempio n. 2
0
/**
 * Displays the menu form fields.
 *
 * @param FolderParser $folderParser folderParser object
 * @param string $folderId folder id
 */
function displayMenu($folderParser, $folderId)
{
    global $runSuites;
    $folder = $folderParser->getFolder($folderId);
    if (isset($folder['subfolders'])) {
        foreach ($folder['subfolders'] as $subId) {
            $subfolder = $folderParser->getFolder($subId);
            $dir = str_replace(ROOT_DIR, '', $folder);
            // set the display state:
            $display = 'none';
            $arrow = 'collapsed.png';
            foreach ($runSuites as $suiteId => $tests) {
                if (strstr($suiteId, $dir)) {
                    $display = 'block';
                    $arrow = 'expanded.png';
                    break;
                }
            }
            printf('<div class="groupName" onclick="toggleGroup(\'%s\')"><img id="arrow_%s" class="arrow" src="images/%s"/></span> %s</div>', $subId, $subId, $arrow, basename($subfolder['path']));
            printf('<div class="group" id="%s" style="display: %s">', $subId, $display);
            displayMenu($folderParser, $subId);
            printf('</div>');
        }
    }
    if (isset($folder['suites'])) {
        foreach ($folder['suites'] as $suiteId) {
            $suite = $folderParser->getSuite($suiteId);
            // suite name is the short file name (with suffix detached)
            $suiteName = str_replace(TEST_SUFFIX . '.php', '', basename($suite['path']));
            // checked state
            $checked = in_array($suiteId, $runSuites);
            // Main box:
            printf('<div class="suiteSelect"
				onclick="setCheckBox(\'%s\'); setCheckBoxes(\'%s\', document.getElementById(\'%s\').checked);"
				onmouseover="toggleTests(\'%s\', event, true);"
				onmouseout="toggleTests(\'%s\', event, false);"
				id="suiteSelect_%s"
				>', $suiteId, 'tests_' . $suiteId, $suiteId, $suiteId, $suiteId, $suiteId);
            // checkbox for suite
            printf('<input class="checkbox" onclick="this.checked = !this.checked;" type="checkbox" name="suite" id="%s" value="%s"%s/>', $suiteId, $suiteId, $checked ? ' checked="checked"' : '');
            printf('<span class="checkboxFront%s"></span>', $checked ? 'Set' : 'Unset');
            // arrow for toggling the suite tests box
            printf('<img id="%s" class="arrow_suite" src="" fleoscmouseover="toggleTests(\'%s\', event, true);" fleoscmouseout="toggleTests(\'%s\', event, false);"/>', 'arrow_' . $suiteId, $suiteId, $suiteId);
            printf('<span>');
            if (in_array($suiteId, $runSuites)) {
                printf('<a href="#a_%s">%s</a>', $suiteId, $suiteName);
            } else {
                echo $suiteName;
            }
            echo '</span>';
            echo '</div>';
            // Display the suite tests box:
            // Set height and width of the tests box
            $height = count($suite['tests']) * 17 + 43;
            $width = max(maxLength($suite['tests']) * 8, 175);
            // tests box
            printf('<div id="%s" class="testSelectClosed" style="width: ' . $width . 'px; height: ' . $height . 'px;" onmouseout="toggleTests(\'%s\', event, false);">', 'tests_' . $suiteId, $suiteId);
            foreach ($suite['tests'] as $test) {
                $testId = $suiteId . '@' . $test;
                // used the '@' string as delimiter
                // test box
                printf('<div class="testSelect" onclick="setCheckBox(\'%s\'); setCheckBoxSuite(\'%s\');">', $testId, $suiteId);
                // checkbox for test
                printf('<input class="checkbox" onclick="this.checked = !this.checked;" type="checkbox" name="runSuites[%s][]" id="%s" value="%s"%s/>', $suiteId, $testId, $test, $checked ? ' checked="checked"' : '');
                printf('<span class="checkboxFront%s"></span>', $checked ? 'Set' : 'Unset');
                echo $test;
                echo '</div>';
            }
            // buttons for select and clear all
            printf('<p style="text-align: center;"><input class="button" style="width: 80px;" type="button" onclick="toggleAllTests(%s,%s);" value="%s"/>', "'{$suiteId}'", "false", CLEAR_ALL_LABEL);
            echo '&nbsp;';
            printf('<input class="button" style="width: 80px;" type="button" onclick="toggleAllTests(%s,%s);" value="%s"/></p>', "'{$suiteId}'", "true", SELECT_ALL_LABEL);
            echo '&nbsp;';
            echo '</div>';
        }
    }
    // buttons for select and clear all
    printf('<p><input class="button" style="width: 80px;" type="button" onclick="setCheckBoxes(%s,%s)" value="%s"/>', "'{$folderId}'", "false", CLEAR_ALL_LABEL);
    echo '&nbsp;';
    printf('<input class="button" style="width: 80px;" type="button" onclick="setCheckBoxes(%s,%s)" value="%s"/></p>', "'{$folderId}'", "true", SELECT_ALL_LABEL);
    echo '&nbsp;';
}