From d57a6fa6b78052419186ea22413db0d55af872f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=B5nis=20Ormisson?= Date: Wed, 10 Jan 2018 15:29:05 +0200 Subject: [PATCH 01/84] tests restructure --- tests/DummyController.php | 2 +- tests/TestBaseClass.php | 52 +- tests/TestBaseClassView.php | 4 +- tests/TestBaseClassWeb.php | 4 +- tests/TestHelper.php | 7 +- tests/WebTestCase.php | 25 + tests/acceptance/README.md | 7 + .../admin}/AdminViewsTest.php | 20 +- .../admin}/CreateSurveyTest.php | 14 +- .../admin/InstallationControllerTest.php | 147 +++ .../admin}/TemplateConfigurationTest.php | 5 +- .../admin}/TemplateControllerTest.php | 22 +- .../SaveDualScaleAnswerOptionsTest.php | 14 +- .../DateTimeDefaultAnswerExpressionTest.php | 32 +- .../questions/DateTimeForwardBackTest.php | 20 +- .../questions/DateTimeTest.php | 15 +- .../questions/DateTimeValidationTest.php | 19 +- .../MultipleChoiceNextPreviousTest.php | 16 +- .../{ => acceptance}/surveys/AjaxModeTest.php | 4 +- .../surveys}/GroupRandomizationTest.php | 16 +- .../MultipleChoiceWithExpressionTest.php | 4 +- .../surveys/ScreenOutTest.php | 3 +- .../InstallationControllerTest.php | 166 ---- tests/functional/README.md | 6 + .../helpers/CheckDatabaseJsonValuesTest.php | 11 +- .../helpers/ExpressionCoreAux.php | 7 +- .../helpers/ExpressionCoreHelperTest.php | 3 +- .../helpers/UpdateDbHelperTest.php | 3 +- tests/index.html | 15 + tests/resources/README.md | 1 + .../sql/create-mysql.153.sql | 0 .../sql/create-mysql.258.sql | 0 .../sql/create-mysql.315.sql | 0 .../surveys/limesurvey_survey_186734.lss | 0 .../surveys/limesurvey_survey_352985.lss | 0 .../surveys/limesurvey_survey_366446.lss | 0 .../surveys/limesurvey_survey_454287.lss | 0 .../surveys/limesurvey_survey_563168.lss | 0 .../surveys/limesurvey_survey_583999.lss | 0 .../surveys/limesurvey_survey_677328.lss | 0 .../surveys/limesurvey_survey_834477.lss | 0 .../surveys/limesurvey_survey_88881.lss | 0 .../surveys/limesurvey_survey_917744.lss | 0 .../surveys/limesurvey_survey_975622.lss | 0 .../travis/travis-ci-apache | 0 .../travis/travis_setup.sh | 0 .../views/adminBaseViews.php | 0 .../views/adminGeneralSettingsViews.php | 0 .../views/adminParticipantsViews.php | 0 .../views/adminSettingsViews.php | 0 .../views/adminSurveyViews.php | 0 .../views/adminUsersViews.php | 0 tests/staticCalls.php | 144 +++ tests/travis/travis-ci-apache | 25 - tests/unit/ExpressionManagerTest.php | 894 ++++++++++++++++++ tests/unit/README.md | 11 + 56 files changed, 1475 insertions(+), 263 deletions(-) create mode 100644 tests/WebTestCase.php create mode 100644 tests/acceptance/README.md rename tests/{controllers => acceptance/admin}/AdminViewsTest.php (84%) rename tests/{controllers => acceptance/admin}/CreateSurveyTest.php (95%) create mode 100644 tests/acceptance/admin/InstallationControllerTest.php rename tests/{models => acceptance/admin}/TemplateConfigurationTest.php (84%) rename tests/{controllers => acceptance/admin}/TemplateControllerTest.php (72%) rename tests/{controllers => acceptance/admin/questions}/SaveDualScaleAnswerOptionsTest.php (88%) rename tests/{ => acceptance}/questions/DateTimeDefaultAnswerExpressionTest.php (85%) rename tests/{ => acceptance}/questions/DateTimeForwardBackTest.php (81%) rename tests/{ => acceptance}/questions/DateTimeTest.php (91%) rename tests/{ => acceptance}/questions/DateTimeValidationTest.php (83%) rename tests/{ => acceptance}/questions/MultipleChoiceNextPreviousTest.php (82%) rename tests/{ => acceptance}/surveys/AjaxModeTest.php (97%) rename tests/{helpers => acceptance/surveys}/GroupRandomizationTest.php (84%) rename tests/{ => acceptance}/surveys/MultipleChoiceWithExpressionTest.php (96%) rename tests/{ => acceptance}/surveys/ScreenOutTest.php (97%) delete mode 100644 tests/controllers/InstallationControllerTest.php create mode 100644 tests/functional/README.md rename tests/{ => functional}/helpers/CheckDatabaseJsonValuesTest.php (96%) rename tests/{ => functional}/helpers/ExpressionCoreAux.php (97%) rename tests/{ => functional}/helpers/ExpressionCoreHelperTest.php (97%) rename tests/{ => functional}/helpers/UpdateDbHelperTest.php (99%) create mode 100644 tests/index.html create mode 100644 tests/resources/README.md rename tests/{data => resources}/sql/create-mysql.153.sql (100%) rename tests/{data => resources}/sql/create-mysql.258.sql (100%) rename tests/{data => resources}/sql/create-mysql.315.sql (100%) rename tests/{data => resources}/surveys/limesurvey_survey_186734.lss (100%) rename tests/{data => resources}/surveys/limesurvey_survey_352985.lss (100%) rename tests/{data => resources}/surveys/limesurvey_survey_366446.lss (100%) rename tests/{data => resources}/surveys/limesurvey_survey_454287.lss (100%) rename tests/{data => resources}/surveys/limesurvey_survey_563168.lss (100%) rename tests/{data => resources}/surveys/limesurvey_survey_583999.lss (100%) rename tests/{data => resources}/surveys/limesurvey_survey_677328.lss (100%) rename tests/{data => resources}/surveys/limesurvey_survey_834477.lss (100%) rename tests/{data => resources}/surveys/limesurvey_survey_88881.lss (100%) rename tests/{data => resources}/surveys/limesurvey_survey_917744.lss (100%) rename tests/{data => resources}/surveys/limesurvey_survey_975622.lss (100%) rename tests/{data => resources}/travis/travis-ci-apache (100%) rename tests/{data => resources}/travis/travis_setup.sh (100%) rename tests/{data => resources}/views/adminBaseViews.php (100%) rename tests/{data => resources}/views/adminGeneralSettingsViews.php (100%) rename tests/{data => resources}/views/adminParticipantsViews.php (100%) rename tests/{data => resources}/views/adminSettingsViews.php (100%) rename tests/{data => resources}/views/adminSurveyViews.php (100%) rename tests/{data => resources}/views/adminUsersViews.php (100%) create mode 100644 tests/staticCalls.php delete mode 100644 tests/travis/travis-ci-apache create mode 100644 tests/unit/ExpressionManagerTest.php create mode 100644 tests/unit/README.md diff --git a/tests/DummyController.php b/tests/DummyController.php index 5e8081091e7..21a5de9e473 100644 --- a/tests/DummyController.php +++ b/tests/DummyController.php @@ -1,6 +1,6 @@ importAll(); + parent::setUpBeforeClass(); + } + + // the folder getter can be used in @dataProvider methods since the setUpBeforeClass will run after them + + /** + * @return string + */ + public static function getDataFolder(){ + return __DIR__."/resources"; + } + + /** + * @return string + */ + public static function getViewsFolder(){ + return self::getDataFolder().DIRECTORY_SEPARATOR.'views'; + } + + /** + * @return string + */ + public static function getSurveysFolder(){ + return self::getDataFolder().DIRECTORY_SEPARATOR.'surveys'; + } + + /** + * @return string + */ + public static function getTempFolder(){ + return __DIR__."/tmp"; + } + + /** + * @return string + */ + public static function getScreenShotsFolder(){ + return self::getTempFolder().DIRECTORY_SEPARATOR.'screenshots'; } /** diff --git a/tests/TestBaseClassView.php b/tests/TestBaseClassView.php index 447cfa6b41d..fab22f3409f 100644 --- a/tests/TestBaseClassView.php +++ b/tests/TestBaseClassView.php @@ -11,13 +11,13 @@ * See COPYRIGHT.php for copyright notices and details. */ -namespace ls\tests; +namespace LimeSurvey\tests; use Facebook\WebDriver\WebDriverBy; use Facebook\WebDriver\WebDriverExpectedCondition; /** - * @package ls\tests + * @package LimeSurvey\tests */ class TestBaseClassView extends TestBaseClassWeb { diff --git a/tests/TestBaseClassWeb.php b/tests/TestBaseClassWeb.php index 4b04f54dc7f..90e0d518e43 100644 --- a/tests/TestBaseClassWeb.php +++ b/tests/TestBaseClassWeb.php @@ -11,7 +11,7 @@ * See COPYRIGHT.php for copyright notices and details. */ -namespace ls\tests; +namespace LimeSurvey\tests; use Facebook\WebDriver\WebDriver; use Facebook\WebDriver\WebDriverBy; @@ -21,7 +21,7 @@ /** * Class TestBaseClassWeb * this is the base class for functional tests that need browser simulation - * @package ls\tests + * @package LimeSurvey\tests */ class TestBaseClassWeb extends TestBaseClass { diff --git a/tests/TestHelper.php b/tests/TestHelper.php index 7008d64d317..c0b899b4dbc 100644 --- a/tests/TestHelper.php +++ b/tests/TestHelper.php @@ -1,6 +1,6 @@ connection = $connection; // Check SQL file. - $file = __DIR__ . '/data/sql/create-mysql.' . $version . '.sql'; + $file = TestBaseClass::getDataFolder() . '/sql/create-mysql.' . $version . '.sql'; $this->assertFileExists($file, 'SQL file exists: ' . $file); // Run SQL install file. diff --git a/tests/WebTestCase.php b/tests/WebTestCase.php new file mode 100644 index 00000000000..20eb3408e89 --- /dev/null +++ b/tests/WebTestCase.php @@ -0,0 +1,25 @@ +setBrowserUrl(TEST_BASE_URL); + } +} diff --git a/tests/acceptance/README.md b/tests/acceptance/README.md new file mode 100644 index 00000000000..7ad775045b2 --- /dev/null +++ b/tests/acceptance/README.md @@ -0,0 +1,7 @@ +# Acceptance tests +from: +https://stackoverflow.com/questions/4904096/whats-the-difference-between-unit-functional-acceptance-and-integration-test + +> Standard acceptance testing involves performing tests on the full system (e.g. using your web page via a web browser) to see whether the application's functionality satisfies the specification. E.g. "clicking a zoom icon should enlarge the document view by 25%." There is no real continuum of results, just a pass or fail outcome. + +Any test using the Facebook WebDriver should be somewhere here \ No newline at end of file diff --git a/tests/controllers/AdminViewsTest.php b/tests/acceptance/admin/AdminViewsTest.php similarity index 84% rename from tests/controllers/AdminViewsTest.php rename to tests/acceptance/admin/AdminViewsTest.php index 2e167cb3628..3de526d25dc 100644 --- a/tests/controllers/AdminViewsTest.php +++ b/tests/acceptance/admin/AdminViewsTest.php @@ -11,15 +11,15 @@ * See COPYRIGHT.php for copyright notices and details. */ -namespace ls\tests\controllers; +namespace LimeSurvey\tests\acceptance\admin; -use ls\tests\TestBaseClassView; +use LimeSurvey\tests\TestBaseClassView; /** * Class AdminViewsTest * This test loops through all basic admin view pages and cheks if they open withour errors * - * @package ls\tests + * @package LimeSurvey\tests * @group adminviews */ class AdminViewsTest extends TestBaseClassView @@ -27,31 +27,31 @@ class AdminViewsTest extends TestBaseClassView public function addBaseViews() { - return require __DIR__."/../data/views/adminBaseViews.php"; + return require self::getViewsFolder()."/adminBaseViews.php"; } public function addSurveyViews() { - return require __DIR__."/../data/views/adminSurveyViews.php"; + return require self::getViewsFolder()."/adminSurveyViews.php"; } public function addSettingsViews() { - return require __DIR__."/../data/views/adminSettingsViews.php"; + return require self::getViewsFolder()."/adminSettingsViews.php"; } public function addUsersViews() { - return require __DIR__."/../data/views/adminUsersViews.php"; + return require self::getViewsFolder()."/adminUsersViews.php"; } public function addParticipantsViews() { - return require __DIR__."/../data/views/adminParticipantsViews.php"; + return require self::getViewsFolder()."/adminParticipantsViews.php"; } public function addGeneralSettingsViews() { - return require __DIR__."/../data/views/adminGeneralSettingsViews.php"; + return require self::getViewsFolder()."/adminGeneralSettingsViews.php"; } /** @@ -89,7 +89,7 @@ public function testAdminSurveyViews($name, $view) } elseif (empty(self::$surveyId)) { // This situation can happen if we test only one data entry, // using --filter="testAdminSurveyViews#13" (for data entry 13). - $surveyFile = self::$surveysFolder . '/../data/surveys/limesurvey_survey_454287.lss'; + $surveyFile = self::$surveysFolder . '/limesurvey_survey_454287.lss'; self::importSurvey($surveyFile); } diff --git a/tests/controllers/CreateSurveyTest.php b/tests/acceptance/admin/CreateSurveyTest.php similarity index 95% rename from tests/controllers/CreateSurveyTest.php rename to tests/acceptance/admin/CreateSurveyTest.php index c5186412d2c..aa88ae93c63 100644 --- a/tests/controllers/CreateSurveyTest.php +++ b/tests/acceptance/admin/CreateSurveyTest.php @@ -1,6 +1,17 @@ getBasePath() . '/config/config.php'; + $databaseName = 'limesurvey'; + + $username = getenv('ADMINUSERNAME'); + if (!$username) { + $username = 'admin'; + } + $password = getenv('PASSWORD'); + if (!$password) { + $password = 'password'; + } + + $dbuser = getenv('DBUSER'); + if (!$dbuser) { + $dbuser = 'root'; + echo 'Default to database user "root". Use DBUSER=... from command-line to override this.' . PHP_EOL; + } + $dbpwd = getenv('DBPASSWORD'); + if (!$dbpwd) { + $dbpwd = ''; + echo 'Default to empty database password. Use DBPASSWORD=... from command-line to override this.' . PHP_EOL; + } + + if (file_exists($configFile)) { + // Delete possible previous database. + try { + $dbo = \Yii::app()->getDb(); + $dbo->createCommand('DROP DATABASE ' . $databaseName)->execute(); + } catch (\CDbException $ex) { + $msg = $ex->getMessage(); + // Only this error is OK. + self::assertTrue( + strpos($msg, "database doesn't exist") !== false, + 'Could drop database. Error message: ' . $msg + ); + } + + // Remove config.php if present. + $result = unlink($configFile); + $this->assertTrue($result, 'Could unlink config.php'); + } + + // Run installer. + $urlMan = \Yii::app()->urlManager; + $urlMan->setBaseUrl('http://' . self::$domain . '/index.php'); + $url = $urlMan->createUrl(''); + + // Installer start page. + self::$webDriver->get($url); + + // Click "Start installation". + $start = self::$webDriver->findElement(WebDriverBy::id('ls-start-installation')); + $start->click(); + + // Accept license. + $accept = self::$webDriver->findElement(WebDriverBy::id('ls-accept-license')); + $accept->click(); + + // Click next at pre-check. + $next = self::$webDriver->findElement(WebDriverBy::id('ls-next')); + $next->click(); + + // Fill in database form. + $dbuserInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbuser]"]')); + $dbpwdInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbpwd]"]')); + $dbnameInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbname]"]')); + $dbuserInput->clear()->sendKeys($dbuser); + $dbpwdInput->clear()->sendKeys($dbpwd); + $dbnameInput->sendKeys($databaseName); + + // Click next. + $next = self::$webDriver->findElement(WebDriverBy::id('ls-next')); + $next->click(); + + // Click "Create database". + $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); + $button->click(); + + // Click "Populate". + $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); + $button->click(); + + // Fill in admin username/password. + $adminLoginName = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[adminLoginName]"]')); + $adminLoginPwd = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[adminLoginPwd]"]')); + $confirmPwd = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[confirmPwd]"]')); + $adminLoginName->clear()->sendKeys($username); + $adminLoginPwd->clear()->sendKeys($password); + $confirmPwd->clear()->sendKeys($password); + + // Confirm optional settings (admin password etc). + $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); + $button->click(); + + // Go to administration. + $button = self::$webDriver->findElement(WebDriverBy::id('ls-administration')); + $button->click(); + + // Reset urlManager to adapt to latest config. + $configFile = \Yii::app()->getBasePath() . '/config/config.php'; + $config = require($configFile); + $urlMan = \Yii::app()->urlManager; + $urlMan->setUrlFormat($config['components']['urlManager']['urlFormat']); + + // Login. + self::adminLogin($username, $password); + + self::$testHelper->connectToOriginalDatabase(); + } +} diff --git a/tests/models/TemplateConfigurationTest.php b/tests/acceptance/admin/TemplateConfigurationTest.php similarity index 84% rename from tests/models/TemplateConfigurationTest.php rename to tests/acceptance/admin/TemplateConfigurationTest.php index f744b8f756f..f63d4721051 100644 --- a/tests/models/TemplateConfigurationTest.php +++ b/tests/acceptance/admin/TemplateConfigurationTest.php @@ -1,6 +1,7 @@ prepareTemplateRendering('default'); + // FIXME + // No PHP notices. $this->assertTrue(true); } diff --git a/tests/controllers/TemplateControllerTest.php b/tests/acceptance/admin/TemplateControllerTest.php similarity index 72% rename from tests/controllers/TemplateControllerTest.php rename to tests/acceptance/admin/TemplateControllerTest.php index 706e9ac3847..927b4392c58 100644 --- a/tests/controllers/TemplateControllerTest.php +++ b/tests/acceptance/admin/TemplateControllerTest.php @@ -1,8 +1,20 @@ templatecopy(); $flashes = \Yii::app()->user->getFlashes(); @@ -57,7 +69,9 @@ public function testCopyTemplate() $this->assertNotEmpty($template); $this->assertEquals($templateName, $template->name); - // Clean up. + + + // Clean up. //TODO tearDown \Template::model()->deleteAll('name = \'foobartest\''); } diff --git a/tests/controllers/SaveDualScaleAnswerOptionsTest.php b/tests/acceptance/admin/questions/SaveDualScaleAnswerOptionsTest.php similarity index 88% rename from tests/controllers/SaveDualScaleAnswerOptionsTest.php rename to tests/acceptance/admin/questions/SaveDualScaleAnswerOptionsTest.php index 6193b1cc952..b74e409470f 100644 --- a/tests/controllers/SaveDualScaleAnswerOptionsTest.php +++ b/tests/acceptance/admin/questions/SaveDualScaleAnswerOptionsTest.php @@ -1,8 +1,20 @@ findByPk(self::$surveyId); list($question, $group, $sgqa) = self::$testHelper->getSgqa('q2', self::$surveyId); @@ -122,7 +138,8 @@ public function testCorrectDefaultAnswerExpression() // Check result from qanda. $qanda = \retrieveAnswers( - $_SESSION['survey_' . self::$surveyId]['fieldarray'][1] // 1 = second question (q2) + $_SESSION['survey_' . self::$surveyId]['fieldarray'][1], // 1 = second question (q2) + self::$surveyId ); $correctDate = date('d/m/Y'); @@ -178,11 +195,12 @@ public function testWrongDefaultAnswerExpression() $_SESSION['survey_' . self::$surveyId]['step'] = 1; // Move one step to run expressions. - $moveResult = \LimeExpressionManager::NavigateForwards(); + $moveResult = LimeExpressionManager::NavigateForwards(); // Check result from qanda. $qanda = \retrieveAnswers( - $_SESSION['survey_' . self::$surveyId]['fieldarray'][2] // 2 = third question (q3) + $_SESSION['survey_' . self::$surveyId]['fieldarray'][2], // 2 = third question (q3) + self::$surveyId ); // NB: Empty value, since default answer expression is not parsed by qanda. diff --git a/tests/questions/DateTimeForwardBackTest.php b/tests/acceptance/questions/DateTimeForwardBackTest.php similarity index 81% rename from tests/questions/DateTimeForwardBackTest.php rename to tests/acceptance/questions/DateTimeForwardBackTest.php index 2dd2b1c5974..67104478432 100644 --- a/tests/questions/DateTimeForwardBackTest.php +++ b/tests/acceptance/questions/DateTimeForwardBackTest.php @@ -1,6 +1,21 @@ assertEquals(false, strpos($qanda[0][1], "value=\"11:00\""), 'No 11:00 value from qanda'); $this->assertNotEquals(false, strpos($qanda[0][1], "value=\"10:00\""), 'One 10:00 value from qanda'); diff --git a/tests/questions/DateTimeTest.php b/tests/acceptance/questions/DateTimeTest.php similarity index 91% rename from tests/questions/DateTimeTest.php rename to tests/acceptance/questions/DateTimeTest.php index 93d99553154..ecc315d9194 100644 --- a/tests/questions/DateTimeTest.php +++ b/tests/acceptance/questions/DateTimeTest.php @@ -1,7 +1,20 @@ session['loginID'] = 1; - $surveyFile = __DIR__ . '/../data/surveys/limesurvey_survey_88881.lss'; + $surveyFile = self::getSurveysFolder() . '/limesurvey_survey_88881.lss'; if (!file_exists($surveyFile)) { echo 'Fatal error: found no survey file'; exit(4); diff --git a/tests/surveys/MultipleChoiceWithExpressionTest.php b/tests/acceptance/surveys/MultipleChoiceWithExpressionTest.php similarity index 96% rename from tests/surveys/MultipleChoiceWithExpressionTest.php rename to tests/acceptance/surveys/MultipleChoiceWithExpressionTest.php index 4d44989d5a9..819a8dcd215 100644 --- a/tests/surveys/MultipleChoiceWithExpressionTest.php +++ b/tests/acceptance/surveys/MultipleChoiceWithExpressionTest.php @@ -1,8 +1,8 @@ getWebDriver(); - self::$domain = getenv('DOMAIN'); - } - - public static function teardownAfterClass() - { - self::$testHelper->connectToOriginalDatabase(); - } - - /** - * - * @throws \CException - */ - public function testBasic() - { - $configFile = \Yii::app()->getBasePath() . '/config/config.php'; - $databaseName = 'limesurvey'; - - $username = getenv('ADMINUSERNAME'); - if (!$username) { - $username = 'admin'; - } - $password = getenv('PASSWORD'); - if (!$password) { - $password = 'password'; - } - - $dbuser = getenv('DBUSER'); - if (!$dbuser) { - $dbuser = 'root'; - echo 'Default to database user "root". Use DBUSER=... from command-line to override this.' . PHP_EOL; - } - $dbpwd = getenv('DBPASSWORD'); - if (!$dbpwd) { - $dbpwd = ''; - echo 'Default to empty database password. Use DBPASSWORD=... from command-line to override this.' . PHP_EOL; - } - - if (file_exists($configFile)) { - // Delete possible previous database. - try { - $dbo = \Yii::app()->getDb(); - $dbo->createCommand('DROP DATABASE ' . $databaseName)->execute(); - } catch (\CDbException $ex) { - $msg = $ex->getMessage(); - // Only this error is OK. - self::assertTrue( - strpos($msg, "database doesn't exist") !== false, - 'Could drop database. Error message: ' . $msg - ); - } - - // Remove config.php if present. - $result = unlink($configFile); - $this->assertTrue($result, 'Could unlink config.php'); - } - - // Run installer. - $urlMan = \Yii::app()->urlManager; - $urlMan->setBaseUrl('http://' . self::$domain . '/index.php'); - $url = $urlMan->createUrl(''); - - try { - - // Installer start page. - self::$webDriver->get($url); - - // Click "Start installation". - $start = self::$webDriver->findElement(WebDriverBy::id('ls-start-installation')); - $start->click(); - - // Accept license. - $accept = self::$webDriver->findElement(WebDriverBy::id('ls-accept-license')); - $accept->click(); - - // Click next at pre-check. - $next = self::$webDriver->findElement(WebDriverBy::id('ls-next')); - $next->click(); - - // Fill in database form. - $dbuserInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbuser]"]')); - $dbpwdInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbpwd]"]')); - $dbnameInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbname]"]')); - $dbuserInput->clear()->sendKeys($dbuser); - $dbpwdInput->clear()->sendKeys($dbpwd); - $dbnameInput->sendKeys($databaseName); - - // Click next. - $next = self::$webDriver->findElement(WebDriverBy::id('ls-next')); - $next->click(); - - // Click "Create database". - $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); - $button->click(); - - // Click "Populate". - $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); - $button->click(); - - // Fill in admin username/password. - $adminLoginName = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[adminLoginName]"]')); - $adminLoginPwd = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[adminLoginPwd]"]')); - $confirmPwd = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[confirmPwd]"]')); - $adminLoginName->clear()->sendKeys($username); - $adminLoginPwd->clear()->sendKeys($password); - $confirmPwd->clear()->sendKeys($password); - - // Confirm optional settings (admin password etc). - $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); - $button->click(); - - // Go to administration. - $button = self::$webDriver->findElement(WebDriverBy::id('ls-administration')); - $button->click(); - - // Set debug=2 - /* TODO: Can't write to config.php after installation. - $configFile = \Yii::app()->getBasePath() . '/config/config.php'; - $data = file($configFile); - $data = array_map(function($data) { - return stristr($data, "'debug'=>0") ? "'debug'=>2," : $data; - }, $data); - $output = []; - exec('chmod 777 ' . $configFile, $output); - var_dump($output); - $result = file_put_contents($configFile, implode('', $data)); - $this->assertTrue($result > 0, 'Wrote config'); - */ - - // Reset urlManager to adapt to latest config. - $config = require($configFile); - $urlMan = \Yii::app()->urlManager; - $urlMan->setUrlFormat($config['components']['urlManager']['urlFormat']); - - // Login. - self::adminLogin($username, $password); - } catch (NoSuchElementException $ex) { - self::$testHelper->takeScreenshot(self::$webDriver, (new \ReflectionClass($this))->getShortName() . '_' . __FUNCTION__); - $this->assertFalse( - true, - self::$testHelper->javaTrace($ex) - ); - } - } -} diff --git a/tests/functional/README.md b/tests/functional/README.md new file mode 100644 index 00000000000..0b7c3d8a36a --- /dev/null +++ b/tests/functional/README.md @@ -0,0 +1,6 @@ +# Functional tests + +from: +https://stackoverflow.com/questions/4904096/whats-the-difference-between-unit-functional-acceptance-and-integration-test + +>Functional tests check a particular feature for correctness by comparing the results for a given input against the specification. Functional tests don't concern themselves with intermediate results or side-effects, just the result (they don't care that after doing x, object y has state z). They are written to test part of the specification such as, "calling function Square(x) with the argument of 2 returns 4". diff --git a/tests/helpers/CheckDatabaseJsonValuesTest.php b/tests/functional/helpers/CheckDatabaseJsonValuesTest.php similarity index 96% rename from tests/helpers/CheckDatabaseJsonValuesTest.php rename to tests/functional/helpers/CheckDatabaseJsonValuesTest.php index 56d1e7b94ec..e4941f252f4 100644 --- a/tests/helpers/CheckDatabaseJsonValuesTest.php +++ b/tests/functional/helpers/CheckDatabaseJsonValuesTest.php @@ -1,6 +1,8 @@ + + + +403 Forbidden + + + + + +

Directory access is forbidden.

+ + + + \ No newline at end of file diff --git a/tests/resources/README.md b/tests/resources/README.md new file mode 100644 index 00000000000..23d7ee42c17 --- /dev/null +++ b/tests/resources/README.md @@ -0,0 +1 @@ +# Test resources diff --git a/tests/data/sql/create-mysql.153.sql b/tests/resources/sql/create-mysql.153.sql similarity index 100% rename from tests/data/sql/create-mysql.153.sql rename to tests/resources/sql/create-mysql.153.sql diff --git a/tests/data/sql/create-mysql.258.sql b/tests/resources/sql/create-mysql.258.sql similarity index 100% rename from tests/data/sql/create-mysql.258.sql rename to tests/resources/sql/create-mysql.258.sql diff --git a/tests/data/sql/create-mysql.315.sql b/tests/resources/sql/create-mysql.315.sql similarity index 100% rename from tests/data/sql/create-mysql.315.sql rename to tests/resources/sql/create-mysql.315.sql diff --git a/tests/data/surveys/limesurvey_survey_186734.lss b/tests/resources/surveys/limesurvey_survey_186734.lss similarity index 100% rename from tests/data/surveys/limesurvey_survey_186734.lss rename to tests/resources/surveys/limesurvey_survey_186734.lss diff --git a/tests/data/surveys/limesurvey_survey_352985.lss b/tests/resources/surveys/limesurvey_survey_352985.lss similarity index 100% rename from tests/data/surveys/limesurvey_survey_352985.lss rename to tests/resources/surveys/limesurvey_survey_352985.lss diff --git a/tests/data/surveys/limesurvey_survey_366446.lss b/tests/resources/surveys/limesurvey_survey_366446.lss similarity index 100% rename from tests/data/surveys/limesurvey_survey_366446.lss rename to tests/resources/surveys/limesurvey_survey_366446.lss diff --git a/tests/data/surveys/limesurvey_survey_454287.lss b/tests/resources/surveys/limesurvey_survey_454287.lss similarity index 100% rename from tests/data/surveys/limesurvey_survey_454287.lss rename to tests/resources/surveys/limesurvey_survey_454287.lss diff --git a/tests/data/surveys/limesurvey_survey_563168.lss b/tests/resources/surveys/limesurvey_survey_563168.lss similarity index 100% rename from tests/data/surveys/limesurvey_survey_563168.lss rename to tests/resources/surveys/limesurvey_survey_563168.lss diff --git a/tests/data/surveys/limesurvey_survey_583999.lss b/tests/resources/surveys/limesurvey_survey_583999.lss similarity index 100% rename from tests/data/surveys/limesurvey_survey_583999.lss rename to tests/resources/surveys/limesurvey_survey_583999.lss diff --git a/tests/data/surveys/limesurvey_survey_677328.lss b/tests/resources/surveys/limesurvey_survey_677328.lss similarity index 100% rename from tests/data/surveys/limesurvey_survey_677328.lss rename to tests/resources/surveys/limesurvey_survey_677328.lss diff --git a/tests/data/surveys/limesurvey_survey_834477.lss b/tests/resources/surveys/limesurvey_survey_834477.lss similarity index 100% rename from tests/data/surveys/limesurvey_survey_834477.lss rename to tests/resources/surveys/limesurvey_survey_834477.lss diff --git a/tests/data/surveys/limesurvey_survey_88881.lss b/tests/resources/surveys/limesurvey_survey_88881.lss similarity index 100% rename from tests/data/surveys/limesurvey_survey_88881.lss rename to tests/resources/surveys/limesurvey_survey_88881.lss diff --git a/tests/data/surveys/limesurvey_survey_917744.lss b/tests/resources/surveys/limesurvey_survey_917744.lss similarity index 100% rename from tests/data/surveys/limesurvey_survey_917744.lss rename to tests/resources/surveys/limesurvey_survey_917744.lss diff --git a/tests/data/surveys/limesurvey_survey_975622.lss b/tests/resources/surveys/limesurvey_survey_975622.lss similarity index 100% rename from tests/data/surveys/limesurvey_survey_975622.lss rename to tests/resources/surveys/limesurvey_survey_975622.lss diff --git a/tests/data/travis/travis-ci-apache b/tests/resources/travis/travis-ci-apache similarity index 100% rename from tests/data/travis/travis-ci-apache rename to tests/resources/travis/travis-ci-apache diff --git a/tests/data/travis/travis_setup.sh b/tests/resources/travis/travis_setup.sh similarity index 100% rename from tests/data/travis/travis_setup.sh rename to tests/resources/travis/travis_setup.sh diff --git a/tests/data/views/adminBaseViews.php b/tests/resources/views/adminBaseViews.php similarity index 100% rename from tests/data/views/adminBaseViews.php rename to tests/resources/views/adminBaseViews.php diff --git a/tests/data/views/adminGeneralSettingsViews.php b/tests/resources/views/adminGeneralSettingsViews.php similarity index 100% rename from tests/data/views/adminGeneralSettingsViews.php rename to tests/resources/views/adminGeneralSettingsViews.php diff --git a/tests/data/views/adminParticipantsViews.php b/tests/resources/views/adminParticipantsViews.php similarity index 100% rename from tests/data/views/adminParticipantsViews.php rename to tests/resources/views/adminParticipantsViews.php diff --git a/tests/data/views/adminSettingsViews.php b/tests/resources/views/adminSettingsViews.php similarity index 100% rename from tests/data/views/adminSettingsViews.php rename to tests/resources/views/adminSettingsViews.php diff --git a/tests/data/views/adminSurveyViews.php b/tests/resources/views/adminSurveyViews.php similarity index 100% rename from tests/data/views/adminSurveyViews.php rename to tests/resources/views/adminSurveyViews.php diff --git a/tests/data/views/adminUsersViews.php b/tests/resources/views/adminUsersViews.php similarity index 100% rename from tests/data/views/adminUsersViews.php rename to tests/resources/views/adminUsersViews.php diff --git a/tests/staticCalls.php b/tests/staticCalls.php new file mode 100644 index 00000000000..f4597e7cf92 --- /dev/null +++ b/tests/staticCalls.php @@ -0,0 +1,144 @@ +hasChildren() && !ignore($entry)) { + iterateList($i->getChildren()); + } else { + if (substr($entry, -4, 4) == '.php') { + checkFile($entry); + } + } + } +} + +// Get all static calls in file. +function checkFile($filename) +{ + if ($filename == __FILE__) { + return; + } + $file = file($filename, FILE_IGNORE_NEW_LINES); + $file = array_filter($file, "checkStatic"); + + if (!empty($file)) { + pr($filename); + print_r($file); + } +} + +function checkStatic($line) +{ + $validStatics = array( + 'Yii::', + 'parent::', + 'LimeExpressionManager::', +'Answer::', +'Question::', +'Survey::', +'QuestionGroup::', +'self::', +'PDO::', +'Participants::', +'SurveyLink::', +'ParticipantAttribute::', +'Tokens::', +'UserGroup::', +'Condition::', +'Survey_Common_Action::', +'Quota::', +'SurveyURLParameter::', +'Survey_languagesettings::', +'Permission::', +'SavedControl::', +'QuotaMember::', +'QuotaLanguageSetting::', +'ParticipantAttributeName::', +'User::', +'SurveyLanguageSetting::', +'QuestionAttribute::', +'Assessment::', +'CDbConnection::', +'ParticipantShare::', +'\'{INSERTANS::', +'DefaultValue::', +'CHtml::', +'ExpressionManager::', +'\'::\'', +'LabelSet::', +'SurveyDynamic::', +'PEAR::', +'SettingGlobal::', +'Zend_Http_Client::', +'Zend_XmlRpc_Value::', +'Zend_XmlRpc_Server_Fault::', +'Zend_XmlRpc_Value::', +'Zend_Server_Cache::', +'Zend_XmlRpc_Server_Cache::', +'Label::', +'Assessments::', +'XMLReader::', +'LEM::', +'Question::', +'DateTime::', +'Installer::', +'Session::', +'dataentry::', +'Assessments::', +'Zend_Server_Reflection::', +'Participants::', +'jsonRPCServer::', +'FailedLoginAttempt::', +'survey::', +'tokens::', +'questiongroup::', +'printanswers::', +'imagick::', +':: ', +'Assessments::', +'InstallerConfigForm::', +'Database::', +'UserInGroups::', +'Usergroups::', +'SurveyTimingDynamic::', +'::regClass', +'surveypermission::', +'Template::', +'templates::', +'register::', +'::first', +'::before', +'::after', +'::reg', +'text::', +'httpCache::' + ); + $replacements = array_pad(array(), count($validStatics), ''); + $line = str_replace($validStatics, $replacements, $line); + + return strpos($line, '::') !== false; + +} +function pr($msg) +{ + echo $msg."\n"; +} +?> diff --git a/tests/travis/travis-ci-apache b/tests/travis/travis-ci-apache deleted file mode 100644 index fa2370a815c..00000000000 --- a/tests/travis/travis-ci-apache +++ /dev/null @@ -1,25 +0,0 @@ - - # [...] - - DocumentRoot %TRAVIS_BUILD_DIR% - - - Options FollowSymLinks MultiViews ExecCGI - AllowOverride All - Require all granted - - - # Wire up Apache to use Travis CI's php-fpm. - - AddHandler php7.1-fcgi .php - Action php7.1-fcgi /php7.1-fcgi - Alias /php7.1-fcgi /usr/lib/cgi-bin/php7.1-fcgi - FastCgiExternalServer /usr/lib/cgi-bin/php7.1-fcgi -host 127.0.0.1:9000 -pass-header Authorization - - - Require all granted - - - - # [...] - diff --git a/tests/unit/ExpressionManagerTest.php b/tests/unit/ExpressionManagerTest.php new file mode 100644 index 00000000000..2b0ac1dacee --- /dev/null +++ b/tests/unit/ExpressionManagerTest.php @@ -0,0 +1,894 @@ +em = new ExpressionManager(); + } + +// public function testVariables() +// { +// $vars = array( +// 'one' => array('sgqa'=>'one', 'code'=>1, 'jsName'=>'java_one', 'readWrite'=>'Y', 'gseq'=>2,'qseq'=>4), +// 'two' => array('sgqa'=>'two', 'code'=>2, 'jsName'=>'java_two', 'readWrite'=>'Y', 'gseq'=>2,'qseq'=>4), +// 'three' => array('sgqa'=>'three', 'code'=>3, 'jsName'=>'java_three', 'readWrite'=>'Y', 'gseq'=>2,'qseq'=>4), +// 'four' => array('sgqa'=>'four', 'code'=>4, 'jsName'=>'java_four', 'readWrite'=>'Y', 'gseq'=>2,'qseq'=>1), +// 'five' => array('sgqa'=>'five', 'code'=>5, 'jsName'=>'java_five', 'readWrite'=>'Y', 'gseq'=>2,'qseq'=>1), +// 'six' => array('sgqa'=>'six', 'code'=>6, 'jsName'=>'java_six', 'readWrite'=>'Y', 'gseq'=>2,'qseq'=>1), +// 'seven' => array('sgqa'=>'seven', 'code'=>7, 'jsName'=>'java_seven', 'readWrite'=>'Y', 'gseq'=>2,'qseq'=>5), +// 'eight' => array('sgqa'=>'eight', 'code'=>8, 'jsName'=>'java_eight', 'readWrite'=>'Y', 'gseq'=>2,'qseq'=>5), +// 'nine' => array('sgqa'=>'nine', 'code'=>9, 'jsName'=>'java_nine', 'readWrite'=>'Y', 'gseq'=>2,'qseq'=>5), +// 'ten' => array('sgqa'=>'ten', 'code'=>10, 'jsName'=>'java_ten', 'readWrite'=>'Y', 'gseq'=>1,'qseq'=>1), +// 'half' => array('sgqa'=>'half', 'code'=>.5, 'jsName'=>'java_half', 'readWrite'=>'Y', 'gseq'=>1,'qseq'=>1), +// 'hi' => array('sgqa'=>'hi', 'code'=>'there', 'jsName'=>'java_hi', 'readWrite'=>'Y', 'gseq'=>1,'qseq'=>1), +// 'hello' => array('sgqa'=>'hello', 'code'=>"Tom", 'jsName'=>'java_hello', 'readWrite'=>'Y', 'gseq'=>1,'qseq'=>1), +// 'a' => array('sgqa'=>'a', 'code'=>0, 'jsName'=>'java_a', 'readWrite'=>'Y', 'gseq'=>2,'qseq'=>2), +// 'b' => array('sgqa'=>'b', 'code'=>0, 'jsName'=>'java_b', 'readWrite'=>'Y', 'gseq'=>2,'qseq'=>2), +// 'c' => array('sgqa'=>'c', 'code'=>0, 'jsName'=>'java_c', 'readWrite'=>'Y', 'gseq'=>2,'qseq'=>2), +// 'd' => array('sgqa'=>'d', 'code'=>0, 'jsName'=>'java_d', 'readWrite'=>'Y', 'gseq'=>2,'qseq'=>2), +// 'eleven' => array('sgqa'=>'eleven', 'code'=>11, 'jsName'=>'java_eleven', 'readWrite'=>'Y', 'gseq'=>1,'qseq'=>1), +// 'twelve' => array('sgqa'=>'twelve', 'code'=>12, 'jsName'=>'java_twelve', 'readWrite'=>'Y', 'gseq'=>1,'qseq'=>1), +// // Constants +// 'ASSESSMENT_HEADING' => array('sgqa'=>'ASSESSMENT_HEADING', 'code'=>'"Can strings contain embedded \"quoted passages\" (and parentheses + other characters?)?"', 'jsName'=>'', 'readWrite'=>'N'), +// 'QID' => array('sgqa'=>'QID', 'code'=>'value for {QID}', 'jsName'=>'', 'readWrite'=>'N'), +// 'QUESTIONHELP' => array('sgqa'=>'QUESTIONHELP', 'code'=>'"can single quoted strings" . \'contain nested \'quoted sections\'?', 'jsName'=>'', 'readWrite'=>'N'), +// 'QUESTION_HELP' => array('sgqa'=>'QUESTION_HELP', 'code'=>'Can strings have embedded like , or even unbalanced "quotes or entities without terminal semicolons like & and <?', 'jsName'=>'', 'readWrite'=>'N'), +// 'NUMBEROFQUESTIONS' => array('sgqa'=>'NUMBEROFQUESTIONS', 'code'=>'value for {NUMBEROFQUESTIONS}', 'jsName'=>'', 'readWrite'=>'N'), +// 'THEREAREXQUESTIONS' => array('sgqa'=>'THEREAREXQUESTIONS', 'code'=>'value for {THEREAREXQUESTIONS}', 'jsName'=>'', 'readWrite'=>'N'), +// 'TOKEN:FIRSTNAME' => array('sgqa'=>'TOKEN:FIRSTNAME', 'code' => 'value for {TOKEN:FIRSTNAME}', 'jsName' => '', 'readWrite' => 'N'), +// 'WELCOME' => array('sgqa'=>'WELCOME', 'code'=>'value for {WELCOME}', 'jsName'=>'', 'readWrite'=>'N'), +// // also include SGQA values and read-only variable attributes +// '12X34X56' => array('sgqa'=>'12X34X56', 'code'=>5, 'jsName'=>'', 'readWrite'=>'N', 'gseq'=>1,'qseq'=>1), +// '12X3X5lab1_ber' => array('sgqa'=>'12X3X5lab1_ber', 'code'=>10, 'jsName'=>'', 'readWrite'=>'N', 'gseq'=>1,'qseq'=>1), +// 'q5pointChoice' => array('sgqa'=>'q5pointChoice', 'code'=> 3, 'jsName'=>'java_q5pointChoice', 'readWrite'=>'N','shown'=>'Father', 'relevance'=>1, 'type'=>'5', 'question'=>'(question for q5pointChoice)', 'qid'=>14,'gseq'=>2,'qseq'=>14), +// 'qArrayNumbers_ls1_min' => array('sgqa'=>'qArrayNumbers_ls1_min', 'code'=> 7, 'jsName'=>'java_qArrayNumbers_ls1_min', 'readWrite'=>'N','shown'=> 'I love LimeSurvey', 'relevance'=>1, 'type'=>'A', 'question'=>'(question for qArrayNumbers)', 'qid'=>6,'gseq'=>2,'qseq'=>6), +// '12X3X5lab1_ber#1' => array('sgqa'=>'12X3X5lab1_ber#1', 'code'=> 15, 'jsName'=>'', 'readWrite'=>'N', 'gseq'=>1,'qseq'=>1), +// 'zero' => array('sgqa'=>'zero', 'code'=>0, 'jsName'=>'java_zero', 'gseq'=>0,'qseq'=>0), +// 'empty' => array('sgqa'=>'empty', 'code'=>'', 'jsName'=>'java_empty', 'gseq'=>0,'qseq'=>0), +// 'BREAKS' => array('sgqa'=>'BREAKS', 'code'=>"1\n2\n3", 'jsName'=>'', 'readWrite'=>'N'), +// ); +// $this->lem->setTempVars($vars); +// +// foreach ($vars as $var => $attributes) +// { +// foreach ($attributes as $key => $val) +// { +// $this->assertEquals($val, $this->lem->GetVarAttribute($var, $key, null, 0, 0), "Failed GetVarAttribute: $var.$key"); +// } +// } +// +// } +// + public function testEvaluator() + { + $booleanExpressions = array( + "1" => true, + "0" => false, + "" => false, + "1 == 1" => true, + "0 == 1" => false, + "1 && 0" => false, + "1 && 1" => true, + "1 || 0" => true, + "0 || 0" => false, + ); + + foreach ($booleanExpressions as $expr => $expected) { + $this->assertEquals($expected, $this->em->ProcessBooleanExpression($expr), "Expression: '$expr'"); + } + } + + public function testFunctions() + { + $functions = array( + 'abs(5)' => 5, + 'abs(-5)' => 5, + 'abs(0)' => 0, + 'acos(0.5)' => acos(0.5), + 'acos(0.1)' => acos(0.1), + + ); + foreach ($functions as $function => $expected) { + $this->assertEquals($expected, $this->em->sProcessStringContainingExpressions('{'.$function.'}')); + } + } + + public function testEscapes() + { + $strings = array( + '\{1+1}' => '{1+1}', + 'x{1+1}' => 'x2', + 'x{1+1\}' => 'x{1+1}', + ); + foreach ($strings as $escaped => $expected) { + $this->assertEquals($expected, $this->em->sProcessStringContainingExpressions($escaped)); + } + } + + public function testJuggling() + { + $equalities = array( + '"1" == 1' => 1, + '"5" + "2"' => 7, + '"1" == 0' => '', // False is an empty string. + '1 == "1"' => 1, + '1 + "2"' => 3, + '"1" + "a"' => '1a', + '1 + "a"' => '1a', + '"05" + "1"' => 6, + '"" + "1" + "2"' => 12 + ); + foreach ($equalities as $expression => $expected) { + $result = $this->em->sProcessStringContainingExpressions('{'.$expression.'}'); + $this->assertEquals($expected, $result); + } + } + public function oldTestEvaluator() + { + + + // Syntax for $tests is + // expectedResult~expression + // if the expected result is an error, use NULL for the expected result + $tests = <<Empty Vs. Empty~"Empty Vs. Empty" +1~'' == '' +0~'' != '' +0~'' > '' +1~'' >= '' +0~'' < '' +1~'' <= '' +1~!'' +~('' and '') +~('' or '') +Empty Vs. Zero~"Empty Vs. Zero" +0~'' == 0 +1~'' != 0 +0~'' > 0 +0~'' >= 0 +0~'' < 0 +0~'' <= 0 +1~!'' +1~!0 +0~('' and 0) +0~('' or 0) +Empty Vs. Constant~"Empty Vs. Constant" +0~'' == 3 +1~'' != 3 +0~'' > 3 +0~'' >= 3 +0~'' < 3 +0~'' <= 3 +1~!'' +0~!3 +0~('' and 3) +1~('' or 3) +Empty Vs. Empty_Var~"Empty Vs. Empty_Var" +1~'' == empty +0~'' != empty +0~'' > empty +1~'' >= empty +0~'' < empty +1~'' <= empty +1~!'' +1~!empty +~('' and empty) +~('' or empty) +Empty_Var Vs. Zero~"Empty_Var Vs. Zero" +0~empty == 0 +1~empty != 0 +0~empty > 0 +0~empty >= 0 +0~empty < 0 +0~empty <= 0 +1~!empty +1~!0 +0~(empty and 0) +0~(empty or 0) +Empty_Var Vs. Zero~"Empty_Var Vs. Zero" +0~empty == zero +1~empty != zero +0~empty > zero +0~empty >= zero +0~empty < zero +0~empty <= zero +1~!empty +1~!zero +0~(empty and zero) +0~(empty or zero) +Empty_Var Vs. Constant~"Empty_Var Vs. Constant" +0~empty == 3 +1~empty != 3 +0~empty > 3 +0~empty >= 3 +0~empty < 3 +0~empty <= 3 +1~!empty +0~!3 +0~(empty and 3) +1~(empty or 3) +Solution: Empty_Var Vs. Zero~"Solution: Empty_Var Vs. Zero" +0~!is_empty(empty) && (empty == 0) +0~!is_empty(five) && (five == 0) +1~!is_empty(zero) && (zero == 0) +0~!is_empty(empty) && (empty > 0) +0~!is_empty(empty) && (empty >= 0) +0~!is_empty(empty) && (empty < 0) +0~!is_empty(empty) && (empty <= 0) +0~!is_empty(empty) && ((empty and 0)) +0~!is_empty(empty) && ((empty or 0)) +Solution: Empty_Var Vs. Zero~"Solution: Empty_Var Vs. Zero" +0~!is_empty(empty) && (empty == zero) +0~!is_empty(five) && (five == zero) +1~!is_empty(zero) && (zero == zero) +0~!is_empty(empty) && (empty > zero) +0~!is_empty(empty) && (empty >= zero) +0~!is_empty(empty) && (empty < zero) +0~!is_empty(empty) && (empty <= zero) +0~!is_empty(empty) && ((empty and zero)) +0~!is_empty(empty) && ((empty or zero)) +Solution: Empty_Var Vs. Constant~"Solution: Empty_Var Vs. Constant" +0~!is_empty(empty) && (empty < 3) +0~!is_empty(empty) && (empty <= 3) +Solution: Empty_Var Vs. Variable~"Solution: Empty_Var Vs. Variable" +0~!is_empty(empty) && (empty < five) +0~!is_empty(empty) && (empty <= five) +Solution: The Hard One is Empty_Var != 0~"Solution: The Hard One is Empty_Var != 0" +1~(empty != 0) +1~!is_empty(empty) && (empty != 0) +1~is_empty(empty) || (empty != 0) +1~is_empty(empty) || (empty != zero) +0~is_empty(zero) || (zero != 0) +1~is_empty(five) || (five != 0) +SETUP~'SETUP' +"Can strings contain embedded \"quoted passages\" (and parentheses + other characters?)?"~a=htmlspecialchars(ASSESSMENT_HEADING) +"can single quoted strings" . 'contain nested 'quoted sections'?~b=htmlspecialchars(QUESTIONHELP) +Can strings have embedded <tags> like <html>, or even unbalanced "quotes or entities without terminal semicolons like &amp and &lt?~c=htmlspecialchars(QUESTION_HELP) +Hi there!~d='Hi there!' +FUNCTIONS~'FUNCTIONS' +5~abs(five) +5~abs(-five) +0.2~acos(cos(0.2)) +0~acos(cos(pi()))-pi() +"Can strings contain embedded \\"quoted passages\\" (and parentheses + other characters?)?"~addslashes(a) +"can single quoted strings" . 'contain nested 'quoted sections'?~addslashes(b) +Can strings have embedded <tags> like <html>, or even unbalanced "quotes or entities without terminal semicolons like &amp and &lt?~addslashes(c) +0.2~asin(sin(0.2)) +0.2~atan(tan(0.2)) +0~atan2(0,1) +1~ceil(0.3) +1~ceil(0.7) +0~ceil(-0.3) +0~ceil(-0.7) +10~ceil(9.1) +1~checkdate(1,29,1967) +0~checkdate(2,29,1967) +0.2~cos(acos(0.2)) +5~count(1,2,3,4,5) +0~count() +5~count(one,two,three,four,five) +2~count(a,'',c) +NULL~date('F j, Y, g:i a',time()) +April 5, 2006, 1:02 am~date('F j, Y, g:i a',mktime(1,2,3,4,5,6)) +20~floor(exp(3)) +0~floor(asin(sin(pi()))) +9~floor(9.9) +3~floor(pi()) +January 12, 2012, 5:27 pm~date('F j, Y, g:i a',1326410867) +January 12, 2012, 11:27 pm~gmdate('F j, Y, g:i a',1326410867) +"Can strings contain embedded \"quoted passages\" (and parentheses + other characters?)?"~html_entity_decode(a) +"can single quoted strings" . 'contain nested 'quoted sections'?~html_entity_decode(b) +Can strings have embedded like , or even unbalanced "quotes or entities without terminal semicolons like & and <?~html_entity_decode(c) +"Can strings contain embedded \"quoted passages\" (and parentheses + other characters?)?"~htmlentities(a) +"can single quoted strings" . 'contain nested 'quoted sections'?~htmlentities(b) +Can strings have embedded <tags> like <html>, or even unbalanced "quotes or entities without terminal semicolons like &amp and &lt?~htmlentities(c) +1~c==htmlspecialchars(htmlspecialchars_decode(c)) +1~b==htmlspecialchars(htmlspecialchars_decode(b)) +1~a==htmlspecialchars(htmlspecialchars_decode(a)) +"Can strings contain embedded \"quoted passages\" (and parentheses + other characters?)?"~htmlspecialchars_decode(a) +"can single quoted strings" . 'contain nested 'quoted sections'?~htmlspecialchars_decode(b) +Can strings have embedded like , or even unbalanced "quotes or entities without terminal semicolons like & and like , or even unbalanced "quotes or entities without terminal semicolons like & and <?~htmlspecialchars(c) +9~idate('B',1326410867) +0~if('0',1,0) +0~if(0,1,0) +1~if(!0,1,0) +0~if(!(!0),1,0) +1~if('true',1,0) +1~if('false',1,0) +1~if('00',1,0) +0~if('',1,0) +1~if('A',1,0) +0~if(empty,1,0) +4~if(5 > 7,2,4) +1~if(' ',1,0) +there~if((one > two),'hi','there') +64~if((one < two),pow(2,6),pow(6,2)) +H e l l o~implode(' ','H','e','l','l','o') +1|2|3|4|5~implode('|',one,two,three,four,five) +123~join(1,2,3) +123 5~join(one,2,three," ",five) +4~intval('4') +4~intval('100',2) +5~intval(5.7) +0~is_empty(four) +1~is_empty(empty) +1~is_empty('') +0~is_empty(0) +0~is_empty('0') +0~is_empty('false') +0~is_empty('NULL') +0~is_empty(1) +1~is_empty(one==two) +0~!is_empty(one==two) +1~is_float(half) +0~is_float(one) +1~is_float(pi()) +0~is_float(5) +0~is_int(half) +1~is_int(one) +0~is_nan(half) +1~is_nan(WELCOME) +1~is_null(sdfjskdfj) +0~is_null(four) +0~is_numeric(empty) +1~is_numeric('1') +1~is_numeric(four) +0~is_numeric('hi') +1~is_numeric(five) +0~is_numeric(hi) +0~is_string(four) +1~is_string('hi') +1~is_string(hi) +1, 2, 3, 4, 5~list(one,two,three,min(four,five,six),max(three,four,five)) +11, 12~list(eleven,twelve) +0, 1, 3, 5~list(0,one,'',three,'',five) +1~log(exp(1)) +2~log(exp(2)) +I was trimmed ~ltrim(' I was trimmed ') +10~max(5,6,10,-20) +6~max(five,(one + (two * four)- three)) +6~max((one + (two * four)- three)) +212~5 + max(1,(2+3),(4 + (5 + 6)),((7 + 8) + 9),((10 + 11), 12),(13 + (14 * 15) - 16)) +29~five + max(one, (two + three), (four + (five + six)),((seven + eight) + nine),((ten + eleven), twelve),(one + (two * three) - four)) +1024~max(one,(two*three),pow(four,five),six) +2~max(one,two) +5~max(one,two,three,four,five) +-5~min(-5,10,15,12,-3) +1~min(five,four,one,two,three) +1344765967~mktime(5,6,7,8) +1144191723~mktime(1,2,3,4,5,6) +1,000~number_format(1000) +1,000.23~number_format(1000.23) +1,234,567~number_format(1234567) +315~ceil(100*pi()) +1~pi() == pi() * 2 - pi() +4~pow(2,2) +27~pow(3,3) +=~quoted_printable_decode(quoted_printable_encode('=')) +\\$~quotemeta('$') +IGNORE THIS ERROR~rand(3,5) +0~(a=rand())-a +1~regexMatch('/embedded/',c) +1~regexMatch('/^.*embedded.*$/',c) +0~regexMatch('/joe/',c) +1~regexMatch('/(?:dog|cat)food/','catfood stinks') +1~regexMatch('/(?:dog|cat)food/','catfood stinks') +1~regexMatch('/[0-9]{3}-[0-9]{2}-[0-9]{4}/','123-45-6789') +1~regexMatch('/\d{3}-\d{2}-\d{4}/','123-45-6789') +1~regexMatch('/(?:\(\d{3}\))\s*\d{3}-\d{4}/','(212) 555-1212') +0~round(0.2) +1~round(.8) +0.07~0.01 + 0.06 +0.07~round(0.01 + 0.06,10) + I was trimmed~rtrim(' I was trimmed ') +0.2~sin(asin(0.2)) +1~sin(pi()/2) +1~sin(pi()/2) == sin(.5 * pi()) +1~sin(0.5 * pi()) +hello,5~sprintf('%s,%d','hello',5) +2~sqrt(4) +158~round(stddev(4,5,6,7,8)*100) +hello-----~str_pad('hello',10,'-') +hello ~str_pad('hello',10) +hello~str_pad('hello',3) +testtesttest~str_repeat('test',3) +I am awesome~str_replace('You are','I am','You are awesome') +I love LimeSurvey~str_replace('like','love','I like LimeSurvey') +1~0==strcasecmp('Hello','hello') +0~0==strcasecmp('Hello','hi') +1~0==strcmp('Hello','Hello') +0~0==strcmp('Hello','hi') +Hi there!~c=strip_tags(d) +hello~strip_tags('hello') +5~stripos('ABCDEFGHI','f') +hi~stripslashes('\\h\\i') +FGHI~stristr('ABCDEFGHI','fg') +5~strlen('12345') +5~strlen(hi) +0~strpos('ABCDEFGHI','f') +5~strpos('ABCDEFGHI','F') +2~strpos('I like LimeSurvey','like') +54321~strrev('12345') +0~strstr('ABCDEFGHI','fg') +FGHI~strstr('ABCDEFGHI','FG') +hi there!~strtolower(c) +HI THERE!~strtoupper(c) +3600~strtotime("27 Mar 1976 8:20")-strtotime("1976/03/27 7:20") +10~(strtotime("13 Apr 2013")-strtotime("2013-04-03"))/60/60/24 +1985-11-05 00:00:00~date("Y-m-d H:i:s",strtotime("05 Nov 1985")) +HOURS PASSED SINCE 1970~round(strtotime("now")/60/60) +~"" +1985-11-05 00:00:00~date("Y-m-d H:i:s",strtotime("11/5/85")) +2010-08-09 00:00:00~date("Y-m-d H:i:s",strtotime("8/9/10")) +2010-08-09 00:00:00~date("Y-m-d H:i:s",strtotime("8/9/2010")) +2010-08-09 00:00:00~date("Y-m-d H:i:s",strtotime("2010/8/9")) +~"" +1985-11-05 00:00:00~date("Y-m-d H:i:s",strtotime("85-11-5")) +2010-08-09 00:00:00~date("Y-m-d H:i:s",strtotime("10-8-9")) +2010-08-09 00:00:00~date("Y-m-d H:i:s",strtotime("9-8-2010")) +2010-08-09 00:00:00~date("Y-m-d H:i:s",strtotime("2010-8-9")) +~"" +1985-11-05 00:53:20~date("Y-m-d H:i:s",strtotime("85-11-5 0:53:20")) +2010-08-09 00:53:20~date("Y-m-d H:i:s",strtotime("10-8-9 0:53:20")) +2010-08-09 11:12:13~date("Y-m-d H:i:s",strtotime("9-8-2010 11:12:13")) +2010-08-09 11:12:13~date("Y-m-d H:i:s",strtotime("2010-8-9 11:12:13")) +~"" +Today 11:11:59~date("Y-m-d H:i:s",strtotime("11.11.59")) +Today 9:08:10~date("Y-m-d H:i:s",strtotime("9.8.10")) +2010-08-09 00:00:00~date("Y-m-d H:i:s",strtotime("9.8.2010")) +~"" +1985-11-05 00:53:20~date("Y-m-d H:i:s",strtotime("5.11.85 0:53:20")) +2010-08-09 11:12:13~date("Y-m-d H:i:s",strtotime("9.8.2010 11:12:13")) +~"" +1970-01-01 00:00:00~date("Y-m-d H:i:s",strtotime("70-01-01")) +1999-01-01 00:00:00~date("Y-m-d H:i:s",strtotime("99-01-01")) +2001-01-01 00:00:00~date("Y-m-d H:i:s",strtotime("01-01-01")) +1902-01-01 00:00:00~date("Y-m-d H:i:s",strtotime("1902-01-01")) +~"" +today 2:15:00~date("Y-m-d H:i:s",strtotime("2:15:00")) +Some dates that are not (correctly) parsed:~"Some dates that are not (correctly) parsed:" +1969-01-19 00:00:00~date("Y-m-d H:i:s",strtotime("69-01-19")) +1985-11-05 00:00:00~date("Y-m-d H:i:s",strtotime("85/11/5")) +1985-11-05 00:00:00~date("Y-m-d H:i:s",strtotime("5-11-85")) +2010-08-09 00:00:00~date("Y-m-d H:i:s",strtotime("2010.8.9")) +1985-11-05 00:00:00~date("Y-m-d H:i:s",strtotime("85.11.5")) +1985-11-05 00:53:20~date("Y-m-d H:i:s",strtotime("85.11.5 0:53:20")) +2010-08-09 11:12:13~date("Y-m-d H:i:s",strtotime("9.8.10 11:12:13")) +678~substr('1234567890',5,3) +15~sum(1,2,3,4,5) +15~sum(one,two,three,four,five) +0.2~tan(atan(0.2)) +IGNORE THIS ERROR~time() +I was trimmed~trim(' I was trimmed ') +Hi There You~ucwords('hi there you') +EXPRESSIONS~'EXPRESSIONS' +1~!'0' +1~0 eq '0' +0~0 ne '0' +0~0 eq empty +1~0 ne empty +0~0 eq '' +1~0 ne '' +0~'' < 10 +0~0 < empty +1~0 <= empty +0~0 > empty +1~0 >= empty +0~'0' eq empty +1~'0' ne empty +0~'0' < empty +1~'0' <= empty +0~'0' > empty +1~'0' >= empty +1~empty eq empty +0~empty ne empty +0~'' > 0 +0~' ' > 0 +1~!0 +0~!' ' +0~!'A' +0~!1 +0~!'1' +1~!'' +1~!empty +1~'0'==0 +0~'A'>0 +0~'A'<0 +0~'A'==0 +0~'A'>=0 +0~'A'<=0 +0~0>'A' +0~0>='B' +0~0=='C' +0~0<'D' +0~0<='E' +1~0!='F' +1~'A' or 'B' +1~'A' and 'B' +0~'A' eq 'B' +1~'A' ne 'B' +1~'A' < 'B' +1~'A' <= 'B' +0~'A' > 'B' +0~'A' >= 'B' +AB~'A' + 'B' +NAN~'A' - 'B' +NAN~'A' * 'B' +NAN~'A' / 'B' +1~'A' or empty +0~'A' and empty +0~'A' eq empty +1~'A' ne empty +0~'A' < empty +0~'A' <= empty +1~'A' > empty +1~'A' >= empty +A~'A' + empty +NAN~'A' - empty +NAN~'A' * empty +NAN~'A' / empty +0~0 or empty +0~0 and empty +0~0 + empty +0~0 - empty +0~0 * empty +NAN~0 / empty +0~(-1 > 0) +0~zero +~empty +1~five > zero +1~five > empty +1~empty < 16 +1~zero == empty +3~q5pointChoice.code +5~q5pointChoice.type +(question for q5pointChoice)~q5pointChoice.question +1~q5pointChoice.relevance +4~q5pointChoice.NAOK + 1 +NULL~q5pointChoice.bogus +14~q5pointChoice.qid +7~qArrayNumbers_ls1_min.code +1~(one * (two + (three - four) + five) / six) +2.4~(one * two) + (three * four) / (five * six) +50~12X34X56 * 12X3X5lab1_ber +1~c == 'Hi there!' +1~c == "Hi there!" +3~a=three +3~c=a +12~c*=four +15~c+=a +5~c/=a +-1~c-=six +24~one * two * three * four +-4~five - four - three - two +0~two * three - two - two - two +4~two * three - two +105~5 + 1, 7 * 15 +7~7 +15~10 + 5 +24~12 * 2 +10~13 - 3 +3.5~14 / 4 +5~3 + 1 * 2 +1~one +there~hi +6.25~one * two - three / four + five +1~one + hi +1~two > one +1~two gt one +1~three >= two +1~three ge two +0~four < three +0~four lt three +0~four <= three +0~four le three +0~four == three +0~four eq three +1~four != three +0~four ne four +NAN~one * hi +0~a='hello',b='',c=0 +hello~a +0~c +0~one && 0 +0~two and 0 +1~five && 6 +1~seven && eight +1~one or 0 +1~one || 0 +1~(one and 0) || (two and three) +value for {QID}~QID +"Can strings contain embedded \"quoted passages\" (and parentheses + other characters?)?"~ASSESSMENT_HEADING +"can single quoted strings" . 'contain nested 'quoted sections'?~QUESTIONHELP +Can strings have embedded like , or even unbalanced "quotes or entities without terminal semicolons like & and <?~QUESTION_HELP +value for {TOKEN:FIRSTNAME}~TOKEN:FIRSTNAME +value for {THEREAREXQUESTIONS}~THEREAREXQUESTIONS +15~12X3X5lab1_ber#1 +1~three == three +1~three == 3 +11~eleven +144~twelve * twelve +0~!three +8~five + + three +2~five + - three +SYNTAX ERRORS~'SYNTAX ERRORS' +NULL~* +NULL~three + +NULL~four * / seven +NULL~(five - three +NULL~five + three) +NULL~seven + = four +NULL~> +NULL~five > > three +NULL~seven > = four +NULL~seven >= +NULL~three && +NULL~three || +NULL~three + +NULL~three >= +NULL~three += +NULL~three ! +NULL~three * +NULL~five ! three +NULL~(5 + 7) = 8 +NULL~&& four +NULL~min( +NULL~max three, four, five) +NULL~three four +NULL~max(three,four,five) six +NULL~WELCOME='Good morning' +NULL~TOKEN:FIRSTNAME='Tom' +NULL~NUMBEROFQUESTIONS+=3 +NULL~NUMBEROFQUESTIONS*=4 +NULL~NUMBEROFQUESTIONS/=5 +NULL~NUMBEROFQUESTIONS-=6 +NULL~'Tom'='tired' +NULL~max() +NULL~convert_value( 10, 1, '0,5,10,15,20', '0,5,10,15') +100~convert_value( 10, 1, '0,5,10,15,20', '0,50,100,150,200') +NULL~convert_value( 10, 0, '0,5,10,15,20', '0,50,100,150,200') +100~convert_value( 8, 0, '0,5,10,15,20', '0,50,100,150,200') +100~convert_value( 12, 0, '0,5,10,15,20', '0,50,100,150,200') +0~convert_value( 0, 0, '0,5,10,15,20', '0,50,100,150,200') +0~convert_value( -10000, 0, '0,5,10,15,20', '0,50,100,150,200') +NULL~convert_value( -10000, 1, '0,5,10,15,20', '0,50,100,150,200') +200~convert_value( 20, 0, '0,5,10,15,20', '0,50,100,150,200') +200~convert_value( 20, 1, '0,5,10,15,20', '0,50,100,150,200') +200~convert_value( 30, 0, '0,5,10,15,20', '0,50,100,150,200') +NULL~convert_value( 30, 1, '0,5,10,15,20', '0,50,100,150,200') +EOD; + + $atests = explode("\n", $tests); + $atests[] = "1\n2\n3~BREAKS"; + $atests[] = "1
\n2
\n3~nl2br(BREAKS)"; + $atests[] = "hi
\nthere
\nhow
\nare
\nyou?~nl2br('hi\\nthere\\nhow\\nare\\nyou?')"; + $atests[] = "hi
\nthere,
\nuser!~nl2br(implode('\\n','hi','there,','user!'))"; + + $LEM = & LimeExpressionManager::singleton(); + $em = new ExpressionManager(); + $LEM->setTempVars($vars); + + //$LEMsessid = 'survey_' . Yii::app()->getConfig('surveyID'); + $LEMsessid = 'survey_12345'; + // manually set relevance status + $_SESSION[$LEMsessid]['relevanceStatus'] = array(); + foreach ($vars as $var) { + if (isset($var['qseq'])) { + $_SESSION[$LEMsessid]['relevanceStatus'][$var['qseq']] = 1; + } + } + + $allJsVarnamesUsed = array(); + $body = ''; + $body .= ''; + $i = 0; + $javaScript = array(); + foreach ($atests as $test) { + ++$i; + $values = explode("~", $test); + $expectedResult = array_shift($values); + $expr = implode("~", $values); + $resultStatus = 'ok'; + $em->groupSeq = 2; + $em->questionSeq = 3; + $status = $em->RDP_Evaluate($expr); + if ($status) { + $allJsVarnamesUsed = array_merge($allJsVarnamesUsed, $em->GetJsVarsUsed()); + } + $result = $em->GetResult(); + $valToShow = $result; // htmlspecialchars($result,ENT_QUOTES,'UTF-8',false); + $expectedToShow = $expectedResult; // htmlspecialchars($expectedResult,ENT_QUOTES,'UTF-8',false); + $body .= ""; + $body .= "\n"; + if (is_null($result)) { + $valToShow = "NULL"; + } + if ($valToShow != $expectedToShow) { + $resultStatus = 'error'; + } + $body .= "\n"; + $body .= '\n"; + $javaScript[] = $em->GetJavascriptTestforExpression($expectedToShow, $i); + $body .= "\n"; + $varsUsed = $em->GetVarsUsed(); + if (is_array($varsUsed) and count($varsUsed) > 0) { + $varDesc = array(); + foreach ($varsUsed as $v) { + $varDesc[] = $v; + } + $body .= '\n"; + } else { + $body .= "\n"; + } + $jsEqn = $em->GetJavaScriptEquivalentOfExpression(); + if ($jsEqn == '') { + $body .= "\n"; + } else { + $body .= '\n"; + } + $body .= ''; + } + $body .= '
ExpressionPHP ResultExpectedJavaScript ResultVarNamesJavaScript Eqn
".$em->GetPrettyPrintString()."".$valToShow."'.$expectedToShow." '.implode(',
', $varDesc)."
  '.$jsEqn."
'; + $body .= "\n"; + + $allJsVarnamesUsed = array_unique($allJsVarnamesUsed); + asort($allJsVarnamesUsed); + $pre = ''; + $pre .= "

Change some Relevance values to 0 to see how it affects computations

\n"; + $pre .= ''; + $i = 0; + $LEMvarNameAttr = array(); + $LEMalias2varName = array(); + foreach ($allJsVarnamesUsed as $jsVarName) { + ++$i; + $pre .= "\n"; + $LEMalias2varName[] = "'".substr($jsVarName, 5)."':'".$jsVarName."'"; + $LEMalias2varName[] = "'".$jsVarName."':'".$jsVarName."'"; + $attrInfo = "'".$jsVarName."': {'jsName':'".$jsVarName."'"; + + $varInfo = $vars[substr($jsVarName, 5)]; + foreach ($varInfo as $k=>$v) { + if ($k == 'code') { + continue; // will access it from hidden node + } + if ($k == 'shown') { + $k = 'shown'; + $v = htmlspecialchars(preg_replace("/[[:space:]]/", ' ', $v), ENT_QUOTES); + } + if ($k == 'jsName') { + continue; // since already set + } + $attrInfo .= ", '".$k."':'".$v."'"; + + } + $attrInfo .= ",'qid':".$i."}"; + $LEMvarNameAttr[] = $attrInfo; + } + $pre .= "
#JsVarnameStarting ValueRelevance
".$i."".$jsVarName; + foreach ($vars as $k => $v) { + if ($v['jsName'] == $jsVarName) { + $value = $v['code']; + } + } + $pre .= "".$value."\n"; + $pre .= "\n"; + $pre .= "
\n"; + + $pre .= "\n"; + + print $pre; + print $body; + + } + + + /** + * Unit test the asSplitStringOnExpressions() function to ensure that accurately parses out all expressions + * surrounded by curly braces, allowing for strings and escaped curly braces. + */ + + public function oldStringSplitter() + { + $tests = << INSERT61764X1X4),'children','pets')} than you do {if((INSERT61764X1X3 > INSERT61764X1X4),'pets','children')}, do you feel that the {if((INSERT61764X1X3 > INSERT61764X1X4),'pets','children')} are at a disadvantage? +Here is a String that failed to parse prior to fixing the preg_split() command to avoid recursive search of sub-strings: [{((617167X9X3241 == "Y" or 617167X9X3242 == "Y" or 617167X9X3243 == "Y" or 617167X9X3244 == "Y" or 617167X9X3245 == "Y" or 617167X9X3246 == "Y" or 617167X9X3247 == "Y" or 617167X9X3248 == "Y" or 617167X9X3249 == "Y") and (617167X9X3301 == "Y" or 617167X9X3302 == "Y" or 617167X9X3303 == "Y" or 617167X9X3304 == "Y" or 617167X9X3305 == "Y" or 617167X9X3306 == "Y" or 617167X9X3307 == "Y" or 617167X9X3308 == "Y" or 617167X9X3309 == "Y"))}] Here is the question. +EOD; +// Here is a String that failed to parse prior to fixing the preg_split() command to avoid recursive search of sub-strings: [{((617167X9X3241 == "Y" or 617167X9X3242 == "Y" or 617167X9X3243 == "Y" or 617167X9X3244 == "Y" or 617167X9X3245 == "Y" or 617167X9X3246 == "Y" or 617167X9X3247 == "Y" or 617167X9X3248 == "Y" or 617167X9X3249 == "Y") and (617167X9X3301 == "Y" or 617167X9X3302 == "Y" or 617167X9X3303 == "Y" or 617167X9X3304 == "Y" or 617167X9X3305 == "Y" or 617167X9X3306 == "Y" or 617167X9X3307 == "Y" or 617167X9X3308 == "Y" or 617167X9X3309 == "Y"))}] Here is the question. + + $em = new ExpressionManager(); + + $atests = explode("\n", $tests); + array_push($atests, '"hi\nthere\nhow\nare\nyou?\n"'); + + foreach ($atests as $test) { + $tokens = $em->asSplitStringOnExpressions($test); + print ''.$test.'
'; + print ''; + print implode("
\n", explode("\n", print_r($tokens, true))); + print '

'; + } + } + + /** + * Unit test the Tokenizer - Tokenize and generate a HTML-compatible print-out of a comprehensive set of test cases + */ + + public function oldTokenizer() + { + // Comprehensive test cases for tokenizing + $tests = << >= < <= == != gt ge lt le eq ne (target large gents built agile less equal) + Assign: = += -= *= /= + SGQA: 1X6X12 1X6X12ber1 1X6X12ber1_lab1 3583X84X249 12X3X5lab1_ber#1 1X6X12.NAOK 1X6X12ber1.NAOK 1X6X12ber1_lab1.NAOK 3583X84X249.NAOK 12X3X5lab1_ber#1.NAOK + Errors: Apt # 10C; (2 > 0) ? 'hi' : 'there'; array[30]; >>> <<< /* this is not a comment */ // neither is this + Words: q5pointChoice q5pointChoice.bogus q5pointChoice.code q5pointChoice.mandatory q5pointChoice.NAOK q5pointChoice.qid q5pointChoice.question q5pointChoice.relevance q5pointChoice.shown q5pointChoice.type +EOD; + + $em = new ExpressionManager(); + + foreach (explode("\n", $tests) as $test) { + $tokens = array(); //$em->RDP_Tokenize($test); + print ''.$test.'
'; + print ''; + print implode("
\n", explode("\n", print_r($tokens, true))); + print '

'; + } + } + } + +?> diff --git a/tests/unit/README.md b/tests/unit/README.md new file mode 100644 index 00000000000..ff60f5fa178 --- /dev/null +++ b/tests/unit/README.md @@ -0,0 +1,11 @@ +# Unit tests +from: +https://stackoverflow.com/questions/4904096/whats-the-difference-between-unit-functional-acceptance-and-integration-test + > Unit tests should be focussed on one particular feature (e.g., calling the pop method when the stack is empty should throw an InvalidOperationException). Everything it touches should be done in memory; this means that the test code and the code under test shouldn't: + >- Call out into (non-trivial) collaborators + >- Access the network + >- Hit a database + >- Use the file system + >- Spin up a thread + > + >Any kind of dependency that is slow / hard to understand / initialise / manipulate should be stubbed/mocked/whatevered using the appropriate techniques so you can focus on what the unit of code is doing, not what its dependencies do. From c1953c0015a8949552c6129d13d021cf046c8514 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=B5nis=20Ormisson?= Date: Wed, 10 Jan 2018 15:39:23 +0200 Subject: [PATCH 02/84] Update .travis.yml --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index fe919e118ba..9beaadb02e2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -43,7 +43,7 @@ before_script: - sudo sed -i -e "s,www-data,travis,g" /etc/apache2/envvars - sudo chown -R travis:travis /var/lib/apache2/fastcgi - ~/.phpenv/versions/$(phpenv version-name)/sbin/php-fpm - - sudo cp -f tests/travis/travis-ci-apache /etc/apache2/sites-available/000-default.conf + - sudo cp -f tests/resources/travis/travis-ci-apache /etc/apache2/sites-available/000-default.conf - sudo sed -e "s?%TRAVIS_BUILD_DIR%?$(pwd)?g" --in-place /etc/apache2/sites-available/000-default.conf - sudo service apache2 restart From 268071f76fdb80a2f32fe9367a7b93798f989816 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=B5nis=20Ormisson?= Date: Wed, 10 Jan 2018 16:18:19 +0200 Subject: [PATCH 03/84] don't ignore travis --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 8dd96ca468c..ab67056388b 100644 --- a/.gitignore +++ b/.gitignore @@ -109,6 +109,7 @@ third_party/composer/installed\.json !.eslintignore !.eslint.json !.eslintrc.json +!.travis.yml ## ignore Vagrantfile Vagrantfile From a5bd60d7e4ee848353181f95a8e2627af0f87be5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=B5nis=20Ormisson?= Date: Wed, 10 Jan 2018 16:34:25 +0200 Subject: [PATCH 04/84] ADD suites! --- phpunit.xml | 18 ++++++------------ tests/unit/ExpressionManagerTest.php | 5 ++++- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/phpunit.xml b/phpunit.xml index 94633b631b0..91c99e93aa8 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -1,19 +1,13 @@ - - tests/questions + + tests/acceptance - - tests/helpers + + tests/functional - - tests/models - - - tests/controllers - - - tests/surveys + + tests/unit diff --git a/tests/unit/ExpressionManagerTest.php b/tests/unit/ExpressionManagerTest.php index 2b0ac1dacee..3c20827cfd0 100644 --- a/tests/unit/ExpressionManagerTest.php +++ b/tests/unit/ExpressionManagerTest.php @@ -1,5 +1,8 @@ Date: Thu, 11 Jan 2018 09:26:29 +0200 Subject: [PATCH 05/84] update tests --- tests/unit/ExpressionManagerTest.php | 897 --------------------------- 1 file changed, 897 deletions(-) delete mode 100644 tests/unit/ExpressionManagerTest.php diff --git a/tests/unit/ExpressionManagerTest.php b/tests/unit/ExpressionManagerTest.php deleted file mode 100644 index 3c20827cfd0..00000000000 --- a/tests/unit/ExpressionManagerTest.php +++ /dev/null @@ -1,897 +0,0 @@ -em = new ExpressionManager(); - } - -// public function testVariables() -// { -// $vars = array( -// 'one' => array('sgqa'=>'one', 'code'=>1, 'jsName'=>'java_one', 'readWrite'=>'Y', 'gseq'=>2,'qseq'=>4), -// 'two' => array('sgqa'=>'two', 'code'=>2, 'jsName'=>'java_two', 'readWrite'=>'Y', 'gseq'=>2,'qseq'=>4), -// 'three' => array('sgqa'=>'three', 'code'=>3, 'jsName'=>'java_three', 'readWrite'=>'Y', 'gseq'=>2,'qseq'=>4), -// 'four' => array('sgqa'=>'four', 'code'=>4, 'jsName'=>'java_four', 'readWrite'=>'Y', 'gseq'=>2,'qseq'=>1), -// 'five' => array('sgqa'=>'five', 'code'=>5, 'jsName'=>'java_five', 'readWrite'=>'Y', 'gseq'=>2,'qseq'=>1), -// 'six' => array('sgqa'=>'six', 'code'=>6, 'jsName'=>'java_six', 'readWrite'=>'Y', 'gseq'=>2,'qseq'=>1), -// 'seven' => array('sgqa'=>'seven', 'code'=>7, 'jsName'=>'java_seven', 'readWrite'=>'Y', 'gseq'=>2,'qseq'=>5), -// 'eight' => array('sgqa'=>'eight', 'code'=>8, 'jsName'=>'java_eight', 'readWrite'=>'Y', 'gseq'=>2,'qseq'=>5), -// 'nine' => array('sgqa'=>'nine', 'code'=>9, 'jsName'=>'java_nine', 'readWrite'=>'Y', 'gseq'=>2,'qseq'=>5), -// 'ten' => array('sgqa'=>'ten', 'code'=>10, 'jsName'=>'java_ten', 'readWrite'=>'Y', 'gseq'=>1,'qseq'=>1), -// 'half' => array('sgqa'=>'half', 'code'=>.5, 'jsName'=>'java_half', 'readWrite'=>'Y', 'gseq'=>1,'qseq'=>1), -// 'hi' => array('sgqa'=>'hi', 'code'=>'there', 'jsName'=>'java_hi', 'readWrite'=>'Y', 'gseq'=>1,'qseq'=>1), -// 'hello' => array('sgqa'=>'hello', 'code'=>"Tom", 'jsName'=>'java_hello', 'readWrite'=>'Y', 'gseq'=>1,'qseq'=>1), -// 'a' => array('sgqa'=>'a', 'code'=>0, 'jsName'=>'java_a', 'readWrite'=>'Y', 'gseq'=>2,'qseq'=>2), -// 'b' => array('sgqa'=>'b', 'code'=>0, 'jsName'=>'java_b', 'readWrite'=>'Y', 'gseq'=>2,'qseq'=>2), -// 'c' => array('sgqa'=>'c', 'code'=>0, 'jsName'=>'java_c', 'readWrite'=>'Y', 'gseq'=>2,'qseq'=>2), -// 'd' => array('sgqa'=>'d', 'code'=>0, 'jsName'=>'java_d', 'readWrite'=>'Y', 'gseq'=>2,'qseq'=>2), -// 'eleven' => array('sgqa'=>'eleven', 'code'=>11, 'jsName'=>'java_eleven', 'readWrite'=>'Y', 'gseq'=>1,'qseq'=>1), -// 'twelve' => array('sgqa'=>'twelve', 'code'=>12, 'jsName'=>'java_twelve', 'readWrite'=>'Y', 'gseq'=>1,'qseq'=>1), -// // Constants -// 'ASSESSMENT_HEADING' => array('sgqa'=>'ASSESSMENT_HEADING', 'code'=>'"Can strings contain embedded \"quoted passages\" (and parentheses + other characters?)?"', 'jsName'=>'', 'readWrite'=>'N'), -// 'QID' => array('sgqa'=>'QID', 'code'=>'value for {QID}', 'jsName'=>'', 'readWrite'=>'N'), -// 'QUESTIONHELP' => array('sgqa'=>'QUESTIONHELP', 'code'=>'"can single quoted strings" . \'contain nested \'quoted sections\'?', 'jsName'=>'', 'readWrite'=>'N'), -// 'QUESTION_HELP' => array('sgqa'=>'QUESTION_HELP', 'code'=>'Can strings have embedded like , or even unbalanced "quotes or entities without terminal semicolons like & and <?', 'jsName'=>'', 'readWrite'=>'N'), -// 'NUMBEROFQUESTIONS' => array('sgqa'=>'NUMBEROFQUESTIONS', 'code'=>'value for {NUMBEROFQUESTIONS}', 'jsName'=>'', 'readWrite'=>'N'), -// 'THEREAREXQUESTIONS' => array('sgqa'=>'THEREAREXQUESTIONS', 'code'=>'value for {THEREAREXQUESTIONS}', 'jsName'=>'', 'readWrite'=>'N'), -// 'TOKEN:FIRSTNAME' => array('sgqa'=>'TOKEN:FIRSTNAME', 'code' => 'value for {TOKEN:FIRSTNAME}', 'jsName' => '', 'readWrite' => 'N'), -// 'WELCOME' => array('sgqa'=>'WELCOME', 'code'=>'value for {WELCOME}', 'jsName'=>'', 'readWrite'=>'N'), -// // also include SGQA values and read-only variable attributes -// '12X34X56' => array('sgqa'=>'12X34X56', 'code'=>5, 'jsName'=>'', 'readWrite'=>'N', 'gseq'=>1,'qseq'=>1), -// '12X3X5lab1_ber' => array('sgqa'=>'12X3X5lab1_ber', 'code'=>10, 'jsName'=>'', 'readWrite'=>'N', 'gseq'=>1,'qseq'=>1), -// 'q5pointChoice' => array('sgqa'=>'q5pointChoice', 'code'=> 3, 'jsName'=>'java_q5pointChoice', 'readWrite'=>'N','shown'=>'Father', 'relevance'=>1, 'type'=>'5', 'question'=>'(question for q5pointChoice)', 'qid'=>14,'gseq'=>2,'qseq'=>14), -// 'qArrayNumbers_ls1_min' => array('sgqa'=>'qArrayNumbers_ls1_min', 'code'=> 7, 'jsName'=>'java_qArrayNumbers_ls1_min', 'readWrite'=>'N','shown'=> 'I love LimeSurvey', 'relevance'=>1, 'type'=>'A', 'question'=>'(question for qArrayNumbers)', 'qid'=>6,'gseq'=>2,'qseq'=>6), -// '12X3X5lab1_ber#1' => array('sgqa'=>'12X3X5lab1_ber#1', 'code'=> 15, 'jsName'=>'', 'readWrite'=>'N', 'gseq'=>1,'qseq'=>1), -// 'zero' => array('sgqa'=>'zero', 'code'=>0, 'jsName'=>'java_zero', 'gseq'=>0,'qseq'=>0), -// 'empty' => array('sgqa'=>'empty', 'code'=>'', 'jsName'=>'java_empty', 'gseq'=>0,'qseq'=>0), -// 'BREAKS' => array('sgqa'=>'BREAKS', 'code'=>"1\n2\n3", 'jsName'=>'', 'readWrite'=>'N'), -// ); -// $this->lem->setTempVars($vars); -// -// foreach ($vars as $var => $attributes) -// { -// foreach ($attributes as $key => $val) -// { -// $this->assertEquals($val, $this->lem->GetVarAttribute($var, $key, null, 0, 0), "Failed GetVarAttribute: $var.$key"); -// } -// } -// -// } -// - public function testEvaluator() - { - $booleanExpressions = array( - "1" => true, - "0" => false, - "" => false, - "1 == 1" => true, - "0 == 1" => false, - "1 && 0" => false, - "1 && 1" => true, - "1 || 0" => true, - "0 || 0" => false, - ); - - foreach ($booleanExpressions as $expr => $expected) { - $this->assertEquals($expected, $this->em->ProcessBooleanExpression($expr), "Expression: '$expr'"); - } - } - - public function testFunctions() - { - $functions = array( - 'abs(5)' => 5, - 'abs(-5)' => 5, - 'abs(0)' => 0, - 'acos(0.5)' => acos(0.5), - 'acos(0.1)' => acos(0.1), - - ); - foreach ($functions as $function => $expected) { - $this->assertEquals($expected, $this->em->sProcessStringContainingExpressions('{'.$function.'}')); - } - } - - public function testEscapes() - { - $strings = array( - '\{1+1}' => '{1+1}', - 'x{1+1}' => 'x2', - 'x{1+1\}' => 'x{1+1}', - ); - foreach ($strings as $escaped => $expected) { - $this->assertEquals($expected, $this->em->sProcessStringContainingExpressions($escaped)); - } - } - - public function testJuggling() - { - $equalities = array( - '"1" == 1' => 1, - '"5" + "2"' => 7, - '"1" == 0' => '', // False is an empty string. - '1 == "1"' => 1, - '1 + "2"' => 3, - '"1" + "a"' => '1a', - '1 + "a"' => '1a', - '"05" + "1"' => 6, - '"" + "1" + "2"' => 12 - ); - foreach ($equalities as $expression => $expected) { - $result = $this->em->sProcessStringContainingExpressions('{'.$expression.'}'); - $this->assertEquals($expected, $result); - } - } - public function oldTestEvaluator() - { - - - // Syntax for $tests is - // expectedResult~expression - // if the expected result is an error, use NULL for the expected result - $tests = <<Empty Vs. Empty~"Empty Vs. Empty" -1~'' == '' -0~'' != '' -0~'' > '' -1~'' >= '' -0~'' < '' -1~'' <= '' -1~!'' -~('' and '') -~('' or '') -Empty Vs. Zero~"Empty Vs. Zero" -0~'' == 0 -1~'' != 0 -0~'' > 0 -0~'' >= 0 -0~'' < 0 -0~'' <= 0 -1~!'' -1~!0 -0~('' and 0) -0~('' or 0) -Empty Vs. Constant~"Empty Vs. Constant" -0~'' == 3 -1~'' != 3 -0~'' > 3 -0~'' >= 3 -0~'' < 3 -0~'' <= 3 -1~!'' -0~!3 -0~('' and 3) -1~('' or 3) -Empty Vs. Empty_Var~"Empty Vs. Empty_Var" -1~'' == empty -0~'' != empty -0~'' > empty -1~'' >= empty -0~'' < empty -1~'' <= empty -1~!'' -1~!empty -~('' and empty) -~('' or empty) -Empty_Var Vs. Zero~"Empty_Var Vs. Zero" -0~empty == 0 -1~empty != 0 -0~empty > 0 -0~empty >= 0 -0~empty < 0 -0~empty <= 0 -1~!empty -1~!0 -0~(empty and 0) -0~(empty or 0) -Empty_Var Vs. Zero~"Empty_Var Vs. Zero" -0~empty == zero -1~empty != zero -0~empty > zero -0~empty >= zero -0~empty < zero -0~empty <= zero -1~!empty -1~!zero -0~(empty and zero) -0~(empty or zero) -Empty_Var Vs. Constant~"Empty_Var Vs. Constant" -0~empty == 3 -1~empty != 3 -0~empty > 3 -0~empty >= 3 -0~empty < 3 -0~empty <= 3 -1~!empty -0~!3 -0~(empty and 3) -1~(empty or 3) -Solution: Empty_Var Vs. Zero~"Solution: Empty_Var Vs. Zero" -0~!is_empty(empty) && (empty == 0) -0~!is_empty(five) && (five == 0) -1~!is_empty(zero) && (zero == 0) -0~!is_empty(empty) && (empty > 0) -0~!is_empty(empty) && (empty >= 0) -0~!is_empty(empty) && (empty < 0) -0~!is_empty(empty) && (empty <= 0) -0~!is_empty(empty) && ((empty and 0)) -0~!is_empty(empty) && ((empty or 0)) -Solution: Empty_Var Vs. Zero~"Solution: Empty_Var Vs. Zero" -0~!is_empty(empty) && (empty == zero) -0~!is_empty(five) && (five == zero) -1~!is_empty(zero) && (zero == zero) -0~!is_empty(empty) && (empty > zero) -0~!is_empty(empty) && (empty >= zero) -0~!is_empty(empty) && (empty < zero) -0~!is_empty(empty) && (empty <= zero) -0~!is_empty(empty) && ((empty and zero)) -0~!is_empty(empty) && ((empty or zero)) -Solution: Empty_Var Vs. Constant~"Solution: Empty_Var Vs. Constant" -0~!is_empty(empty) && (empty < 3) -0~!is_empty(empty) && (empty <= 3) -Solution: Empty_Var Vs. Variable~"Solution: Empty_Var Vs. Variable" -0~!is_empty(empty) && (empty < five) -0~!is_empty(empty) && (empty <= five) -Solution: The Hard One is Empty_Var != 0~"Solution: The Hard One is Empty_Var != 0" -1~(empty != 0) -1~!is_empty(empty) && (empty != 0) -1~is_empty(empty) || (empty != 0) -1~is_empty(empty) || (empty != zero) -0~is_empty(zero) || (zero != 0) -1~is_empty(five) || (five != 0) -SETUP~'SETUP' -"Can strings contain embedded \"quoted passages\" (and parentheses + other characters?)?"~a=htmlspecialchars(ASSESSMENT_HEADING) -"can single quoted strings" . 'contain nested 'quoted sections'?~b=htmlspecialchars(QUESTIONHELP) -Can strings have embedded <tags> like <html>, or even unbalanced "quotes or entities without terminal semicolons like &amp and &lt?~c=htmlspecialchars(QUESTION_HELP) -Hi there!~d='Hi there!' -FUNCTIONS~'FUNCTIONS' -5~abs(five) -5~abs(-five) -0.2~acos(cos(0.2)) -0~acos(cos(pi()))-pi() -"Can strings contain embedded \\"quoted passages\\" (and parentheses + other characters?)?"~addslashes(a) -"can single quoted strings" . 'contain nested 'quoted sections'?~addslashes(b) -Can strings have embedded <tags> like <html>, or even unbalanced "quotes or entities without terminal semicolons like &amp and &lt?~addslashes(c) -0.2~asin(sin(0.2)) -0.2~atan(tan(0.2)) -0~atan2(0,1) -1~ceil(0.3) -1~ceil(0.7) -0~ceil(-0.3) -0~ceil(-0.7) -10~ceil(9.1) -1~checkdate(1,29,1967) -0~checkdate(2,29,1967) -0.2~cos(acos(0.2)) -5~count(1,2,3,4,5) -0~count() -5~count(one,two,three,four,five) -2~count(a,'',c) -NULL~date('F j, Y, g:i a',time()) -April 5, 2006, 1:02 am~date('F j, Y, g:i a',mktime(1,2,3,4,5,6)) -20~floor(exp(3)) -0~floor(asin(sin(pi()))) -9~floor(9.9) -3~floor(pi()) -January 12, 2012, 5:27 pm~date('F j, Y, g:i a',1326410867) -January 12, 2012, 11:27 pm~gmdate('F j, Y, g:i a',1326410867) -"Can strings contain embedded \"quoted passages\" (and parentheses + other characters?)?"~html_entity_decode(a) -"can single quoted strings" . 'contain nested 'quoted sections'?~html_entity_decode(b) -Can strings have embedded like , or even unbalanced "quotes or entities without terminal semicolons like & and <?~html_entity_decode(c) -"Can strings contain embedded \"quoted passages\" (and parentheses + other characters?)?"~htmlentities(a) -"can single quoted strings" . 'contain nested 'quoted sections'?~htmlentities(b) -Can strings have embedded <tags> like <html>, or even unbalanced "quotes or entities without terminal semicolons like &amp and &lt?~htmlentities(c) -1~c==htmlspecialchars(htmlspecialchars_decode(c)) -1~b==htmlspecialchars(htmlspecialchars_decode(b)) -1~a==htmlspecialchars(htmlspecialchars_decode(a)) -"Can strings contain embedded \"quoted passages\" (and parentheses + other characters?)?"~htmlspecialchars_decode(a) -"can single quoted strings" . 'contain nested 'quoted sections'?~htmlspecialchars_decode(b) -Can strings have embedded like , or even unbalanced "quotes or entities without terminal semicolons like & and like , or even unbalanced "quotes or entities without terminal semicolons like & and <?~htmlspecialchars(c) -9~idate('B',1326410867) -0~if('0',1,0) -0~if(0,1,0) -1~if(!0,1,0) -0~if(!(!0),1,0) -1~if('true',1,0) -1~if('false',1,0) -1~if('00',1,0) -0~if('',1,0) -1~if('A',1,0) -0~if(empty,1,0) -4~if(5 > 7,2,4) -1~if(' ',1,0) -there~if((one > two),'hi','there') -64~if((one < two),pow(2,6),pow(6,2)) -H e l l o~implode(' ','H','e','l','l','o') -1|2|3|4|5~implode('|',one,two,three,four,five) -123~join(1,2,3) -123 5~join(one,2,three," ",five) -4~intval('4') -4~intval('100',2) -5~intval(5.7) -0~is_empty(four) -1~is_empty(empty) -1~is_empty('') -0~is_empty(0) -0~is_empty('0') -0~is_empty('false') -0~is_empty('NULL') -0~is_empty(1) -1~is_empty(one==two) -0~!is_empty(one==two) -1~is_float(half) -0~is_float(one) -1~is_float(pi()) -0~is_float(5) -0~is_int(half) -1~is_int(one) -0~is_nan(half) -1~is_nan(WELCOME) -1~is_null(sdfjskdfj) -0~is_null(four) -0~is_numeric(empty) -1~is_numeric('1') -1~is_numeric(four) -0~is_numeric('hi') -1~is_numeric(five) -0~is_numeric(hi) -0~is_string(four) -1~is_string('hi') -1~is_string(hi) -1, 2, 3, 4, 5~list(one,two,three,min(four,five,six),max(three,four,five)) -11, 12~list(eleven,twelve) -0, 1, 3, 5~list(0,one,'',three,'',five) -1~log(exp(1)) -2~log(exp(2)) -I was trimmed ~ltrim(' I was trimmed ') -10~max(5,6,10,-20) -6~max(five,(one + (two * four)- three)) -6~max((one + (two * four)- three)) -212~5 + max(1,(2+3),(4 + (5 + 6)),((7 + 8) + 9),((10 + 11), 12),(13 + (14 * 15) - 16)) -29~five + max(one, (two + three), (four + (five + six)),((seven + eight) + nine),((ten + eleven), twelve),(one + (two * three) - four)) -1024~max(one,(two*three),pow(four,five),six) -2~max(one,two) -5~max(one,two,three,four,five) --5~min(-5,10,15,12,-3) -1~min(five,four,one,two,three) -1344765967~mktime(5,6,7,8) -1144191723~mktime(1,2,3,4,5,6) -1,000~number_format(1000) -1,000.23~number_format(1000.23) -1,234,567~number_format(1234567) -315~ceil(100*pi()) -1~pi() == pi() * 2 - pi() -4~pow(2,2) -27~pow(3,3) -=~quoted_printable_decode(quoted_printable_encode('=')) -\\$~quotemeta('$') -IGNORE THIS ERROR~rand(3,5) -0~(a=rand())-a -1~regexMatch('/embedded/',c) -1~regexMatch('/^.*embedded.*$/',c) -0~regexMatch('/joe/',c) -1~regexMatch('/(?:dog|cat)food/','catfood stinks') -1~regexMatch('/(?:dog|cat)food/','catfood stinks') -1~regexMatch('/[0-9]{3}-[0-9]{2}-[0-9]{4}/','123-45-6789') -1~regexMatch('/\d{3}-\d{2}-\d{4}/','123-45-6789') -1~regexMatch('/(?:\(\d{3}\))\s*\d{3}-\d{4}/','(212) 555-1212') -0~round(0.2) -1~round(.8) -0.07~0.01 + 0.06 -0.07~round(0.01 + 0.06,10) - I was trimmed~rtrim(' I was trimmed ') -0.2~sin(asin(0.2)) -1~sin(pi()/2) -1~sin(pi()/2) == sin(.5 * pi()) -1~sin(0.5 * pi()) -hello,5~sprintf('%s,%d','hello',5) -2~sqrt(4) -158~round(stddev(4,5,6,7,8)*100) -hello-----~str_pad('hello',10,'-') -hello ~str_pad('hello',10) -hello~str_pad('hello',3) -testtesttest~str_repeat('test',3) -I am awesome~str_replace('You are','I am','You are awesome') -I love LimeSurvey~str_replace('like','love','I like LimeSurvey') -1~0==strcasecmp('Hello','hello') -0~0==strcasecmp('Hello','hi') -1~0==strcmp('Hello','Hello') -0~0==strcmp('Hello','hi') -Hi there!~c=strip_tags(d) -hello~strip_tags('hello') -5~stripos('ABCDEFGHI','f') -hi~stripslashes('\\h\\i') -FGHI~stristr('ABCDEFGHI','fg') -5~strlen('12345') -5~strlen(hi) -0~strpos('ABCDEFGHI','f') -5~strpos('ABCDEFGHI','F') -2~strpos('I like LimeSurvey','like') -54321~strrev('12345') -0~strstr('ABCDEFGHI','fg') -FGHI~strstr('ABCDEFGHI','FG') -hi there!~strtolower(c) -HI THERE!~strtoupper(c) -3600~strtotime("27 Mar 1976 8:20")-strtotime("1976/03/27 7:20") -10~(strtotime("13 Apr 2013")-strtotime("2013-04-03"))/60/60/24 -1985-11-05 00:00:00~date("Y-m-d H:i:s",strtotime("05 Nov 1985")) -HOURS PASSED SINCE 1970~round(strtotime("now")/60/60) -~"" -1985-11-05 00:00:00~date("Y-m-d H:i:s",strtotime("11/5/85")) -2010-08-09 00:00:00~date("Y-m-d H:i:s",strtotime("8/9/10")) -2010-08-09 00:00:00~date("Y-m-d H:i:s",strtotime("8/9/2010")) -2010-08-09 00:00:00~date("Y-m-d H:i:s",strtotime("2010/8/9")) -~"" -1985-11-05 00:00:00~date("Y-m-d H:i:s",strtotime("85-11-5")) -2010-08-09 00:00:00~date("Y-m-d H:i:s",strtotime("10-8-9")) -2010-08-09 00:00:00~date("Y-m-d H:i:s",strtotime("9-8-2010")) -2010-08-09 00:00:00~date("Y-m-d H:i:s",strtotime("2010-8-9")) -~"" -1985-11-05 00:53:20~date("Y-m-d H:i:s",strtotime("85-11-5 0:53:20")) -2010-08-09 00:53:20~date("Y-m-d H:i:s",strtotime("10-8-9 0:53:20")) -2010-08-09 11:12:13~date("Y-m-d H:i:s",strtotime("9-8-2010 11:12:13")) -2010-08-09 11:12:13~date("Y-m-d H:i:s",strtotime("2010-8-9 11:12:13")) -~"" -Today 11:11:59~date("Y-m-d H:i:s",strtotime("11.11.59")) -Today 9:08:10~date("Y-m-d H:i:s",strtotime("9.8.10")) -2010-08-09 00:00:00~date("Y-m-d H:i:s",strtotime("9.8.2010")) -~"" -1985-11-05 00:53:20~date("Y-m-d H:i:s",strtotime("5.11.85 0:53:20")) -2010-08-09 11:12:13~date("Y-m-d H:i:s",strtotime("9.8.2010 11:12:13")) -~"" -1970-01-01 00:00:00~date("Y-m-d H:i:s",strtotime("70-01-01")) -1999-01-01 00:00:00~date("Y-m-d H:i:s",strtotime("99-01-01")) -2001-01-01 00:00:00~date("Y-m-d H:i:s",strtotime("01-01-01")) -1902-01-01 00:00:00~date("Y-m-d H:i:s",strtotime("1902-01-01")) -~"" -today 2:15:00~date("Y-m-d H:i:s",strtotime("2:15:00")) -Some dates that are not (correctly) parsed:~"Some dates that are not (correctly) parsed:" -1969-01-19 00:00:00~date("Y-m-d H:i:s",strtotime("69-01-19")) -1985-11-05 00:00:00~date("Y-m-d H:i:s",strtotime("85/11/5")) -1985-11-05 00:00:00~date("Y-m-d H:i:s",strtotime("5-11-85")) -2010-08-09 00:00:00~date("Y-m-d H:i:s",strtotime("2010.8.9")) -1985-11-05 00:00:00~date("Y-m-d H:i:s",strtotime("85.11.5")) -1985-11-05 00:53:20~date("Y-m-d H:i:s",strtotime("85.11.5 0:53:20")) -2010-08-09 11:12:13~date("Y-m-d H:i:s",strtotime("9.8.10 11:12:13")) -678~substr('1234567890',5,3) -15~sum(1,2,3,4,5) -15~sum(one,two,three,four,five) -0.2~tan(atan(0.2)) -IGNORE THIS ERROR~time() -I was trimmed~trim(' I was trimmed ') -Hi There You~ucwords('hi there you') -EXPRESSIONS~'EXPRESSIONS' -1~!'0' -1~0 eq '0' -0~0 ne '0' -0~0 eq empty -1~0 ne empty -0~0 eq '' -1~0 ne '' -0~'' < 10 -0~0 < empty -1~0 <= empty -0~0 > empty -1~0 >= empty -0~'0' eq empty -1~'0' ne empty -0~'0' < empty -1~'0' <= empty -0~'0' > empty -1~'0' >= empty -1~empty eq empty -0~empty ne empty -0~'' > 0 -0~' ' > 0 -1~!0 -0~!' ' -0~!'A' -0~!1 -0~!'1' -1~!'' -1~!empty -1~'0'==0 -0~'A'>0 -0~'A'<0 -0~'A'==0 -0~'A'>=0 -0~'A'<=0 -0~0>'A' -0~0>='B' -0~0=='C' -0~0<'D' -0~0<='E' -1~0!='F' -1~'A' or 'B' -1~'A' and 'B' -0~'A' eq 'B' -1~'A' ne 'B' -1~'A' < 'B' -1~'A' <= 'B' -0~'A' > 'B' -0~'A' >= 'B' -AB~'A' + 'B' -NAN~'A' - 'B' -NAN~'A' * 'B' -NAN~'A' / 'B' -1~'A' or empty -0~'A' and empty -0~'A' eq empty -1~'A' ne empty -0~'A' < empty -0~'A' <= empty -1~'A' > empty -1~'A' >= empty -A~'A' + empty -NAN~'A' - empty -NAN~'A' * empty -NAN~'A' / empty -0~0 or empty -0~0 and empty -0~0 + empty -0~0 - empty -0~0 * empty -NAN~0 / empty -0~(-1 > 0) -0~zero -~empty -1~five > zero -1~five > empty -1~empty < 16 -1~zero == empty -3~q5pointChoice.code -5~q5pointChoice.type -(question for q5pointChoice)~q5pointChoice.question -1~q5pointChoice.relevance -4~q5pointChoice.NAOK + 1 -NULL~q5pointChoice.bogus -14~q5pointChoice.qid -7~qArrayNumbers_ls1_min.code -1~(one * (two + (three - four) + five) / six) -2.4~(one * two) + (three * four) / (five * six) -50~12X34X56 * 12X3X5lab1_ber -1~c == 'Hi there!' -1~c == "Hi there!" -3~a=three -3~c=a -12~c*=four -15~c+=a -5~c/=a --1~c-=six -24~one * two * three * four --4~five - four - three - two -0~two * three - two - two - two -4~two * three - two -105~5 + 1, 7 * 15 -7~7 -15~10 + 5 -24~12 * 2 -10~13 - 3 -3.5~14 / 4 -5~3 + 1 * 2 -1~one -there~hi -6.25~one * two - three / four + five -1~one + hi -1~two > one -1~two gt one -1~three >= two -1~three ge two -0~four < three -0~four lt three -0~four <= three -0~four le three -0~four == three -0~four eq three -1~four != three -0~four ne four -NAN~one * hi -0~a='hello',b='',c=0 -hello~a -0~c -0~one && 0 -0~two and 0 -1~five && 6 -1~seven && eight -1~one or 0 -1~one || 0 -1~(one and 0) || (two and three) -value for {QID}~QID -"Can strings contain embedded \"quoted passages\" (and parentheses + other characters?)?"~ASSESSMENT_HEADING -"can single quoted strings" . 'contain nested 'quoted sections'?~QUESTIONHELP -Can strings have embedded like , or even unbalanced "quotes or entities without terminal semicolons like & and <?~QUESTION_HELP -value for {TOKEN:FIRSTNAME}~TOKEN:FIRSTNAME -value for {THEREAREXQUESTIONS}~THEREAREXQUESTIONS -15~12X3X5lab1_ber#1 -1~three == three -1~three == 3 -11~eleven -144~twelve * twelve -0~!three -8~five + + three -2~five + - three -SYNTAX ERRORS~'SYNTAX ERRORS' -NULL~* -NULL~three + -NULL~four * / seven -NULL~(five - three -NULL~five + three) -NULL~seven + = four -NULL~> -NULL~five > > three -NULL~seven > = four -NULL~seven >= -NULL~three && -NULL~three || -NULL~three + -NULL~three >= -NULL~three += -NULL~three ! -NULL~three * -NULL~five ! three -NULL~(5 + 7) = 8 -NULL~&& four -NULL~min( -NULL~max three, four, five) -NULL~three four -NULL~max(three,four,five) six -NULL~WELCOME='Good morning' -NULL~TOKEN:FIRSTNAME='Tom' -NULL~NUMBEROFQUESTIONS+=3 -NULL~NUMBEROFQUESTIONS*=4 -NULL~NUMBEROFQUESTIONS/=5 -NULL~NUMBEROFQUESTIONS-=6 -NULL~'Tom'='tired' -NULL~max() -NULL~convert_value( 10, 1, '0,5,10,15,20', '0,5,10,15') -100~convert_value( 10, 1, '0,5,10,15,20', '0,50,100,150,200') -NULL~convert_value( 10, 0, '0,5,10,15,20', '0,50,100,150,200') -100~convert_value( 8, 0, '0,5,10,15,20', '0,50,100,150,200') -100~convert_value( 12, 0, '0,5,10,15,20', '0,50,100,150,200') -0~convert_value( 0, 0, '0,5,10,15,20', '0,50,100,150,200') -0~convert_value( -10000, 0, '0,5,10,15,20', '0,50,100,150,200') -NULL~convert_value( -10000, 1, '0,5,10,15,20', '0,50,100,150,200') -200~convert_value( 20, 0, '0,5,10,15,20', '0,50,100,150,200') -200~convert_value( 20, 1, '0,5,10,15,20', '0,50,100,150,200') -200~convert_value( 30, 0, '0,5,10,15,20', '0,50,100,150,200') -NULL~convert_value( 30, 1, '0,5,10,15,20', '0,50,100,150,200') -EOD; - - $atests = explode("\n", $tests); - $atests[] = "1\n2\n3~BREAKS"; - $atests[] = "1
\n2
\n3~nl2br(BREAKS)"; - $atests[] = "hi
\nthere
\nhow
\nare
\nyou?~nl2br('hi\\nthere\\nhow\\nare\\nyou?')"; - $atests[] = "hi
\nthere,
\nuser!~nl2br(implode('\\n','hi','there,','user!'))"; - - $LEM = & LimeExpressionManager::singleton(); - $em = new ExpressionManager(); - $LEM->setTempVars($vars); - - //$LEMsessid = 'survey_' . Yii::app()->getConfig('surveyID'); - $LEMsessid = 'survey_12345'; - // manually set relevance status - $_SESSION[$LEMsessid]['relevanceStatus'] = array(); - foreach ($vars as $var) { - if (isset($var['qseq'])) { - $_SESSION[$LEMsessid]['relevanceStatus'][$var['qseq']] = 1; - } - } - - $allJsVarnamesUsed = array(); - $body = ''; - $body .= ''; - $i = 0; - $javaScript = array(); - foreach ($atests as $test) { - ++$i; - $values = explode("~", $test); - $expectedResult = array_shift($values); - $expr = implode("~", $values); - $resultStatus = 'ok'; - $em->groupSeq = 2; - $em->questionSeq = 3; - $status = $em->RDP_Evaluate($expr); - if ($status) { - $allJsVarnamesUsed = array_merge($allJsVarnamesUsed, $em->GetJsVarsUsed()); - } - $result = $em->GetResult(); - $valToShow = $result; // htmlspecialchars($result,ENT_QUOTES,'UTF-8',false); - $expectedToShow = $expectedResult; // htmlspecialchars($expectedResult,ENT_QUOTES,'UTF-8',false); - $body .= ""; - $body .= "\n"; - if (is_null($result)) { - $valToShow = "NULL"; - } - if ($valToShow != $expectedToShow) { - $resultStatus = 'error'; - } - $body .= "\n"; - $body .= '\n"; - $javaScript[] = $em->GetJavascriptTestforExpression($expectedToShow, $i); - $body .= "\n"; - $varsUsed = $em->GetVarsUsed(); - if (is_array($varsUsed) and count($varsUsed) > 0) { - $varDesc = array(); - foreach ($varsUsed as $v) { - $varDesc[] = $v; - } - $body .= '\n"; - } else { - $body .= "\n"; - } - $jsEqn = $em->GetJavaScriptEquivalentOfExpression(); - if ($jsEqn == '') { - $body .= "\n"; - } else { - $body .= '\n"; - } - $body .= ''; - } - $body .= '
ExpressionPHP ResultExpectedJavaScript ResultVarNamesJavaScript Eqn
".$em->GetPrettyPrintString()."".$valToShow."'.$expectedToShow." '.implode(',
', $varDesc)."
  '.$jsEqn."
'; - $body .= "\n"; - - $allJsVarnamesUsed = array_unique($allJsVarnamesUsed); - asort($allJsVarnamesUsed); - $pre = ''; - $pre .= "

Change some Relevance values to 0 to see how it affects computations

\n"; - $pre .= ''; - $i = 0; - $LEMvarNameAttr = array(); - $LEMalias2varName = array(); - foreach ($allJsVarnamesUsed as $jsVarName) { - ++$i; - $pre .= "\n"; - $LEMalias2varName[] = "'".substr($jsVarName, 5)."':'".$jsVarName."'"; - $LEMalias2varName[] = "'".$jsVarName."':'".$jsVarName."'"; - $attrInfo = "'".$jsVarName."': {'jsName':'".$jsVarName."'"; - - $varInfo = $vars[substr($jsVarName, 5)]; - foreach ($varInfo as $k=>$v) { - if ($k == 'code') { - continue; // will access it from hidden node - } - if ($k == 'shown') { - $k = 'shown'; - $v = htmlspecialchars(preg_replace("/[[:space:]]/", ' ', $v), ENT_QUOTES); - } - if ($k == 'jsName') { - continue; // since already set - } - $attrInfo .= ", '".$k."':'".$v."'"; - - } - $attrInfo .= ",'qid':".$i."}"; - $LEMvarNameAttr[] = $attrInfo; - } - $pre .= "
#JsVarnameStarting ValueRelevance
".$i."".$jsVarName; - foreach ($vars as $k => $v) { - if ($v['jsName'] == $jsVarName) { - $value = $v['code']; - } - } - $pre .= "".$value."\n"; - $pre .= "\n"; - $pre .= "
\n"; - - $pre .= "\n"; - - print $pre; - print $body; - - } - - - /** - * Unit test the asSplitStringOnExpressions() function to ensure that accurately parses out all expressions - * surrounded by curly braces, allowing for strings and escaped curly braces. - */ - - public function oldStringSplitter() - { - $tests = << INSERT61764X1X4),'children','pets')} than you do {if((INSERT61764X1X3 > INSERT61764X1X4),'pets','children')}, do you feel that the {if((INSERT61764X1X3 > INSERT61764X1X4),'pets','children')} are at a disadvantage? -Here is a String that failed to parse prior to fixing the preg_split() command to avoid recursive search of sub-strings: [{((617167X9X3241 == "Y" or 617167X9X3242 == "Y" or 617167X9X3243 == "Y" or 617167X9X3244 == "Y" or 617167X9X3245 == "Y" or 617167X9X3246 == "Y" or 617167X9X3247 == "Y" or 617167X9X3248 == "Y" or 617167X9X3249 == "Y") and (617167X9X3301 == "Y" or 617167X9X3302 == "Y" or 617167X9X3303 == "Y" or 617167X9X3304 == "Y" or 617167X9X3305 == "Y" or 617167X9X3306 == "Y" or 617167X9X3307 == "Y" or 617167X9X3308 == "Y" or 617167X9X3309 == "Y"))}] Here is the question. -EOD; -// Here is a String that failed to parse prior to fixing the preg_split() command to avoid recursive search of sub-strings: [{((617167X9X3241 == "Y" or 617167X9X3242 == "Y" or 617167X9X3243 == "Y" or 617167X9X3244 == "Y" or 617167X9X3245 == "Y" or 617167X9X3246 == "Y" or 617167X9X3247 == "Y" or 617167X9X3248 == "Y" or 617167X9X3249 == "Y") and (617167X9X3301 == "Y" or 617167X9X3302 == "Y" or 617167X9X3303 == "Y" or 617167X9X3304 == "Y" or 617167X9X3305 == "Y" or 617167X9X3306 == "Y" or 617167X9X3307 == "Y" or 617167X9X3308 == "Y" or 617167X9X3309 == "Y"))}] Here is the question. - - $em = new ExpressionManager(); - - $atests = explode("\n", $tests); - array_push($atests, '"hi\nthere\nhow\nare\nyou?\n"'); - - foreach ($atests as $test) { - $tokens = $em->asSplitStringOnExpressions($test); - print ''.$test.'
'; - print ''; - print implode("
\n", explode("\n", print_r($tokens, true))); - print '

'; - } - } - - /** - * Unit test the Tokenizer - Tokenize and generate a HTML-compatible print-out of a comprehensive set of test cases - */ - - public function oldTokenizer() - { - // Comprehensive test cases for tokenizing - $tests = << >= < <= == != gt ge lt le eq ne (target large gents built agile less equal) - Assign: = += -= *= /= - SGQA: 1X6X12 1X6X12ber1 1X6X12ber1_lab1 3583X84X249 12X3X5lab1_ber#1 1X6X12.NAOK 1X6X12ber1.NAOK 1X6X12ber1_lab1.NAOK 3583X84X249.NAOK 12X3X5lab1_ber#1.NAOK - Errors: Apt # 10C; (2 > 0) ? 'hi' : 'there'; array[30]; >>> <<< /* this is not a comment */ // neither is this - Words: q5pointChoice q5pointChoice.bogus q5pointChoice.code q5pointChoice.mandatory q5pointChoice.NAOK q5pointChoice.qid q5pointChoice.question q5pointChoice.relevance q5pointChoice.shown q5pointChoice.type -EOD; - - $em = new ExpressionManager(); - - foreach (explode("\n", $tests) as $test) { - $tokens = array(); //$em->RDP_Tokenize($test); - print ''.$test.'
'; - print ''; - print implode("
\n", explode("\n", print_r($tokens, true))); - print '

'; - } - } - } - -?> From 8b814bc5c61a9bfd7fc538564378cc75afa7504b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=B5nis=20Ormisson?= Date: Thu, 11 Jan 2018 10:17:38 +0200 Subject: [PATCH 06/84] update tests --- tests/acceptance/admin/CreateSurveyTest.php | 54 ++------------------- 1 file changed, 4 insertions(+), 50 deletions(-) diff --git a/tests/acceptance/admin/CreateSurveyTest.php b/tests/acceptance/admin/CreateSurveyTest.php index bd96a2feeeb..e48994c98d5 100644 --- a/tests/acceptance/admin/CreateSurveyTest.php +++ b/tests/acceptance/admin/CreateSurveyTest.php @@ -31,7 +31,7 @@ class CreateSurveyTest extends TestBaseClassWeb { /** - * + * */ public static function setupBeforeClass() { @@ -40,26 +40,22 @@ public static function setupBeforeClass() if (!$username) { $username = 'admin'; } - $password = getenv('PASSWORD'); if (!$password) { $password = 'password'; } - // Permission to everything. \Yii::app()->session['loginID'] = 1; - // Browser login. self::adminLogin($username, $password); } /** - * + * */ public static function teardownAfterClass() { parent::tearDownAfterClass(); - // Delete survey. $criteria = new \CDbCriteria; $criteria->compare('correct_relation_defaultlanguage.surveyls_title', 'test survey 1', true, 'AND'); @@ -83,9 +79,7 @@ public function testCreateSurvey() $urlMan->setBaseUrl('http://' . self::$domain . '/index.php'); $url = $urlMan->createUrl('admin'); self::$webDriver->get($url); - sleep(1); - // Ignore welcome modal. try { $button = self::$webDriver->wait(1)->until( @@ -99,9 +93,7 @@ public function testCreateSurvey() } catch (TimeOutException $ex) { // Do nothing. } - sleep(1); - // Ignore password warning. try { $button = self::$webDriver->wait(1)->until( @@ -115,10 +107,7 @@ public function testCreateSurvey() } catch (NoSuchElementException $ex) { // Do nothing. } - - sleep(1); - // Click on big "Create survey" button. $link = self::$webDriver->wait(10)->until( WebDriverExpectedCondition::elementToBeClickable( @@ -126,27 +115,20 @@ public function testCreateSurvey() ) ); $link->click(); - // Fill in title. $title = self::$webDriver->findElement(WebDriverBy::id('surveyls_title')); $title->clear()->sendKeys('test survey 1'); - // Click save. $save = self::$webDriver->findElement(WebDriverBy::id('save-form-button')); $save->click(); - sleep(1); - // Remove notification. $save = self::$webDriver->findElement(WebDriverBy::cssSelector('button.close.limebutton')); $save->click(); - sleep(1); - // Go to structure sidebar $selectStructureSidebar = self::$webDriver->findElement(WebDriverBy::id('adminpanel__sidebar--selectorStructureButton')); $selectStructureSidebar->click(); - // Click "Add group". $addgroup = self::$webDriver->wait(10)->until( @@ -155,31 +137,24 @@ public function testCreateSurvey() ) ); $addgroup->click(); - // Fill in group title. $groupname = self::$webDriver->findElement(WebDriverBy::id('group_name_en')); $groupname->clear()->sendKeys('group1'); - sleep(1); - // Click save and add question. $save = self::$webDriver->findElement(WebDriverBy::id('save-and-new-question-button')); $save->click(); sleep(3); - // Add question title. $groupname = self::$webDriver->findElement(WebDriverBy::id('title')); $groupname->clear()->sendKeys('question1'); - // Click save. $save = self::$webDriver->findElement(WebDriverBy::id('save-button')); $save->click(); - sleep(1); - + $selectSettingsSidebar = self::$webDriver->findElement(WebDriverBy::id('adminpanel__sidebar--selectorSettingsButton')); $selectSettingsSidebar->click(); - // Click "Overview". $overview = self::$webDriver->wait(10)->until( WebDriverExpectedCondition::elementToBeClickable( @@ -187,23 +162,17 @@ public function testCreateSurvey() ) ); $overview->click(); - sleep(1); - // Click "Activate survey". $overview = self::$webDriver->findElement(WebDriverBy::id('ls-activate-survey')); $overview->click(); - // Confirm. $overview = self::$webDriver->findElement(WebDriverBy::id('activateSurvey__basicSettings--proceed')); $overview->click(); - // Click "Overview". $overview = self::$webDriver->findElement(WebDriverBy::id('sidemenu_1_1')); $overview->click(); - sleep(1); - // Click "Execute survey". $execute = self::$webDriver->wait(10)->until( WebDriverExpectedCondition::elementToBeClickable( @@ -211,21 +180,16 @@ public function testCreateSurvey() ) ); $execute->click(); - sleep(1); - // Switch to new tab. $windowHandles = self::$webDriver->getWindowHandles(); self::$webDriver->switchTo()->window( end($windowHandles) ); - sleep(1); - // New tab with active survey. $nextButton = self::$webDriver->findElement(WebDriverBy::id('ls-button-submit')); $nextButton->click(); - // Get questions. $dbo = \Yii::app()->getDb(); $query = 'SELECT sid FROM {{surveys}} ORDER BY datecreated DESC LIMIT 1'; @@ -242,18 +206,14 @@ public function testCreateSurvey() } $this->assertCount(1, $questions, 'We have exactly one question'); $this->assertTrue(isset($questions['question1']), json_encode(array_keys($questions))); - // Enter answer text. $sgqa = $sid . 'X' . $survey->groups[0]->gid . 'X' . $questions['question1']->qid; $question = self::$webDriver->findElement(WebDriverBy::id('answer' . $sgqa)); $question->sendKeys('foo bar'); - sleep(1); - // Click submit. $submitButton = self::$webDriver->findElement(WebDriverBy::id('ls-button-submit')); $submitButton->click(); - // Check so that we see end page. $completed = self::$webDriver->findElement(WebDriverBy::cssSelector('div.completed-text')); $this->assertEquals( @@ -261,7 +221,6 @@ public function testCreateSurvey() "Thank you!\nYour survey responses have been recorded.", 'I can see completed text' ); - // Check so that response is recorded in database. $query = sprintf( 'SELECT * FROM {{survey_%d}}', @@ -270,13 +229,11 @@ public function testCreateSurvey() $result = $dbo->createCommand($query)->queryAll(); $this->assertCount(1, $result, 'Exactly one response'); $this->assertEquals('foo bar', $result[0][$sgqa], '"foo bar" response'); - // Switch to first window. $windowHandles = self::$webDriver->getWindowHandles(); self::$webDriver->switchTo()->window( reset($windowHandles) ); - // Delete survey. $execute = self::$webDriver->wait(10)->until( WebDriverExpectedCondition::elementToBeClickable( @@ -296,14 +253,11 @@ public function testCreateSurvey() ) ); $execute->click(); - sleep(1); - // Make sure the survey can't be found. $query = 'SELECT sid FROM {{surveys}} WHERE sid = ' . $sid; $sids = $dbo->createCommand($query)->queryAll(); $this->assertCount(0, $sids); - } catch (NoSuchElementException $ex) { // TODO :Duplicated code. self::$testHelper->takeScreenshot(self::$webDriver, __CLASS__ . '_' . __FUNCTION__); @@ -337,4 +291,4 @@ public function testCreateSurvey() ); } } -} +} \ No newline at end of file From d8a9d46f85b54737256db476f5e027dd4c02e59c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=B5nis=20Ormisson?= Date: Thu, 11 Jan 2018 10:26:57 +0200 Subject: [PATCH 07/84] all test files sync to master --- .../admin/InstallationControllerTest.php | 164 +++++------------- .../admin/TemplateConfigurationTest.php | 5 +- .../admin/TemplateControllerTest.php | 15 +- .../SaveDualScaleAnswerOptionsTest.php | 38 +--- .../DateTimeDefaultAnswerExpressionTest.php | 44 +---- .../questions/DateTimeForwardBackTest.php | 17 +- tests/acceptance/questions/DateTimeTest.php | 119 +++++-------- .../questions/DateTimeValidationTest.php | 22 +-- .../MultipleChoiceNextPreviousTest.php | 16 +- tests/acceptance/surveys/AjaxModeTest.php | 16 +- .../surveys/GroupRandomizationTest.php | 27 +-- .../MultipleChoiceWithExpressionTest.php | 10 +- tests/acceptance/surveys/ScreenOutTest.php | 21 +-- .../helpers/CheckDatabaseJsonValuesTest.php | 27 +-- .../functional/helpers/ExpressionCoreAux.php | 21 +-- .../helpers/ExpressionCoreHelperTest.php | 14 +- .../functional/helpers/UpdateDbHelperTest.php | 29 +--- 17 files changed, 143 insertions(+), 462 deletions(-) diff --git a/tests/acceptance/admin/InstallationControllerTest.php b/tests/acceptance/admin/InstallationControllerTest.php index dd7aa15f537..f630b58f6d6 100644 --- a/tests/acceptance/admin/InstallationControllerTest.php +++ b/tests/acceptance/admin/InstallationControllerTest.php @@ -17,131 +17,59 @@ use LimeSurvey\tests\TestBaseClassWeb; /** - * @since 2017-11-24 - * @group inst + * @since 2017-10-15 + * @group tempcontr + * @group template */ -class InstallationControllerTest extends TestBaseClassWeb +class TemplateControllerTest extends TestBaseClass { /** - * + * Test copy a template. + * @group copytemplate */ - public static function setupBeforeClass() + public function testCopyTemplate() { - parent::setUpBeforeClass(); + \Yii::app()->session['loginID'] = 1; + \Yii::import('application.controllers.admin.themes', true); + \Yii::import('application.helpers.globalsettings_helper', true); + // Clean up from last test. + $templateName = 'foobartest'; + \TemplateConfiguration::uninstall($templateName); + \Template::model()->deleteAll('name = \'foobartest\''); + \Permission::model()->deleteAllByAttributes(array('permission' => $templateName,'entity' => 'template')); + // Remove folder from last test. + $newname = 'foobartest'; + $newdirname = \Yii::app()->getConfig('userthemerootdir') . "/" . $newname; + if (file_exists($newdirname)) { + exec('rm -r ' . $newdirname); + } + $config = require(\Yii::app()->getBasePath() . '/config/config-defaults.php'); + // Simulate a POST. + $_POST['newname'] = $newname; + // NB: If default theme is not installed, this test will fail. + $_POST['copydir'] = $config['defaulttheme']; + $_SERVER['SERVER_NAME'] = 'localhost'; + $contr = new \themes(new \ls\tests\DummyController('dummyid')); + $contr->templatecopy(); + $flashes = \Yii::app()->user->getFlashes(); + $this->assertEmpty($flashes, 'No flash messages'); + $template = \Template::model()->find( + sprintf( + 'name = \'%s\'', + $templateName + ) + ); + $this->assertNotEmpty($template); + $this->assertEquals($templateName, $template->name); + // Clean up. + \Template::model()->deleteAll('name = \'foobartest\''); } - /** - * + * @todo Copy template folder that does not exist. */ - public function testBasic() + /* + public function testCopyWrongFolder() { - $configFile = \Yii::app()->getBasePath() . '/config/config.php'; - $databaseName = 'limesurvey'; - - $username = getenv('ADMINUSERNAME'); - if (!$username) { - $username = 'admin'; - } - $password = getenv('PASSWORD'); - if (!$password) { - $password = 'password'; - } - - $dbuser = getenv('DBUSER'); - if (!$dbuser) { - $dbuser = 'root'; - echo 'Default to database user "root". Use DBUSER=... from command-line to override this.' . PHP_EOL; - } - $dbpwd = getenv('DBPASSWORD'); - if (!$dbpwd) { - $dbpwd = ''; - echo 'Default to empty database password. Use DBPASSWORD=... from command-line to override this.' . PHP_EOL; - } - - if (file_exists($configFile)) { - // Delete possible previous database. - try { - $dbo = \Yii::app()->getDb(); - $dbo->createCommand('DROP DATABASE ' . $databaseName)->execute(); - } catch (\CDbException $ex) { - $msg = $ex->getMessage(); - // Only this error is OK. - self::assertTrue( - strpos($msg, "database doesn't exist") !== false, - 'Could drop database. Error message: ' . $msg - ); - } - - // Remove config.php if present. - $result = unlink($configFile); - $this->assertTrue($result, 'Could unlink config.php'); - } - - // Run installer. - $urlMan = \Yii::app()->urlManager; - $urlMan->setBaseUrl('http://' . self::$domain . '/index.php'); - $url = $urlMan->createUrl(''); - - // Installer start page. - self::$webDriver->get($url); - - // Click "Start installation". - $start = self::$webDriver->findElement(WebDriverBy::id('ls-start-installation')); - $start->click(); - - // Accept license. - $accept = self::$webDriver->findElement(WebDriverBy::id('ls-accept-license')); - $accept->click(); - - // Click next at pre-check. - $next = self::$webDriver->findElement(WebDriverBy::id('ls-next')); - $next->click(); - - // Fill in database form. - $dbuserInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbuser]"]')); - $dbpwdInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbpwd]"]')); - $dbnameInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbname]"]')); - $dbuserInput->clear()->sendKeys($dbuser); - $dbpwdInput->clear()->sendKeys($dbpwd); - $dbnameInput->sendKeys($databaseName); - - // Click next. - $next = self::$webDriver->findElement(WebDriverBy::id('ls-next')); - $next->click(); - - // Click "Create database". - $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); - $button->click(); - - // Click "Populate". - $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); - $button->click(); - - // Fill in admin username/password. - $adminLoginName = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[adminLoginName]"]')); - $adminLoginPwd = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[adminLoginPwd]"]')); - $confirmPwd = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[confirmPwd]"]')); - $adminLoginName->clear()->sendKeys($username); - $adminLoginPwd->clear()->sendKeys($password); - $confirmPwd->clear()->sendKeys($password); - - // Confirm optional settings (admin password etc). - $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); - $button->click(); - - // Go to administration. - $button = self::$webDriver->findElement(WebDriverBy::id('ls-administration')); - $button->click(); - - // Reset urlManager to adapt to latest config. - $configFile = \Yii::app()->getBasePath() . '/config/config.php'; - $config = require($configFile); - $urlMan = \Yii::app()->urlManager; - $urlMan->setUrlFormat($config['components']['urlManager']['urlFormat']); - - // Login. - self::adminLogin($username, $password); - - self::$testHelper->connectToOriginalDatabase(); } -} + */ +} \ No newline at end of file diff --git a/tests/acceptance/admin/TemplateConfigurationTest.php b/tests/acceptance/admin/TemplateConfigurationTest.php index f63d4721051..b2d33e0b094 100644 --- a/tests/acceptance/admin/TemplateConfigurationTest.php +++ b/tests/acceptance/admin/TemplateConfigurationTest.php @@ -19,10 +19,7 @@ public function testCopyMinimalTemplate() \Yii::import('application.helpers.globalsettings_helper', true); $tempConf = \TemplateConfiguration::getInstanceFromTemplateName('default'); $tempConf->prepareTemplateRendering('default'); - - // FIXME - // No PHP notices. $this->assertTrue(true); } -} +} \ No newline at end of file diff --git a/tests/acceptance/admin/TemplateControllerTest.php b/tests/acceptance/admin/TemplateControllerTest.php index 927b4392c58..55336203c4b 100644 --- a/tests/acceptance/admin/TemplateControllerTest.php +++ b/tests/acceptance/admin/TemplateControllerTest.php @@ -23,7 +23,6 @@ */ class TemplateControllerTest extends TestBaseClass { - /** * Test copy a template. * @group copytemplate @@ -33,33 +32,27 @@ public function testCopyTemplate() \Yii::app()->session['loginID'] = 1; \Yii::import('application.controllers.admin.themes', true); \Yii::import('application.helpers.globalsettings_helper', true); - // Clean up from last test. $templateName = 'foobartest'; \TemplateConfiguration::uninstall($templateName); \Template::model()->deleteAll('name = \'foobartest\''); \Permission::model()->deleteAllByAttributes(array('permission' => $templateName,'entity' => 'template')); - // Remove folder from last test. $newname = 'foobartest'; $newdirname = \Yii::app()->getConfig('userthemerootdir') . "/" . $newname; if (file_exists($newdirname)) { exec('rm -r ' . $newdirname); } - $config = require(\Yii::app()->getBasePath() . '/config/config-defaults.php'); // Simulate a POST. $_POST['newname'] = $newname; // NB: If default theme is not installed, this test will fail. $_POST['copydir'] = $config['defaulttheme']; $_SERVER['SERVER_NAME'] = 'localhost'; - $contr = new \themes(new DummyController('dummyid')); $contr->templatecopy(); - $flashes = \Yii::app()->user->getFlashes(); $this->assertEmpty($flashes, 'No flash messages'); - $template = \Template::model()->find( sprintf( 'name = \'%s\'', @@ -68,13 +61,9 @@ public function testCopyTemplate() ); $this->assertNotEmpty($template); $this->assertEquals($templateName, $template->name); - - - - // Clean up. //TODO tearDown + // Clean up. \Template::model()->deleteAll('name = \'foobartest\''); } - /** * @todo Copy template folder that does not exist. */ @@ -83,4 +72,4 @@ public function testCopyWrongFolder() { } */ -} +} \ No newline at end of file diff --git a/tests/acceptance/admin/questions/SaveDualScaleAnswerOptionsTest.php b/tests/acceptance/admin/questions/SaveDualScaleAnswerOptionsTest.php index b74e409470f..654340d5138 100644 --- a/tests/acceptance/admin/questions/SaveDualScaleAnswerOptionsTest.php +++ b/tests/acceptance/admin/questions/SaveDualScaleAnswerOptionsTest.php @@ -23,34 +23,28 @@ class SaveDualScaleAnswerOptionsTest extends TestBaseClassWeb { /** - * + * */ public static function setupBeforeClass() { parent::setupBeforeClass(); - // Permission to everything. \Yii::app()->session['loginID'] = 1; - $username = getenv('ADMINUSERNAME'); if (!$username) { $username = 'admin'; } - $password = getenv('PASSWORD'); if (!$password) { $password = 'password'; } - // Permission to everything. \Yii::app()->session['loginID'] = 1; - // Browser login. self::adminLogin($username, $password); } - /** - * + * */ public function setup() { @@ -58,9 +52,8 @@ public function setup() $surveyFile = self::$surveysFolder . '/limesurvey_survey_677328.lss'; self::importSurvey($surveyFile); } - /** - * + * */ public function tearDown() { @@ -70,9 +63,8 @@ public function tearDown() self::$testSurvey = null; } } - /** - * + * */ public function testBasic() { @@ -81,7 +73,6 @@ public function testBasic() $this->assertNotEmpty($survey); $this->assertCount(1, $survey->groups, 'Wrong number of groups: ' . count($survey->groups)); $this->assertCount(1, $survey->groups[0]->questions, 'We have exactly one question'); - $urlMan = \Yii::app()->urlManager; $urlMan->setBaseUrl('http://' . self::$domain . '/index.php'); $url = $urlMan->createUrl( @@ -93,39 +84,30 @@ public function testBasic() 'qid' => $survey->groups[0]->questions[0]->qid ] ); - self::$webDriver->get($url); - $answer1 = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="answer_en_1_0"]')); $answer1->sendKeys('123'); - $answer2 = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="answer_en_1_1"]')); $answer2->sendKeys('abc'); - $savebutton = self::$webDriver->findElement(WebDriverBy::id('save-button')); $savebutton->click(); - $notif = self::$webDriver->findElement(WebDriverBy::id('notif-container')); $notifText = $notif->getText(); $this->assertContains('Answer options were successfully saved', $notifText); - $answers = \Answer::model()->findAllByAttributes(['qid' => $survey->groups[0]->questions[0]->qid]); $this->assertCount(2, $answers, 'Two answer options saved'); } - /** - * + * */ public function testUsingLinkToEditAnswers() { $surveyFile = self::$surveysFolder . '/limesurvey_survey_677328.lss'; self::importSurvey($surveyFile); - $survey = \Survey::model()->findByPk(self::$surveyId); $this->assertNotEmpty($survey); $this->assertCount(1, $survey->groups, 'Wrong number of groups: ' . count($survey->groups)); $this->assertCount(1, $survey->groups[0]->questions, 'We have exactly one question'); - $urlMan = \Yii::app()->urlManager; $urlMan->setBaseUrl('http://' . self::$domain . '/index.php'); $url = $urlMan->createUrl( @@ -137,28 +119,20 @@ public function testUsingLinkToEditAnswers() 'qid' => $survey->groups[0]->questions[0]->qid ] ); - self::$webDriver->get($url); - $button = self::$webDriver->findElement(WebDriverBy::linkText('Edit answer options')); $button->click(); - $answer1 = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="answer_en_1_0"]')); $answer1->sendKeys('123'); - $answer2 = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="answer_en_1_1"]')); $answer2->sendKeys('abc'); - sleep(1); - $savebutton = self::$webDriver->findElement(WebDriverBy::id('save-button')); $savebutton->click(); - $notif = self::$webDriver->findElement(WebDriverBy::id('notif-container')); $notifText = $notif->getText(); $this->assertContains('Answer options were successfully saved', $notifText); - $answers = \Answer::model()->findAllByAttributes(['qid' => $survey->groups[0]->questions[0]->qid]); $this->assertCount(2, $answers, 'Two answer options saved'); } -} +} \ No newline at end of file diff --git a/tests/acceptance/questions/DateTimeDefaultAnswerExpressionTest.php b/tests/acceptance/questions/DateTimeDefaultAnswerExpressionTest.php index 2f78ca38a1f..080a943ba08 100644 --- a/tests/acceptance/questions/DateTimeDefaultAnswerExpressionTest.php +++ b/tests/acceptance/questions/DateTimeDefaultAnswerExpressionTest.php @@ -24,14 +24,12 @@ */ class DateTimeDefaultAnswerExpressionTest extends TestBaseClass { - public static function setUpBeforeClass() { parent::setUpBeforeClass(); $fileName = self::$surveysFolder . '/limesurvey_survey_454287.lss'; self::importSurvey($fileName); } - /** * Test the question with lacking default answer expression, * date('Y-m-d'), will be filled with ' 00:00' to work with @@ -42,11 +40,8 @@ public function testDefaultAnswerExpressionFill() { global $thissurvey; $thissurvey = self::$surveyId; - list($question, $group, $sgqa) = self::$testHelper->getSgqa('G1Q00005', self::$surveyId); - $surveyOptions = self::$testHelper->getSurveyOptions(self::$surveyId); - \Yii::app()->setConfig('surveyID', self::$surveyId); \Yii::app()->setController(new DummyController('dummyid')); buildsurveysession(self::$surveyId); @@ -66,20 +61,15 @@ public function testDefaultAnswerExpressionFill() ], $result ); - // Qanda needs this. $_SESSION['survey_' . self::$surveyId]['maxstep'] = 2; $_SESSION['survey_' . self::$surveyId]['step'] = 1; - // Move one step to run expressions. - $moveResult = LimeExpressionManager::NavigateForwards(); - + $moveResult = \LimeExpressionManager::NavigateForwards(); // Check result from qanda. $qanda = \retrieveAnswers( - $_SESSION['survey_' . self::$surveyId]['fieldarray'][0], - self::$surveyId + $_SESSION['survey_' . self::$surveyId]['fieldarray'][0] ); - $correctDate = date('d/m/Y'); $this->assertNotEquals( false, @@ -92,9 +82,7 @@ public function testDefaultAnswerExpressionFill() ), 'Showing todays date' ); - } - /** * Test full default answer expression, * date('Y-m-d H:i'). @@ -104,11 +92,9 @@ public function testCorrectDefaultAnswerExpression() { global $thissurvey; $thissurvey = self::$surveyId; - + $survey = \Survey::model()->findByPk(self::$surveyId); list($question, $group, $sgqa) = self::$testHelper->getSgqa('q2', self::$surveyId); - $surveyOptions = self::$testHelper->getSurveyOptions(self::$surveyId); - \Yii::app()->setConfig('surveyID', self::$surveyId); \Yii::app()->setController(new DummyController('dummyid')); buildsurveysession(self::$surveyId); @@ -128,22 +114,16 @@ public function testCorrectDefaultAnswerExpression() ], $result ); - // Qanda needs this. $_SESSION['survey_' . self::$surveyId]['maxstep'] = 2; $_SESSION['survey_' . self::$surveyId]['step'] = 1; - // Move one step to run expressions. $moveResult = \LimeExpressionManager::NavigateForwards(); - // Check result from qanda. $qanda = \retrieveAnswers( - $_SESSION['survey_' . self::$surveyId]['fieldarray'][1], // 1 = second question (q2) - self::$surveyId + $_SESSION['survey_' . self::$surveyId]['fieldarray'][1] // 1 = second question (q2) ); - $correctDate = date('d/m/Y'); - $this->assertNotEquals( false, strpos( @@ -156,7 +136,6 @@ public function testCorrectDefaultAnswerExpression() 'Showing todays date' ); } - /** * Test default answer, date format HH:MM, expression * date('HH:ii'). Return empty value. @@ -165,11 +144,8 @@ public function testWrongDefaultAnswerExpression() { global $thissurvey; $thissurvey = self::$surveyId; - list($question, $group, $sgqa) = self::$testHelper->getSgqa('q3', self::$surveyId); - $surveyOptions = self::$testHelper->getSurveyOptions(self::$surveyId); - \Yii::app()->setConfig('surveyID', self::$surveyId); \Yii::app()->setController(new DummyController('dummyid')); buildsurveysession(self::$surveyId); @@ -189,29 +165,23 @@ public function testWrongDefaultAnswerExpression() ], $result ); - // Qanda needs this. $_SESSION['survey_' . self::$surveyId]['maxstep'] = 2; $_SESSION['survey_' . self::$surveyId]['step'] = 1; - // Move one step to run expressions. - $moveResult = LimeExpressionManager::NavigateForwards(); - + $moveResult = \LimeExpressionManager::NavigateForwards(); // Check result from qanda. $qanda = \retrieveAnswers( - $_SESSION['survey_' . self::$surveyId]['fieldarray'][2], // 2 = third question (q3) - self::$surveyId + $_SESSION['survey_' . self::$surveyId]['fieldarray'][2] // 2 = third question (q3) ); - // NB: Empty value, since default answer expression is not parsed by qanda. $this->assertNotEquals( false, strpos($qanda[0][1], "value=\"\""), 'Showing empty date due to wrong expression' ); - // NB: Value below is todays time in format H:i, which can't be // parsed by qanda (expects Y-m-d H:i). //print_r($_SESSION['survey_' . self::$surveyId][$sgqa]); } -} +} \ No newline at end of file diff --git a/tests/acceptance/questions/DateTimeForwardBackTest.php b/tests/acceptance/questions/DateTimeForwardBackTest.php index 67104478432..f33fe2b94b2 100644 --- a/tests/acceptance/questions/DateTimeForwardBackTest.php +++ b/tests/acceptance/questions/DateTimeForwardBackTest.php @@ -24,7 +24,6 @@ */ class DateTimeForwardBackTest extends TestBaseClass { - /** * Import survey in tests/surveys/. */ @@ -33,11 +32,9 @@ public static function setUpBeforeClass() parent::setUpBeforeClass(); $_POST = []; $_SESSION = []; - $surveyFile = self::$surveysFolder.'/limesurvey_survey_917744.lss'; self::importSurvey($surveyFile); } - /** * q1 is hidden question with default answer "now". * @group q01 @@ -47,12 +44,9 @@ public function testQ1() list($question, $group, $sgqa) = self::$testHelper->getSgqa('G1Q00001', self::$surveyId); $surveyMode = 'group'; $LEMdebugLevel = 0; - self::$testHelper->activateSurvey(self::$surveyId); - // Must fetch this AFTER survey is activated. $surveyOptions = self::$testHelper->getSurveyOptions(self::$surveyId); - \Yii::app()->setConfig('surveyID', self::$surveyId); \Yii::app()->setController(new DummyController('dummyid')); \buildsurveysession(self::$surveyId); @@ -70,7 +64,6 @@ public function testQ1() ], $result ); - $qid = $question->qid; $gseq = 0; $_POST['relevance' . $qid] = 1; @@ -82,28 +75,22 @@ public function testQ1() $_POST[$sgqa] = '10:00'; $_SESSION['survey_' . self::$surveyId]['maxstep'] = 2; $_SESSION['survey_' . self::$surveyId]['step'] = 1; - $moveResult = \LimeExpressionManager::NavigateForwards(); $result = \LimeExpressionManager::ProcessCurrentResponses(); $this->assertEquals($result[$sgqa]['value'], '1970-01-01 10:00'); - $moveResult = \LimeExpressionManager::NavigateForwards(); // Result is empty dummy text question. \LimeExpressionManager::ProcessCurrentResponses(); - // Check answer in database. $query = 'SELECT * FROM {{survey_' . self::$surveyId . '}}'; $result = \Yii::app()->db->createCommand($query)->queryAll(); $this->assertEquals($result[0][$sgqa], '1970-01-01 10:00:00', 'Answer in database is 10:00'); - // Check result from qanda. $qanda = \retrieveAnswers( - $_SESSION['survey_' . self::$surveyId]['fieldarray'][0], - self::$surveyId + $_SESSION['survey_' . self::$surveyId]['fieldarray'][0] ); $this->assertEquals(false, strpos($qanda[0][1], "value=\"11:00\""), 'No 11:00 value from qanda'); $this->assertNotEquals(false, strpos($qanda[0][1], "value=\"10:00\""), 'One 10:00 value from qanda'); - self::$testHelper->deactivateSurvey(self::$surveyId); } -} +} \ No newline at end of file diff --git a/tests/acceptance/questions/DateTimeTest.php b/tests/acceptance/questions/DateTimeTest.php index ecc315d9194..5eb7e7cccf0 100644 --- a/tests/acceptance/questions/DateTimeTest.php +++ b/tests/acceptance/questions/DateTimeTest.php @@ -22,80 +22,74 @@ */ class DateTimeTest extends TestBaseClass { - /** * Import survey in tests/surveys/. */ public static function setUpBeforeClass() { parent::setUpBeforeClass(); - $_POST = []; $_SESSION = []; - $surveyFile = self::$surveysFolder.'/limesurvey_survey_975622.lss'; self::importSurvey($surveyFile); - } - /** * "currentQset" in EM. */ protected function getQuestionSetForQ2(\Question $question, \QuestionGroup $group, $sgqa) { $qset = array($question->qid => array + ( + 'info' => array ( - 'info' => array - ( - 'relevance' => '1', - 'grelevance' => '', - 'qid' => $question->qid, - 'qseq' => 1, - 'gseq' => 0, - 'jsResultVar_on' => 'answer' . $sgqa, - 'jsResultVar' => 'java' . $sgqa, - 'type' => 'D', - 'hidden' => false, - 'gid' => $group->gid, - 'mandatory' => 'N', - 'eqn' => '', - 'help' => '', - 'qtext' => '', - 'code' => 'q2', - 'other' => 'N', - 'default' => null, - 'rootVarName' => 'q2', - 'rowdivid' => '', - 'aid' => '', - 'sqid' => '', - ), - 'relevant' => true, + 'relevance' => '1', + 'grelevance' => '', + 'qid' => $question->qid, + 'qseq' => 1, + 'gseq' => 0, + 'jsResultVar_on' => 'answer' . $sgqa, + 'jsResultVar' => 'java' . $sgqa, + 'type' => 'D', 'hidden' => false, - 'relEqn' => '', - 'sgqa' => $sgqa, - 'unansweredSQs' => $sgqa, - 'valid' => true, - 'validEqn' => '', - 'prettyValidEqn' => '', - 'validTip' => '', - 'prettyValidTip' => '', - 'validJS' => '', - 'invalidSQs' => '', - 'relevantSQs' => $sgqa, - 'irrelevantSQs' => '', - 'subQrelEqn' => '', - 'mandViolation' => false, - 'anyUnanswered' => true, - 'mandTip' => '', - 'message' => '', - 'updatedValues' => array(), - 'sumEqn' => '', - 'sumRemainingEqn' => '' - ) + 'gid' => $group->gid, + 'mandatory' => 'N', + 'eqn' => '', + 'help' => '', + 'qtext' => '', + 'code' => 'q2', + 'other' => 'N', + 'default' => null, + 'rootVarName' => 'q2', + 'rowdivid' => '', + 'aid' => '', + 'sqid' => '', + ), + 'relevant' => true, + 'hidden' => false, + 'relEqn' => '', + 'sgqa' => $sgqa, + 'unansweredSQs' => $sgqa, + 'valid' => true, + 'validEqn' => '', + 'prettyValidEqn' => '', + 'validTip' => '', + 'prettyValidTip' => '', + 'validJS' => '', + 'invalidSQs' => '', + 'relevantSQs' => $sgqa, + 'irrelevantSQs' => '', + 'subQrelEqn' => '', + 'mandViolation' => false, + 'anyUnanswered' => true, + 'mandTip' => '', + 'message' => '', + 'updatedValues' => array(), + 'sumEqn' => '', + 'sumRemainingEqn' => '' + ) ); return $qset; } - /** * Test wrong date input and error message. * @group datewronginput @@ -104,14 +98,10 @@ public function testWrongInput() { $contr = new DummyController('dummyid'); \Yii::app()->setController($contr); - list($question, $group, $sgqa) = self::$testHelper->getSgqa('q2', self::$surveyId); - $qset = $this->getQuestionSetForQ2($question, $group, $sgqa); - $em = \LimeExpressionManager::singleton(); $em->setCurrentQset($qset); - $surveyMode = 'group'; $LEMdebugLevel = 0; $surveyOptions = self::$testHelper->getSurveyOptions(self::$surveyId); @@ -122,40 +112,31 @@ public function testWrongInput() false, $LEMdebugLevel ); - $qid = $question->qid; $gseq = 0; $_POST['relevance' . $qid] = 1; $_POST['relevanceG' . $gseq] = 1; $_POST[$sgqa] = 'asd'; - $result = \LimeExpressionManager::ProcessCurrentResponses(); $this->assertNotEmpty($result); $this->assertEquals(1, count($result), 'One question from ProcessCurrentResponses'); $this->assertEquals('INVALID', $result[$sgqa]['value']); - $originalPrefix = \Yii::app()->user->getStateKeyPrefix(); \Yii::app()->user->setStateKeyPrefix('frontend' . self::$surveyId); $flashes = \Yii::app()->user->getFlashes(); - $this->assertNotEmpty($flashes); $this->assertEquals(1, count($flashes), 'One error message'); - \Yii::app()->user->setStateKeyPrefix($originalPrefix); } - /** * Test correct date. */ public function testCorrectDateFormat() { list($question, $group, $sgqa) = self::$testHelper->getSgqa('q2', self::$surveyId); - $qset = $this->getQuestionSetForQ2($question, $group, $sgqa); - $em = \LimeExpressionManager::singleton(); $em->setCurrentQset($qset); - $surveyMode = 'group'; $LEMdebugLevel = 0; $surveyOptions = self::$testHelper->getSurveyOptions(self::$surveyId); @@ -166,27 +147,21 @@ public function testCorrectDateFormat() false, $LEMdebugLevel ); - $qid = $question->qid; $gseq = 0; $_POST['relevance' . $qid] = 1; $_POST['relevanceG' . $gseq] = 1; $_POST[$sgqa] = '23/12/2016'; - $result = \LimeExpressionManager::ProcessCurrentResponses(); $this->assertNotEmpty($result); $this->assertEquals(1, count($result), 'One question from ProcessCurrentResponses'); $this->assertEquals('2016-12-23 00:00', $result[$sgqa]['value']); - $originalPrefix = \Yii::app()->user->getStateKeyPrefix(); \Yii::app()->user->setStateKeyPrefix('frontend' . self::$surveyId); $flashes = \Yii::app()->user->getFlashes(); - $this->assertEmpty($flashes, 'No error message'); - \Yii::app()->user->setStateKeyPrefix($originalPrefix); } - /** * q1 is hidden question with default answer "now". */ @@ -211,4 +186,4 @@ public function testQ1() $result = \LimeExpressionManager::ProcessCurrentResponses(); $this->assertEquals(date('Y-m-d'), $_SESSION['survey_' . self::$surveyId][$sgqa]); } -} +} \ No newline at end of file diff --git a/tests/acceptance/questions/DateTimeValidationTest.php b/tests/acceptance/questions/DateTimeValidationTest.php index 5e36351e532..3606ddb2bda 100644 --- a/tests/acceptance/questions/DateTimeValidationTest.php +++ b/tests/acceptance/questions/DateTimeValidationTest.php @@ -32,14 +32,12 @@ class DateTimeValidationTest extends TestBaseClassWeb public static function setUpBeforeClass() { parent::setUpBeforeClass(); - $surveyFile = self::$surveysFolder.'/limesurvey_survey_834477.lss'; self::importSurvey($surveyFile); self::$testHelper->enablePreview(); } - /** - * + * */ public function testBasic() { @@ -53,9 +51,7 @@ public function testBasic() 'lang' => 'pt' ] ); - self::$webDriver->get($url); - try { $submit = self::$webDriver->findElement(WebDriverBy::id('ls-button-submit')); } catch (NoSuchElementException $ex) { @@ -68,15 +64,13 @@ public function testBasic() 'Screenshot in ' . $filename . PHP_EOL . $ex->getMessage() ); } - $this->assertNotEmpty($submit); self::$webDriver->wait(5)->until( WebDriverExpectedCondition::elementToBeClickable( - WebDriverBy::id('ls-button-submit') - ) + WebDriverBy::id('ls-button-submit') + ) ); $submit->click(); - // After submit we should see the complete page. try { // Wait max 10 second to find this div. @@ -98,14 +92,14 @@ public function testBasic() ); } catch (TimeOutException $ex) { $body = self::$webDriver->findElement(WebDriverBy::tagName('body')); - var_dump($body->getText()); - $reflect = new \ReflectionClass($this); - //if ($reflect->getShortName() === 'Name') { + var_dump($body->getText()); + $reflect = new \ReflectionClass($this); + //if ($reflect->getShortName() === 'Name') { self::$testHelper->takeScreenshot(self::$webDriver, $reflect->getShortName() . '_' . __FUNCTION__); $this->assertFalse( true, self::$testHelper->javaTrace($ex) ); - } + } } -} +} \ No newline at end of file diff --git a/tests/acceptance/questions/MultipleChoiceNextPreviousTest.php b/tests/acceptance/questions/MultipleChoiceNextPreviousTest.php index 29b00f5ba15..b65e9a5ed1d 100644 --- a/tests/acceptance/questions/MultipleChoiceNextPreviousTest.php +++ b/tests/acceptance/questions/MultipleChoiceNextPreviousTest.php @@ -30,16 +30,14 @@ public static function setUpBeforeClass() { parent::setUpBeforeClass(); } - /** - * + * */ public function testNextPrevious() { // Import survey. $surveyFile = self::$surveysFolder . '/limesurvey_survey_583999.lss'; self::importSurvey($surveyFile); - // Go to preview. $urlMan = \Yii::app()->urlManager; $urlMan->setBaseUrl('http://' . self::$domain . '/index.php'); @@ -51,7 +49,6 @@ public function testNextPrevious() 'lang' => 'pt' ] ); - // Get questions. $survey = \Survey::model()->findByPk(self::$surveyId); $questionObjects = $survey->groups[0]->questions; @@ -59,38 +56,29 @@ public function testNextPrevious() foreach ($questionObjects as $q) { $questions[$q->title] = $q; } - try { - self::$webDriver->get($url); - // Click first checkbox. $lis = self::$webDriver->findElements(WebDriverBy::cssSelector('li label')); $this->assertCount(3, $lis); $lis[0]->click(); - // Click next. $submit = self::$webDriver->findElement(WebDriverBy::id('ls-button-submit')); $submit->click(); - // Click previous.. $prev = self::$webDriver->findElement(WebDriverBy::id('ls-button-previous')); $prev->click(); sleep(1); // TODO: Does not work without this. - // Click next. $submit = self::$webDriver->findElement(WebDriverBy::id('ls-button-submit')); $submit->click(); - // Click previous.. $prev = self::$webDriver->findElement(WebDriverBy::id('ls-button-previous')); $prev->click(); - // Check value of checkbox. $sgqa = self::$surveyId . 'X' . $survey->groups[0]->gid . 'X' . $questions['q2']->qid; $checkbox = self::$webDriver->findElement(WebDriverBy::id('java' . $sgqa . 'SQ001')); $this->assertEquals('Y', $checkbox->getAttribute('value')); - } catch (NoSuchElementException $ex) { $screenshot = self::$webDriver->takeScreenshot(); $filename = self::$screenshotsFolder.'/MultipleChoiceNextPreviousTest.png'; @@ -102,4 +90,4 @@ public function testNextPrevious() ); } } -} +} \ No newline at end of file diff --git a/tests/acceptance/surveys/AjaxModeTest.php b/tests/acceptance/surveys/AjaxModeTest.php index cf8b3e1971b..6c905997157 100644 --- a/tests/acceptance/surveys/AjaxModeTest.php +++ b/tests/acceptance/surveys/AjaxModeTest.php @@ -17,21 +17,17 @@ class AjaxModeTest extends TestBaseClassWeb public static function setupBeforeClass() { parent::setUpBeforeClass(); - // Import survey. $surveyFile = self::$surveysFolder . '/limesurvey_survey_366446.lss'; self::importSurvey($surveyFile); - // Activate survey. self::$testHelper->activateSurvey(self::$surveyId); } - /** * Test that Ajax mode records answer. */ public function testAjaxModeRecordsAnswer() { - // Get questions. $survey = \Survey::model()->findByPk(self::$surveyId); $questionObjects = $survey->groups[0]->questions; @@ -39,7 +35,6 @@ public function testAjaxModeRecordsAnswer() foreach ($questionObjects as $q) { $questions[$q->title] = $q; } - // Make sure there are no responses in database. $query = sprintf( 'SELECT * FROM {{survey_%d}}', @@ -48,7 +43,6 @@ public function testAjaxModeRecordsAnswer() $db = \Yii::app()->getDb(); $rows = $db->createCommand($query)->queryAll(); $this->assertEmpty($rows, 'No answers'); - // Execute survey. $urlMan = \Yii::app()->urlManager; $urlMan->setBaseUrl('http://' . self::$domain . '/index.php'); @@ -60,33 +54,26 @@ public function testAjaxModeRecordsAnswer() 'lang' => 'pt' ] ); - try { // Click welcome page. self::$webDriver->get($url); $nextButton = self::$webDriver->findElement(WebDriverBy::id('ls-button-submit')); $nextButton->click(); - // Find yes-no radio buttons, click "Yes". $items = self::$webDriver->findElements(WebDriverBy::cssSelector('ul.yesno-button li')); $this->assertCount(3, $items, 'Three radio buttons for yes-no question'); $items[0]->click(); - // Check that EM is reacting. $div = self::$webDriver->findElement(WebDriverBy::cssSelector('div#question' . $questions['q2']->qid)); $this->assertEquals($div->getText(), 'The previous answer was FALSE'); - // Click "No". $items[1]->click(); - // Check EM. $div = self::$webDriver->findElement(WebDriverBy::cssSelector('div#question' . $questions['q2']->qid)); $this->assertEquals($div->getText(), 'The previous answer was TRUE'); - // Click submit. $submitButton = self::$webDriver->findElement(WebDriverBy::id('ls-button-submit')); $submitButton->click(); - // Check so that we see end page. $completed = self::$webDriver->findElement(WebDriverBy::cssSelector('div.completed-text')); $this->assertEquals( @@ -104,7 +91,6 @@ public function testAjaxModeRecordsAnswer() 'Screenshot in ' .$filename . PHP_EOL . $ex->getMessage() ); } - // Check answer in database. $query = sprintf( 'SELECT * FROM {{survey_%d}}', @@ -116,4 +102,4 @@ public function testAjaxModeRecordsAnswer() $answer = $rows[0][$sgqa]; $this->assertEquals('N', $answer, 'Answer is "N"'); } -} +} \ No newline at end of file diff --git a/tests/acceptance/surveys/GroupRandomizationTest.php b/tests/acceptance/surveys/GroupRandomizationTest.php index f1e405a0a91..c956ff06e50 100644 --- a/tests/acceptance/surveys/GroupRandomizationTest.php +++ b/tests/acceptance/surveys/GroupRandomizationTest.php @@ -27,23 +27,18 @@ class GroupRandomizationTest extends TestBaseClassWeb * @var int */ public static $surveyId = null; - /** */ public static function setupBeforeClass() { parent::setupBeforeClass(); - self::$testHelper->connectToOriginalDatabase(); - \Yii::app()->session['loginID'] = 1; - - $surveyFile = self::getSurveysFolder() . '/limesurvey_survey_88881.lss'; + $surveyFile = __DIR__ . '/../data/surveys/limesurvey_survey_88881.lss'; if (!file_exists($surveyFile)) { echo 'Fatal error: found no survey file'; exit(4); } - $translateLinksFields = false; $newSurveyName = null; try { @@ -59,7 +54,6 @@ public static function setupBeforeClass() 'Could not import survey limesurvey_survey_88881.lss: ' . $ex->getMessage() ); } - if ($result) { self::$surveyId = $result['newsid']; } else { @@ -67,7 +61,6 @@ public static function setupBeforeClass() exit(5); } } - /** * Selenium setup. */ @@ -78,13 +71,11 @@ public function setUp() echo 'Must specify DOMAIN environment variable to run this test, like "DOMAIN=localhost/limesurvey" or "DOMAIN=limesurvey.localhost".'; exit(6); } - //$capabilities = DesiredCapabilities::phantomjs(); //$this->webDriver = RemoteWebDriver::create('http://localhost:4444/', $capabilities); } - /** - * + * */ public static function teardownAfterClass() { @@ -94,7 +85,6 @@ public static function teardownAfterClass() exit(8); } } - /** * Tear down fixture. */ @@ -103,20 +93,16 @@ public function tearDown() // Close Firefox. self::$webDriver->quit(); } - - /** - * + * */ public function testRunSurvey() { self::$testHelper->activateSurvey(self::$surveyId); - $domain = getenv('DOMAIN'); if (empty($domain)) { $domain = ''; } - $urlMan = \Yii::app()->urlManager; $urlMan->setBaseUrl('http://' . $domain . '/index.php'); $url = $urlMan->createUrl( @@ -127,7 +113,6 @@ public function testRunSurvey() 'lang' => 'pt' ) ); - self::$webDriver->get($url); $submit = self::$webDriver->findElement(WebDriverBy::id('ls-button-submit')); $this->assertNotEmpty($submit); @@ -135,17 +120,13 @@ public function testRunSurvey() WebDriverExpectedCondition::visibilityOf($submit) ); $submit->click(); - $body = self::$webDriver->findElement(WebDriverBy::tagName('body')); $text = $body->getText(); - // There should be no PHP notice. $this->assertTrue(strpos($text, 'PHP notice') === false, $text); - // NB: This is how to take a screenshot, if necessary. //$screenshot = self::$webDriver->takeScreenshot(); //file_put_contents(__DIR__ . '/screenshot.png', $screenshot); - self::$testHelper->deactivateSurvey(self::$surveyId); } -} +} \ No newline at end of file diff --git a/tests/acceptance/surveys/MultipleChoiceWithExpressionTest.php b/tests/acceptance/surveys/MultipleChoiceWithExpressionTest.php index 819a8dcd215..c14cf355869 100644 --- a/tests/acceptance/surveys/MultipleChoiceWithExpressionTest.php +++ b/tests/acceptance/surveys/MultipleChoiceWithExpressionTest.php @@ -11,14 +11,13 @@ class MultipleChoiceWithExpressionTest extends TestBaseClassWeb { /** - * + * */ public function testBasic() { // Import survey. $surveyFile = self::$surveysFolder . '/limesurvey_survey_352985.lss'; self::importSurvey($surveyFile); - // Preview survey. $urlMan = \Yii::app()->urlManager; $urlMan->setBaseUrl('http://' . self::$domain . '/index.php'); @@ -30,7 +29,6 @@ public function testBasic() 'lang' => 'pt' ] ); - // Get questions. $survey = \Survey::model()->findByPk(self::$surveyId); $questionObjects = $survey->groups[0]->questions; @@ -43,11 +41,9 @@ public function testBasic() $subquestions[$subq->title] = $subq; } $sgqa = self::$surveyId . 'X' . $survey->groups[0]->gid . 'X' . $questions['Q1']->qid . '123'; // 123 = first subquestion title. - try { // Get first page. self::$webDriver->get($url); - // Click on first multiple choice checkbox. $label = self::$webDriver->findElement( WebDriverBy::cssSelector( @@ -58,13 +54,11 @@ public function testBasic() ) ); $label->click(); - // Check that equation reacts. $equation = self::$webDriver->findElement(WebDriverBy::id('question' . $questions['equation1']->qid)); $equestionText = $equation->getText(); $trues = substr_count($equestionText, 'true'); $this->assertEquals(2, $trues, 'Found two "true"'); - $label->click(); $equestionText = $equation->getText(); $trues = substr_count($equestionText, 'true'); @@ -77,4 +71,4 @@ public function testBasic() ); } } -} +} \ No newline at end of file diff --git a/tests/acceptance/surveys/ScreenOutTest.php b/tests/acceptance/surveys/ScreenOutTest.php index c6435514a48..6512b48e8a6 100644 --- a/tests/acceptance/surveys/ScreenOutTest.php +++ b/tests/acceptance/surveys/ScreenOutTest.php @@ -7,7 +7,7 @@ use LimeSurvey\tests\TestBaseClassWeb; /** - * Test survey when all other questions relevance is 0, due to first + * Test survey when all other questions relevance is 0, due to first * question being yes or no. * @since 2017-11-16 * @group screenout @@ -20,12 +20,10 @@ class ScreenOutTest extends TestBaseClassWeb public static function setUpBeforeClass() { parent::setUpBeforeClass(); - // Import survey. $surveyFile = self::$surveysFolder . '/limesurvey_survey_186734.lss'; self::importSurvey($surveyFile); } - /** * Test answer "No answer" on first question. */ @@ -42,18 +40,14 @@ public function testNoAnswer() 'lang' => 'pt' ] ); - try { self::$webDriver->get($url); - // Click next. $nextButton = self::$webDriver->findElement(WebDriverBy::id('ls-button-submit')); $nextButton->click(); - // Check that we see completed text. $completed = self::$webDriver->findElement(WebDriverBy::cssSelector('div.completed-text')); $this->assertNotEmpty($completed); - } catch (NoSuchElementException $ex) { $screenshot = self::$webDriver->takeScreenshot(); $filename = self::$screenshotsFolder.'/ScreenOutTest.png'; @@ -65,9 +59,8 @@ public function testNoAnswer() ); } } - /** - * + * */ public function testYes() { @@ -82,7 +75,6 @@ public function testYes() 'lang' => 'pt' ] ); - // Get questions. $survey = \Survey::model()->findByPk(self::$surveyId); $questionObjects = $survey->groups[0]->questions; @@ -90,32 +82,25 @@ public function testYes() foreach ($questionObjects as $q) { $questions[$q->title] = $q; } - try { self::$webDriver->get($url); - //javatbd186734X355X1911Y $answerId = 'javatbd' . self::$surveyId . 'X' . $survey->groups[0]->gid . 'X' . $questions['q1']->qid . 'Y'; $yesButton = self::$webDriver->findElement(WebDriverBy::id($answerId)); $yesButton->click(); - // Click next. $nextButton = self::$webDriver->findElement(WebDriverBy::id('ls-button-submit')); $nextButton->click(); - // answer186734X355X1912 $question2Id = 'answer' . self::$surveyId . 'X' . $survey->groups[0]->gid . 'X' . $questions['q2']->qid; $question2 = self::$webDriver->findElement(WebDriverBy::id($question2Id)); $this->assertNotEmpty($question2); - // Click next again. $nextButton = self::$webDriver->findElement(WebDriverBy::id('ls-button-submit')); $nextButton->click(); - // Check that we see completed text. $completed = self::$webDriver->findElement(WebDriverBy::cssSelector('div.completed-text')); $this->assertNotEmpty($completed); - } catch (NoSuchElementException $ex) { $screenshot = self::$webDriver->takeScreenshot(); $filename = self::$screenshotsFolder.'/ScreenOutTest.png'; @@ -127,4 +112,4 @@ public function testYes() ); } } -} +} \ No newline at end of file diff --git a/tests/functional/helpers/CheckDatabaseJsonValuesTest.php b/tests/functional/helpers/CheckDatabaseJsonValuesTest.php index e4941f252f4..10161178361 100644 --- a/tests/functional/helpers/CheckDatabaseJsonValuesTest.php +++ b/tests/functional/helpers/CheckDatabaseJsonValuesTest.php @@ -11,7 +11,13 @@ */ class CheckDatabaseJsonValuesTest extends TestBaseClass { - + /** + * + */ + public static function setupBeforeClass() + { + parent::setupBeforeClass(); + } /** * Tear down fixtures. */ @@ -21,7 +27,6 @@ public static function teardownAfterClass() self::$testHelper->teardownDatabase('__test_update_helper_258'); self::$testHelper->teardownDatabase('__test_update_helper_315'); } - /** * * @throws \CException @@ -29,12 +34,10 @@ public static function teardownAfterClass() public function testCreate() { $db = \Yii::app()->getDb(); - $config = require(\Yii::app()->getBasePath() . '/config/config.php'); $version = require(\Yii::app()->getBasePath() . '/config/version.php'); $connection = self::$testHelper->connectToNewDatabase('__test_check_database_json'); $this->assertNotEmpty($connection, 'Could connect to new database'); - // Get InstallerController. $inst = new \InstallerController('foobar'); $inst->connection = \Yii::app()->db; @@ -43,55 +46,45 @@ public function testCreate() if ($result) { print_r($result); } - // Run upgrade. $result = \db_upgrade_all($version['dbversionnumber']); - // Check JSON. $this->checkMenuEntriesJson($inst->connection); $this->checkTemplateConfigurationJson($inst->connection); - // Connect to old database. $db->setActive(false); \Yii::app()->setComponent('db', $config['components']['db'], false); $db->setActive(true); } - /** - * + * */ public function testUpdateFrom258() { $connection = self::$testHelper->updateDbFromVersion(258); - // Check JSON. $this->checkMenuEntriesJson($connection); $this->checkTemplateConfigurationJson($connection); - $db = \Yii::app()->getDb(); $db->setActive(false); $config = require(\Yii::app()->getBasePath() . '/config/config.php'); \Yii::app()->setComponent('db', $config['components']['db'], false); $db->setActive(true); } - /** */ public function testUpdateFrom315() { $connection = self::$testHelper->updateDbFromVersion(315); - // Check JSON. $this->checkMenuEntriesJson($connection); $this->checkTemplateConfigurationJson($connection); - $db = \Yii::app()->getDb(); $db->setActive(false); $config = require(\Yii::app()->getBasePath() . '/config/config.php'); \Yii::app()->setComponent('db', $config['components']['db'], false); $db->setActive(true); } - /** * @param \CDbConnection $connection * @return void @@ -109,7 +102,6 @@ protected function checkMenuEntriesJson(\CDbConnection $connection) } } } - /** * @param \CDbConnection $connection * @return void @@ -139,8 +131,7 @@ protected function checkTemplateConfigurationJson(\CDbConnection $connection) } else { // Nothing to check. } - } } } -} +} \ No newline at end of file diff --git a/tests/functional/helpers/ExpressionCoreAux.php b/tests/functional/helpers/ExpressionCoreAux.php index 18fb5ebfe61..5b6c1658f70 100644 --- a/tests/functional/helpers/ExpressionCoreAux.php +++ b/tests/functional/helpers/ExpressionCoreAux.php @@ -13,42 +13,35 @@ class ExpressionCoreAux extends TestCase * @var boolean */ public $jsonEncodeEmResult = false; - /** * If true, sets onlynum = 1 in LEMvarNameAttr. * @var int */ public $onlynum = 0; - /** * @var string */ public $expression; - /** * Survey-group-question-answer code, like '123X123X123_1'. * @var string */ public $sgqa; - /** * Question type char. Defaults to 'T' = long free text. * @var string */ public $questionType = 'T'; - /** * Value of question, as in $_SESSION and . * @mixed */ public $value; - /** * Question alias. * @var string */ public $alias = 'test'; - /** * @param string $expression * @param string $sgqa @@ -62,7 +55,6 @@ public function __construct($expression, $sgqa, $questionType, $value) $this->questionType = $questionType; $this->value = $value; } - /** * @return void */ @@ -70,7 +62,6 @@ public function compareExpression() { // Input value 3. $_SESSION['survey_563168'][$this->sgqa] = $this->value; - $em = new \ExpressionManager(); $lem = \LimeExpressionManager::singleton(); $lem->setVariableAndTokenMappingsForExpressionManager('563168'); @@ -83,23 +74,16 @@ public function compareExpression() ] ] ); - $em->RDP_Evaluate($this->expression); - $emResult = $em->GetResult(); - if ($this->jsonEncodeEmResult) { $emResult = json_encode($emResult); } - $errors = $em->RDP_GetErrors(); $this->assertEmpty($errors, print_r($errors, true)); $jsOfExpression = $em->GetJavaScriptEquivalentOfExpression(); - $js = $this->getDummyNodeSetup() . $jsOfExpression; - $nodeOutput = $this->runNode($js); - $this->assertCount(1, $nodeOutput); $this->assertEquals( $emResult, @@ -114,7 +98,6 @@ public function compareExpression() ); } - /** * JS code to setup environment so LEMval() can run. * @return string @@ -126,7 +109,6 @@ public function getDummyNodeSetup() } else { $value = $this->value; } - list($surveyId, $groupId, /* questionId */) = explode('X', $this->sgqa, 3); return << 2, 2 => 'NUMBER' ]; - $dqString = [ 0 => ' ', 1 => 26, 2 => 'DQ_STRING' ]; - $em->RDP_StackPush($number); $em->RDP_StackPush($dqString); - $compare = [ 0 => '>=', 1 => 23, @@ -85,15 +78,12 @@ public function notes() ]; $noErrors = $em->RDP_EvaluateBinary($compare); $this->assertTrue($noErrors); - $result = $em->RDP_StackPop(); - $em->RDP_StackPush($number); $em->RDP_StackPush($dqString); $em->RDP_StackPush($compare); $em->SetJsVarsUsed([]); */ - /* $pageInfo = [ 'qid' => '5377', @@ -110,7 +100,6 @@ public function notes() ]; */ } - /** * @group me */ @@ -126,7 +115,6 @@ public function testNumericalQuestion() $test->compareExpression(); } } - /** * @group me2 */ @@ -141,4 +129,4 @@ public function testShortTextQuestion() $test->compareExpression(); } } -} +} \ No newline at end of file diff --git a/tests/functional/helpers/UpdateDbHelperTest.php b/tests/functional/helpers/UpdateDbHelperTest.php index 322ce1c2d9d..6cc8f0e2834 100644 --- a/tests/functional/helpers/UpdateDbHelperTest.php +++ b/tests/functional/helpers/UpdateDbHelperTest.php @@ -20,7 +20,6 @@ public static function teardownAfterClass() self::$testHelper->teardownDatabase('__test_install_script'); self::$testHelper->teardownDatabase('__test_install_script_compare'); } - /** * Run the database PHP install script. * @group install @@ -29,11 +28,9 @@ public static function teardownAfterClass() public function testInstallPhp() { $db = \Yii::app()->getDb(); - $config = require(\Yii::app()->getBasePath() . '/config/config.php'); $connection = self::$testHelper->connectToNewDatabase('__test_install_script'); $this->assertNotEmpty($connection, 'Could connect to new database'); - // Get InstallerController. $inst = new \InstallerController('foobar'); $inst->connection = \Yii::app()->db; @@ -42,7 +39,6 @@ public function testInstallPhp() if ($result) { print_r($result); } - // Dump database to file. /* $output = array(); @@ -57,13 +53,11 @@ public function testInstallPhp() $this->assertEmpty($output, 'No output from mysqldump'); $this->assertEmpty($result, 'No last line output from mysqldump'); */ - // Connect to old database. $db->setActive(false); \Yii::app()->setComponent('db', $config['components']['db'], false); $db->setActive(true); } - /** * Run db_upgrade_all() from dbversion 258, to make sure * there are no conflicts or syntax errors. @@ -73,10 +67,8 @@ public function testInstallPhp() public function testDbUpgradeFrom258() { self::$testHelper->updateDbFromVersion(258); - $db = \Yii::app()->getDb(); $config = require(\Yii::app()->getBasePath() . '/config/config.php'); - // Dump database to file. /* $output = array(); @@ -91,14 +83,11 @@ public function testDbUpgradeFrom258() $this->assertEmpty($output, 'No output from mysqldump'); $this->assertEmpty($result, 'No last line output from mysqldump'); */ - // Connect to old database. \Yii::app()->setComponent('db', $config['components']['db'], false); $db->setActive(true); - // Database is deleted in teardownAfterClass(). } - /** * @group from315 * @throws \CException @@ -106,15 +95,12 @@ public function testDbUpgradeFrom258() public function testDbUpgradeFrom315() { self::$testHelper->updateDbFromVersion(315); - $db = \Yii::app()->getDb(); $config = require(\Yii::app()->getBasePath() . '/config/config.php'); - // Connect to old database. \Yii::app()->setComponent('db', $config['components']['db'], false); $db->setActive(true); } - /** * Compare database between upgrade and fresh install. * @group dbcompare @@ -125,12 +111,10 @@ public function testCompareUpgradeAndFreshInstall() $connection = self::$testHelper->updateDbFromVersion(258); $upgradeTables = $connection->schema->getTables(); $this->compareAux($upgradeTables, 258); - $connection = self::$testHelper->updateDbFromVersion(315); $upgradeTables = $connection->schema->getTables(); $this->compareAux($upgradeTables, 315); } - /** * @param array $upgradeTables * @return void @@ -139,9 +123,7 @@ public function testCompareUpgradeAndFreshInstall() protected function compareAux(array $upgradeTables, $upgradedFrom) { $config = require(\Yii::app()->getBasePath() . '/config/config.php'); - $dbo = \Yii::app()->getDb(); - /* $config = require(\Yii::app()->getBasePath() . '/config/config.php'); // Get database name. @@ -161,15 +143,12 @@ protected function compareAux(array $upgradeTables, $upgradedFrom) ); $connection->active = true; */ - \Yii::app()->cache->flush(); - self::$testHelper->teardownDatabase('__test_install_script_compare'); $connection = self::$testHelper->connectToNewDatabase('__test_install_script_compare'); $this->assertNotEmpty($connection, 'Could not connect to new database: ' . json_encode($connection)); $connection->schemaCachingDuration = 0; // Deactivate schema caching $connection->schema->refresh(); - // Get InstallerController. $db = \Yii::app()->getDb(); $inst = new \InstallerController('foobar'); @@ -188,10 +167,8 @@ protected function compareAux(array $upgradeTables, $upgradedFrom) } $inst->connection->schema->refresh(); $freshInstallTables = $inst->connection->schema->getTables(); - $this->assertEquals(count($upgradeTables), count($freshInstallTables), 'Same number of tables'); $this->assertEquals(array_keys($upgradeTables), array_keys($freshInstallTables), 'Same number of tables'); - // Loop tables. $upgradeKeys = array_keys($upgradeTables); $freshInstallKeys = array_keys($freshInstallTables); @@ -199,10 +176,8 @@ protected function compareAux(array $upgradeTables, $upgradedFrom) $this->assertEquals($upgradeKeys[$i], $freshInstallKeys[$i]); $upgradeTable = $upgradeTables[$upgradeKeys[$i]]; $freshTable = $freshInstallTables[$freshInstallKeys[$i]]; - $upgradeColumns = $upgradeTable->columns; $freshColumns = $freshTable->columns; - // Loop columns. foreach ($upgradeColumns as $columnName => $upgradeColumn) { $upgradeColumn = (array) $upgradeColumn; @@ -226,7 +201,6 @@ protected function compareAux(array $upgradeTables, $upgradedFrom) } } } - /* Code to dump diff, but nearly useless due to collate difference. $output = array(); exec( @@ -240,10 +214,9 @@ protected function compareAux(array $upgradeTables, $upgradedFrom) $output ); */ - // Connect to old database. $dbo->setActive(false); \Yii::app()->setComponent('db', $config['components']['db'], false); $dbo->setActive(true); } -} +} \ No newline at end of file From 426c9069258f46b9d30a18d583273f666270d334 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=B5nis=20Ormisson?= Date: Thu, 11 Jan 2018 10:31:25 +0200 Subject: [PATCH 08/84] test root files sync to master --- tests/DummyController.php | 3 +- tests/TestHelper.php | 42 ++--------- tests/WebTestCase.php | 25 ------- tests/index.html | 15 ---- tests/staticCalls.php | 144 -------------------------------------- 5 files changed, 5 insertions(+), 224 deletions(-) delete mode 100644 tests/WebTestCase.php delete mode 100644 tests/index.html delete mode 100644 tests/staticCalls.php diff --git a/tests/DummyController.php b/tests/DummyController.php index 21a5de9e473..551dda3b505 100644 --- a/tests/DummyController.php +++ b/tests/DummyController.php @@ -8,11 +8,10 @@ class DummyController extends \CController * @var string */ public $sTemplate = 'dummyvalue'; - /** * Do nothing. */ public function redirect($url, $terminate = true, $statusCode = 302) { } -} +} \ No newline at end of file diff --git a/tests/TestHelper.php b/tests/TestHelper.php index c0b899b4dbc..d6d1792b60c 100644 --- a/tests/TestHelper.php +++ b/tests/TestHelper.php @@ -14,7 +14,6 @@ class TestHelper extends TestCase { - /** * Import all helpers etc. * @return void @@ -33,7 +32,6 @@ public function importAll() \Yii::import('application.helpers.SurveyRuntimeHelper', true); \Yii::app()->loadHelper('admin/activate'); } - /** * @param string $title * @param int $surveyId @@ -48,28 +46,22 @@ public function getSgqa($title, $surveyId) 'sid' => $surveyId ] ); - $this->assertNotEmpty($question); - $group = \QuestionGroup::model()->find( 'gid = :gid', [ 'gid' => $question->gid ] ); - $this->assertNotEmpty($group); - $sgqa = sprintf( '%sX%sX%s', $surveyId, $group->gid, $question->qid ); - return [$question, $group, $sgqa]; } - /** * Get survey options for imported survey. * @param int $surveyId @@ -103,7 +95,6 @@ public function getSurveyOptions($surveyId) ); return $surveyOptions; } - /** * @param int $surveyId * @return void @@ -118,11 +109,9 @@ public function activateSurvey($surveyId) $survey->savetimings = ''; $survey->save(); \Survey::model()->resetCache(); // Make sure the saved values will be picked up - $result = \activateSurvey($surveyId); $this->assertEquals(['status' => 'OK', 'pluginFeedback' => null], $result, 'Activate survey is OK'); } - /** * @param int $surveyId * @return void @@ -138,12 +127,11 @@ public function deactivateSurvey($surveyId) $result = $survey->save(); $this->assertTrue($result, 'Survey deactivated'); } - /** * Overwrite the db component with a new * configuration and database. * Before you run this, you might want to save - * the old db config in a variable, so you can + * the old db config in a variable, so you can * reconnect to it after you're done with the new * database. * $config = require(\Yii::app()->getBasePath() . '/config/config.php'); @@ -154,9 +142,7 @@ public function deactivateSurvey($surveyId) public function connectToNewDatabase($databaseName) { $db = \Yii::app()->getDb(); - $config = require(\Yii::app()->getBasePath() . '/config/config.php'); - // Check that we're using MySQL. $conStr = \Yii::app()->db->connectionString; $isMysql = substr($conStr, 0, 5) === 'mysql'; @@ -165,12 +151,10 @@ public function connectToNewDatabase($databaseName) return false; } $this->assertTrue($isMysql, 'This test only works on MySQL'); - // Get database name. preg_match("/dbname=([^;]*)/", $config['components']['db']['connectionString'], $matches); $this->assertEquals(2, count($matches)); $oldDatabase = $matches[1]; - try { $db->createCommand('DROP DATABASE ' . $databaseName)->execute(); } catch (\CDbException $ex) { @@ -178,7 +162,6 @@ public function connectToNewDatabase($databaseName) // Only this error is OK. self::assertTrue(strpos($msg, 'database doesn\'t exist') !== false, 'Could drop database'); } - try { $result = $db->createCommand( sprintf( @@ -192,7 +175,6 @@ public function connectToNewDatabase($databaseName) // This error is OK. $this->assertTrue(strpos($msg, 'database exists') !== false, 'Could create database'); } - // Connect to new database. $db->setActive(false); $newConfig = $config; @@ -207,7 +189,6 @@ public function connectToNewDatabase($databaseName) \Yii::app()->db->schema->refresh(); return \Yii::app()->getDb(); } - /** * @return void */ @@ -220,7 +201,6 @@ public function connectToOriginalDatabase() \Yii::app()->db->schema->getTables(); \Yii::app()->db->schema->refresh(); } - /** * @param int $version * @return \CDbConnection @@ -231,22 +211,17 @@ public function updateDbFromVersion($version, $connection = null) $connection = $this->connectToNewDatabase('__test_update_helper_' . $version); $this->assertNotEmpty($connection, 'Could connect to new database'); } - // Get InstallerController. $inst = new \InstallerController('foobar'); $inst->connection = $connection; - // Check SQL file. - $file = TestBaseClass::getDataFolder() . '/sql/create-mysql.' . $version . '.sql'; + $file = __DIR__ . '/data/sql/create-mysql.' . $version . '.sql'; $this->assertFileExists($file, 'SQL file exists: ' . $file); - // Run SQL install file. $result = $inst->_executeSQLFile($file, 'lime_'); $this->assertEquals([], $result, 'No error messages from _executeSQLFile' . print_r($result, true)); - // Run upgrade. $result = \db_upgrade_all($version); - // Check error messages. $flashes = \Yii::app()->user->getFlashes(); if ($flashes) { @@ -254,10 +229,8 @@ public function updateDbFromVersion($version, $connection = null) } $this->assertEmpty($flashes, 'No flash error messages'); $this->assertTrue($result, 'Upgrade successful'); - return $inst->connection; } - /** * Make sure Selenium can preview surveys without * being logged in. @@ -267,7 +240,6 @@ public function enablePreview() { // Make sure we can preview without being logged in. $setting = \SettingGlobal::model()->findByPk('surveyPreview_require_Auth'); - // Possibly this setting does not exist yet. if (empty($setting)) { $setting = new \SettingGlobal(); @@ -279,7 +251,6 @@ public function enablePreview() $setting->save(); } } - /** * Drop database $databaseName. * Use in teardown methods. @@ -298,7 +269,7 @@ public function teardownDatabase($databaseName, $connection = null) $msg = $ex->getMessage(); // Only this error is OK. self::assertTrue( - // MySQL + // MySQL strpos($msg, 'database doesn\'t exist') !== false || // Postgres strpos($msg, "database \"$databaseName\" does not exist") !== false, @@ -306,7 +277,6 @@ public function teardownDatabase($databaseName, $connection = null) ); } } - /** * Use webdriver to put a screenshot in screenshot folder. * @param WebDriver $webDriver @@ -322,7 +292,6 @@ public function takeScreenshot($webDriver, $name) $result = file_put_contents($filename, $screenshot); $this->assertTrue($result > 0, 'Could not write screenshot to file ' . $filename); } - /** * javaTrace() - provide a Java style exception trace * @@ -374,10 +343,8 @@ public function javaTrace($ex, $seen = null) if ($prev) { $result .= "\n" . jTraceEx($prev, $seen); } - return $result; } - /** * @return WebDriver|null */ @@ -403,7 +370,6 @@ public function getWebDriver() sleep(1); } } while (!$success && $tries < 5); - return $webDriver; } -} +} \ No newline at end of file diff --git a/tests/WebTestCase.php b/tests/WebTestCase.php deleted file mode 100644 index 20eb3408e89..00000000000 --- a/tests/WebTestCase.php +++ /dev/null @@ -1,25 +0,0 @@ -setBrowserUrl(TEST_BASE_URL); - } -} diff --git a/tests/index.html b/tests/index.html deleted file mode 100644 index 233ae63b6c5..00000000000 --- a/tests/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - -403 Forbidden - - - - - -

Directory access is forbidden.

- - - - \ No newline at end of file diff --git a/tests/staticCalls.php b/tests/staticCalls.php deleted file mode 100644 index f4597e7cf92..00000000000 --- a/tests/staticCalls.php +++ /dev/null @@ -1,144 +0,0 @@ -hasChildren() && !ignore($entry)) { - iterateList($i->getChildren()); - } else { - if (substr($entry, -4, 4) == '.php') { - checkFile($entry); - } - } - } -} - -// Get all static calls in file. -function checkFile($filename) -{ - if ($filename == __FILE__) { - return; - } - $file = file($filename, FILE_IGNORE_NEW_LINES); - $file = array_filter($file, "checkStatic"); - - if (!empty($file)) { - pr($filename); - print_r($file); - } -} - -function checkStatic($line) -{ - $validStatics = array( - 'Yii::', - 'parent::', - 'LimeExpressionManager::', -'Answer::', -'Question::', -'Survey::', -'QuestionGroup::', -'self::', -'PDO::', -'Participants::', -'SurveyLink::', -'ParticipantAttribute::', -'Tokens::', -'UserGroup::', -'Condition::', -'Survey_Common_Action::', -'Quota::', -'SurveyURLParameter::', -'Survey_languagesettings::', -'Permission::', -'SavedControl::', -'QuotaMember::', -'QuotaLanguageSetting::', -'ParticipantAttributeName::', -'User::', -'SurveyLanguageSetting::', -'QuestionAttribute::', -'Assessment::', -'CDbConnection::', -'ParticipantShare::', -'\'{INSERTANS::', -'DefaultValue::', -'CHtml::', -'ExpressionManager::', -'\'::\'', -'LabelSet::', -'SurveyDynamic::', -'PEAR::', -'SettingGlobal::', -'Zend_Http_Client::', -'Zend_XmlRpc_Value::', -'Zend_XmlRpc_Server_Fault::', -'Zend_XmlRpc_Value::', -'Zend_Server_Cache::', -'Zend_XmlRpc_Server_Cache::', -'Label::', -'Assessments::', -'XMLReader::', -'LEM::', -'Question::', -'DateTime::', -'Installer::', -'Session::', -'dataentry::', -'Assessments::', -'Zend_Server_Reflection::', -'Participants::', -'jsonRPCServer::', -'FailedLoginAttempt::', -'survey::', -'tokens::', -'questiongroup::', -'printanswers::', -'imagick::', -':: ', -'Assessments::', -'InstallerConfigForm::', -'Database::', -'UserInGroups::', -'Usergroups::', -'SurveyTimingDynamic::', -'::regClass', -'surveypermission::', -'Template::', -'templates::', -'register::', -'::first', -'::before', -'::after', -'::reg', -'text::', -'httpCache::' - ); - $replacements = array_pad(array(), count($validStatics), ''); - $line = str_replace($validStatics, $replacements, $line); - - return strpos($line, '::') !== false; - -} -function pr($msg) -{ - echo $msg."\n"; -} -?> From 5dfa1b1cff14fd3952d749948f04d6b2b3fbcac4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=B5nis=20Ormisson?= Date: Thu, 11 Jan 2018 10:33:12 +0200 Subject: [PATCH 09/84] fix installationtest --- .../admin/InstallationControllerTest.php | 208 ++++++++++++++---- 1 file changed, 163 insertions(+), 45 deletions(-) diff --git a/tests/acceptance/admin/InstallationControllerTest.php b/tests/acceptance/admin/InstallationControllerTest.php index f630b58f6d6..c3f9b696c5a 100644 --- a/tests/acceptance/admin/InstallationControllerTest.php +++ b/tests/acceptance/admin/InstallationControllerTest.php @@ -13,63 +13,181 @@ namespace LimeSurvey\tests\acceptance\admin; -use Facebook\WebDriver\WebDriverBy; -use LimeSurvey\tests\TestBaseClassWeb; +use LimeSurvey\tests\DummyController; +use LimeSurvey\tests\TestBaseClass; /** - * @since 2017-10-15 - * @group tempcontr - * @group template + * @since 2017-11-24 + * @group inst */ -class TemplateControllerTest extends TestBaseClass +class InstallationControllerTest extends TestBaseClassWeb { /** - * Test copy a template. - * @group copytemplate + * */ - public function testCopyTemplate() + public static function setupBeforeClass() { - \Yii::app()->session['loginID'] = 1; - \Yii::import('application.controllers.admin.themes', true); - \Yii::import('application.helpers.globalsettings_helper', true); - // Clean up from last test. - $templateName = 'foobartest'; - \TemplateConfiguration::uninstall($templateName); - \Template::model()->deleteAll('name = \'foobartest\''); - \Permission::model()->deleteAllByAttributes(array('permission' => $templateName,'entity' => 'template')); - // Remove folder from last test. - $newname = 'foobartest'; - $newdirname = \Yii::app()->getConfig('userthemerootdir') . "/" . $newname; - if (file_exists($newdirname)) { - exec('rm -r ' . $newdirname); + // NB: Does not call parent, because there might not + // be a database (happens if this test is run multiple + // times with failures). + self::$testHelper = new TestHelper(); + self::$webDriver = self::$testHelper->getWebDriver(); + self::$domain = getenv('DOMAIN'); + } + /** + * + */ + public static function teardownAfterClass() + { + $configFile = \Yii::app()->getBasePath() . '/config/config.php'; + if (file_exists($configFile)) { + self::$testHelper->connectToOriginalDatabase(); } - $config = require(\Yii::app()->getBasePath() . '/config/config-defaults.php'); - // Simulate a POST. - $_POST['newname'] = $newname; - // NB: If default theme is not installed, this test will fail. - $_POST['copydir'] = $config['defaulttheme']; - $_SERVER['SERVER_NAME'] = 'localhost'; - $contr = new \themes(new \ls\tests\DummyController('dummyid')); - $contr->templatecopy(); - $flashes = \Yii::app()->user->getFlashes(); - $this->assertEmpty($flashes, 'No flash messages'); - $template = \Template::model()->find( - sprintf( - 'name = \'%s\'', - $templateName - ) - ); - $this->assertNotEmpty($template); - $this->assertEquals($templateName, $template->name); - // Clean up. - \Template::model()->deleteAll('name = \'foobartest\''); } /** - * @todo Copy template folder that does not exist. + * + * @throws \CException */ - /* - public function testCopyWrongFolder() + public function testBasic() { + //$this->checkFolders(); + $configFile = \Yii::app()->getBasePath() . '/config/config.php'; + $databaseName = 'limesurvey'; + $username = getenv('ADMINUSERNAME'); + if (!$username) { + $username = 'admin'; + } + $password = getenv('PASSWORD'); + if (!$password) { + $password = 'password'; + } + $dbuser = getenv('DBUSER'); + if (!$dbuser) { + $dbuser = 'root'; + echo 'Default to database user "root". Use DBUSER=... from command-line to override this.' . PHP_EOL; + } + $dbpwd = getenv('DBPASSWORD'); + if (!$dbpwd) { + $dbpwd = ''; + echo 'Default to empty database password. Use DBPASSWORD=... from command-line to override this.' . PHP_EOL; + } + if (file_exists($configFile)) { + // Delete possible previous database. + try { + $dbo = \Yii::app()->getDb(); + $dbo->createCommand('DROP DATABASE ' . $databaseName)->execute(); + } catch (\CDbException $ex) { + $msg = $ex->getMessage(); + // Only this error is OK. + self::assertTrue( + strpos($msg, "database doesn't exist") !== false, + 'Could drop database. Error message: ' . $msg + ); + } + // Remove config.php if present. + $result = unlink($configFile); + $this->assertTrue($result, 'Could unlink config.php'); + } + // Run installer. + $urlMan = \Yii::app()->urlManager; + $urlMan->setBaseUrl('http://' . self::$domain . '/index.php'); + $url = $urlMan->createUrl(''); + try { + // Installer start page. + self::$webDriver->get($url); + // Click "Start installation". + $start = self::$webDriver->findElement(WebDriverBy::id('ls-start-installation')); + $start->click(); + // Accept license. + $accept = self::$webDriver->findElement(WebDriverBy::id('ls-accept-license')); + $accept->click(); + // Click next at pre-check. + $next = self::$webDriver->findElement(WebDriverBy::id('ls-next')); + $next->click(); + // Fill in database form. + $dbuserDbType = self::$webDriver->findElement(WebDriverBy::cssSelector('select[name="InstallerConfigForm[dbtype]"] option[value="mysql"]')); + $dbuserInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbuser]"]')); + $dbpwdInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbpwd]"]')); + $dbnameInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbname]"]')); + + $dbuserDbType->click(); + $dbuserInput->clear()->sendKeys($dbuser); + $dbpwdInput->clear()->sendKeys($dbpwd); + $dbnameInput->sendKeys($databaseName); + // Click next. + $next = self::$webDriver->findElement(WebDriverBy::id('ls-next')); + $next->click(); + // Click "Create database". + $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); + $button->click(); + // Click "Populate". + $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); + $button->click(); + // Fill in admin username/password. + $adminLoginName = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[adminLoginName]"]')); + $adminLoginPwd = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[adminLoginPwd]"]')); + $confirmPwd = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[confirmPwd]"]')); + $adminLoginName->clear()->sendKeys($username); + $adminLoginPwd->clear()->sendKeys($password); + $confirmPwd->clear()->sendKeys($password); + // Confirm optional settings (admin password etc). + $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); + $button->click(); + // Go to administration. + $button = self::$webDriver->findElement(WebDriverBy::id('ls-administration')); + $button->click(); + // Set debug=2 + /* TODO: Can't write to config.php after installation. + $configFile = \Yii::app()->getBasePath() . '/config/config.php'; + $data = file($configFile); + $data = array_map(function($data) { + return stristr($data, "'debug'=>0") ? "'debug'=>2," : $data; + }, $data); + $output = []; + exec('chmod 777 ' . $configFile, $output); + var_dump($output); + $result = file_put_contents($configFile, implode('', $data)); + $this->assertTrue($result > 0, 'Wrote config'); + */ + // Reset urlManager to adapt to latest config. + $config = require($configFile); + $urlMan = \Yii::app()->urlManager; + $urlMan->setUrlFormat($config['components']['urlManager']['urlFormat']); + // Login. + self::adminLogin($username, $password); + } catch (NoSuchElementException $ex) { + self::$testHelper->takeScreenshot(self::$webDriver, (new \ReflectionClass($this))->getShortName() . '_' . __FUNCTION__); + $this->assertFalse( + true, + self::$testHelper->javaTrace($ex) + ); + } } + /** + * Check that upload/tmp folders are writable. + * @todo Does not work. */ + public function checkFolders() + { + $instContr = new \InstallerController('dummyvalue'); + $data = []; + $folder = \Yii::app()->getConfig('tempdir') . '/'; + $tempdirIsWritable = $instContr->checkDirectoryWriteable( + $folder, + $data, + 'tmpdir', + 'tperror', + true + ); + $this->assertTrue($tempdirIsWritable, 'Can write to tmp/'); + $folder = \Yii::app()->getConfig('uploaddir') . '/'; + $uploadIsWritable = $instContr->checkDirectoryWriteable( + $folder, + $data, + 'uploaddir', + 'uerror', + true + ); + $this->assertTrue($uploadIsWritable, 'Can write to upload/'); + } } \ No newline at end of file From 3b0a06a1ca9f834067569b6d09e91a7424f8b33d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=B5nis=20Ormisson?= Date: Thu, 11 Jan 2018 10:35:41 +0200 Subject: [PATCH 10/84] fix installationtest 2 --- tests/acceptance/admin/InstallationControllerTest.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/acceptance/admin/InstallationControllerTest.php b/tests/acceptance/admin/InstallationControllerTest.php index c3f9b696c5a..5e2148a9b47 100644 --- a/tests/acceptance/admin/InstallationControllerTest.php +++ b/tests/acceptance/admin/InstallationControllerTest.php @@ -13,8 +13,7 @@ namespace LimeSurvey\tests\acceptance\admin; -use LimeSurvey\tests\DummyController; -use LimeSurvey\tests\TestBaseClass; +use LimeSurvey\tests\TestBaseClassWeb; /** * @since 2017-11-24 From 32d53d334908b60a6cadb1836f20f44b3152926d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=B5nis=20Ormisson?= Date: Thu, 11 Jan 2018 10:38:14 +0200 Subject: [PATCH 11/84] fix installationtest imports --- tests/acceptance/admin/InstallationControllerTest.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/acceptance/admin/InstallationControllerTest.php b/tests/acceptance/admin/InstallationControllerTest.php index 5e2148a9b47..c1d7d431736 100644 --- a/tests/acceptance/admin/InstallationControllerTest.php +++ b/tests/acceptance/admin/InstallationControllerTest.php @@ -14,6 +14,9 @@ namespace LimeSurvey\tests\acceptance\admin; use LimeSurvey\tests\TestBaseClassWeb; +use LimeSurvey\tests\TestHelper; +use Facebook\WebDriver\WebDriverBy; +use Facebook\WebDriver\Exception\NoSuchElementException; /** * @since 2017-11-24 From 2dd02fe6242ae616ad4218e4496b4541902145e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=B5nis=20Ormisson?= Date: Thu, 11 Jan 2018 10:45:19 +0200 Subject: [PATCH 12/84] fix paths --- tests/acceptance/surveys/GroupRandomizationTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/acceptance/surveys/GroupRandomizationTest.php b/tests/acceptance/surveys/GroupRandomizationTest.php index c956ff06e50..dc1b574afbe 100644 --- a/tests/acceptance/surveys/GroupRandomizationTest.php +++ b/tests/acceptance/surveys/GroupRandomizationTest.php @@ -34,7 +34,7 @@ public static function setupBeforeClass() parent::setupBeforeClass(); self::$testHelper->connectToOriginalDatabase(); \Yii::app()->session['loginID'] = 1; - $surveyFile = __DIR__ . '/../data/surveys/limesurvey_survey_88881.lss'; + $surveyFile = self::getSurveysFolder().'/limesurvey_survey_88881.lss'; if (!file_exists($surveyFile)) { echo 'Fatal error: found no survey file'; exit(4); From 201d4152d3a9061b50551622aa88a8a7844b606c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=B5nis=20Ormisson?= Date: Thu, 11 Jan 2018 10:53:16 +0200 Subject: [PATCH 13/84] fix paths 2 --- tests/TestHelper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/TestHelper.php b/tests/TestHelper.php index d6d1792b60c..19b27e9e908 100644 --- a/tests/TestHelper.php +++ b/tests/TestHelper.php @@ -215,7 +215,7 @@ public function updateDbFromVersion($version, $connection = null) $inst = new \InstallerController('foobar'); $inst->connection = $connection; // Check SQL file. - $file = __DIR__ . '/data/sql/create-mysql.' . $version . '.sql'; + $file = TestBaseClass::getDataFolder().'/sql/create-mysql.' . $version . '.sql'; $this->assertFileExists($file, 'SQL file exists: ' . $file); // Run SQL install file. $result = $inst->_executeSQLFile($file, 'lime_'); From e80d2d3f530c2b20809e4f83697f66e8ed5d5c96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=B5nis=20Ormisson?= Date: Thu, 11 Jan 2018 11:15:34 +0200 Subject: [PATCH 14/84] resoleve conflict on installationTest --- .../admin/InstallationControllerTest.php | 42 ++++++++++++------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/tests/acceptance/admin/InstallationControllerTest.php b/tests/acceptance/admin/InstallationControllerTest.php index c1d7d431736..a814c263950 100644 --- a/tests/acceptance/admin/InstallationControllerTest.php +++ b/tests/acceptance/admin/InstallationControllerTest.php @@ -1,22 +1,11 @@ getWebDriver(); self::$domain = getenv('DOMAIN'); } + /** * */ @@ -46,6 +36,7 @@ public static function teardownAfterClass() self::$testHelper->connectToOriginalDatabase(); } } + /** * * @throws \CException @@ -53,8 +44,10 @@ public static function teardownAfterClass() public function testBasic() { //$this->checkFolders(); + $configFile = \Yii::app()->getBasePath() . '/config/config.php'; $databaseName = 'limesurvey'; + $username = getenv('ADMINUSERNAME'); if (!$username) { $username = 'admin'; @@ -63,6 +56,7 @@ public function testBasic() if (!$password) { $password = 'password'; } + $dbuser = getenv('DBUSER'); if (!$dbuser) { $dbuser = 'root'; @@ -73,6 +67,7 @@ public function testBasic() $dbpwd = ''; echo 'Default to empty database password. Use DBPASSWORD=... from command-line to override this.' . PHP_EOL; } + if (file_exists($configFile)) { // Delete possible previous database. try { @@ -86,26 +81,34 @@ public function testBasic() 'Could drop database. Error message: ' . $msg ); } + // Remove config.php if present. $result = unlink($configFile); $this->assertTrue($result, 'Could unlink config.php'); } + // Run installer. $urlMan = \Yii::app()->urlManager; $urlMan->setBaseUrl('http://' . self::$domain . '/index.php'); $url = $urlMan->createUrl(''); + try { + // Installer start page. self::$webDriver->get($url); + // Click "Start installation". $start = self::$webDriver->findElement(WebDriverBy::id('ls-start-installation')); $start->click(); + // Accept license. $accept = self::$webDriver->findElement(WebDriverBy::id('ls-accept-license')); $accept->click(); + // Click next at pre-check. $next = self::$webDriver->findElement(WebDriverBy::id('ls-next')); $next->click(); + // Fill in database form. $dbuserDbType = self::$webDriver->findElement(WebDriverBy::cssSelector('select[name="InstallerConfigForm[dbtype]"] option[value="mysql"]')); $dbuserInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbuser]"]')); @@ -116,15 +119,19 @@ public function testBasic() $dbuserInput->clear()->sendKeys($dbuser); $dbpwdInput->clear()->sendKeys($dbpwd); $dbnameInput->sendKeys($databaseName); + // Click next. $next = self::$webDriver->findElement(WebDriverBy::id('ls-next')); $next->click(); + // Click "Create database". $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); $button->click(); + // Click "Populate". $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); $button->click(); + // Fill in admin username/password. $adminLoginName = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[adminLoginName]"]')); $adminLoginPwd = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[adminLoginPwd]"]')); @@ -132,12 +139,15 @@ public function testBasic() $adminLoginName->clear()->sendKeys($username); $adminLoginPwd->clear()->sendKeys($password); $confirmPwd->clear()->sendKeys($password); + // Confirm optional settings (admin password etc). $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); $button->click(); + // Go to administration. $button = self::$webDriver->findElement(WebDriverBy::id('ls-administration')); $button->click(); + // Set debug=2 /* TODO: Can't write to config.php after installation. $configFile = \Yii::app()->getBasePath() . '/config/config.php'; @@ -151,10 +161,12 @@ public function testBasic() $result = file_put_contents($configFile, implode('', $data)); $this->assertTrue($result > 0, 'Wrote config'); */ + // Reset urlManager to adapt to latest config. $config = require($configFile); $urlMan = \Yii::app()->urlManager; $urlMan->setUrlFormat($config['components']['urlManager']['urlFormat']); + // Login. self::adminLogin($username, $password); } catch (NoSuchElementException $ex) { @@ -165,6 +177,7 @@ public function testBasic() ); } } + /** * Check that upload/tmp folders are writable. * @todo Does not work. @@ -182,6 +195,7 @@ public function checkFolders() true ); $this->assertTrue($tempdirIsWritable, 'Can write to tmp/'); + $folder = \Yii::app()->getConfig('uploaddir') . '/'; $uploadIsWritable = $instContr->checkDirectoryWriteable( $folder, @@ -192,4 +206,4 @@ public function checkFolders() ); $this->assertTrue($uploadIsWritable, 'Can write to upload/'); } -} \ No newline at end of file +} From ab69d9625a9796dc52b33edc53b511fc41d77163 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=B5nis=20Ormisson?= Date: Thu, 11 Jan 2018 11:25:06 +0200 Subject: [PATCH 15/84] resolve conflict on installationTest huh? --- .../InstallationControllerTest.php | 206 ++++++++++++++++++ 1 file changed, 206 insertions(+) create mode 100644 tests/controllers/InstallationControllerTest.php diff --git a/tests/controllers/InstallationControllerTest.php b/tests/controllers/InstallationControllerTest.php new file mode 100644 index 00000000000..c5ab66179de --- /dev/null +++ b/tests/controllers/InstallationControllerTest.php @@ -0,0 +1,206 @@ +getWebDriver(); + self::$domain = getenv('DOMAIN'); + } + + /** + * + */ + public static function teardownAfterClass() + { + $configFile = \Yii::app()->getBasePath() . '/config/config.php'; + if (file_exists($configFile)) { + self::$testHelper->connectToOriginalDatabase(); + } + } + + /** + * + * @throws \CException + */ + public function testBasic() + { + //$this->checkFolders(); + + $configFile = \Yii::app()->getBasePath() . '/config/config.php'; + $databaseName = 'limesurvey'; + + $username = getenv('ADMINUSERNAME'); + if (!$username) { + $username = 'admin'; + } + $password = getenv('PASSWORD'); + if (!$password) { + $password = 'password'; + } + + $dbuser = getenv('DBUSER'); + if (!$dbuser) { + $dbuser = 'root'; + echo 'Default to database user "root". Use DBUSER=... from command-line to override this.' . PHP_EOL; + } + $dbpwd = getenv('DBPASSWORD'); + if (!$dbpwd) { + $dbpwd = ''; + echo 'Default to empty database password. Use DBPASSWORD=... from command-line to override this.' . PHP_EOL; + } + + if (file_exists($configFile)) { + // Delete possible previous database. + try { + $dbo = \Yii::app()->getDb(); + $dbo->createCommand('DROP DATABASE ' . $databaseName)->execute(); + } catch (\CDbException $ex) { + $msg = $ex->getMessage(); + // Only this error is OK. + self::assertTrue( + strpos($msg, "database doesn't exist") !== false, + 'Could drop database. Error message: ' . $msg + ); + } + + // Remove config.php if present. + $result = unlink($configFile); + $this->assertTrue($result, 'Could unlink config.php'); + } + + // Run installer. + $urlMan = \Yii::app()->urlManager; + $urlMan->setBaseUrl('http://' . self::$domain . '/index.php'); + $url = $urlMan->createUrl(''); + + try { + + // Installer start page. + self::$webDriver->get($url); + + // Click "Start installation". + $start = self::$webDriver->findElement(WebDriverBy::id('ls-start-installation')); + $start->click(); + + // Accept license. + $accept = self::$webDriver->findElement(WebDriverBy::id('ls-accept-license')); + $accept->click(); + + // Click next at pre-check. + $next = self::$webDriver->findElement(WebDriverBy::id('ls-next')); + $next->click(); + + // Fill in database form. + $dbuserDbType = self::$webDriver->findElement(WebDriverBy::cssSelector('select[name="InstallerConfigForm[dbtype]"] option[value="mysql"]')); + $dbuserInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbuser]"]')); + $dbpwdInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbpwd]"]')); + $dbnameInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbname]"]')); + + $dbuserDbType->click(); + $dbuserInput->clear()->sendKeys($dbuser); + $dbpwdInput->clear()->sendKeys($dbpwd); + $dbnameInput->sendKeys($databaseName); + + // Click next. + $next = self::$webDriver->findElement(WebDriverBy::id('ls-next')); + $next->click(); + + // Click "Create database". + $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); + $button->click(); + + // Click "Populate". + $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); + $button->click(); + + // Fill in admin username/password. + $adminLoginName = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[adminLoginName]"]')); + $adminLoginPwd = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[adminLoginPwd]"]')); + $confirmPwd = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[confirmPwd]"]')); + $adminLoginName->clear()->sendKeys($username); + $adminLoginPwd->clear()->sendKeys($password); + $confirmPwd->clear()->sendKeys($password); + + // Confirm optional settings (admin password etc). + $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); + $button->click(); + + // Go to administration. + $button = self::$webDriver->findElement(WebDriverBy::id('ls-administration')); + $button->click(); + + // Set debug=2 + /* TODO: Can't write to config.php after installation. + $configFile = \Yii::app()->getBasePath() . '/config/config.php'; + $data = file($configFile); + $data = array_map(function($data) { + return stristr($data, "'debug'=>0") ? "'debug'=>2," : $data; + }, $data); + $output = []; + exec('chmod 777 ' . $configFile, $output); + var_dump($output); + $result = file_put_contents($configFile, implode('', $data)); + $this->assertTrue($result > 0, 'Wrote config'); + */ + + // Reset urlManager to adapt to latest config. + $config = require($configFile); + $urlMan = \Yii::app()->urlManager; + $urlMan->setUrlFormat($config['components']['urlManager']['urlFormat']); + + // Login. + self::adminLogin($username, $password); + } catch (NoSuchElementException $ex) { + self::$testHelper->takeScreenshot(self::$webDriver, (new \ReflectionClass($this))->getShortName() . '_' . __FUNCTION__); + $this->assertFalse( + true, + self::$testHelper->javaTrace($ex) + ); + } + } + + /** + * Check that upload/tmp folders are writable. + * @todo Does not work. + */ + public function checkFolders() + { + $instContr = new \InstallerController('dummyvalue'); + $data = []; + $folder = \Yii::app()->getConfig('tempdir') . '/'; + $tempdirIsWritable = $instContr->checkDirectoryWriteable( + $folder, + $data, + 'tmpdir', + 'tperror', + true + ); + $this->assertTrue($tempdirIsWritable, 'Can write to tmp/'); + + $folder = \Yii::app()->getConfig('uploaddir') . '/'; + $uploadIsWritable = $instContr->checkDirectoryWriteable( + $folder, + $data, + 'uploaddir', + 'uerror', + true + ); + $this->assertTrue($uploadIsWritable, 'Can write to upload/'); + } +} From d46f6a89f985b315c7c24293aa6c6d5022db122c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=B5nis=20Ormisson?= Date: Thu, 11 Jan 2018 11:27:17 +0200 Subject: [PATCH 16/84] resolve conflict on installationTest clean old test --- .../InstallationControllerTest.php | 195 +----------------- 1 file changed, 1 insertion(+), 194 deletions(-) diff --git a/tests/controllers/InstallationControllerTest.php b/tests/controllers/InstallationControllerTest.php index c5ab66179de..5297590513c 100644 --- a/tests/controllers/InstallationControllerTest.php +++ b/tests/controllers/InstallationControllerTest.php @@ -8,199 +8,6 @@ * @since 2017-11-24 * @group inst */ -class InstallationControllerTest extends TestBaseClassWeb +class InstallationControllerTest { - /** - * - */ - public static function setupBeforeClass() - { - // NB: Does not call parent, because there might not - // be a database (happens if this test is run multiple - // times with failures). - self::$testHelper = new TestHelper(); - self::$webDriver = self::$testHelper->getWebDriver(); - self::$domain = getenv('DOMAIN'); - } - - /** - * - */ - public static function teardownAfterClass() - { - $configFile = \Yii::app()->getBasePath() . '/config/config.php'; - if (file_exists($configFile)) { - self::$testHelper->connectToOriginalDatabase(); - } - } - - /** - * - * @throws \CException - */ - public function testBasic() - { - //$this->checkFolders(); - - $configFile = \Yii::app()->getBasePath() . '/config/config.php'; - $databaseName = 'limesurvey'; - - $username = getenv('ADMINUSERNAME'); - if (!$username) { - $username = 'admin'; - } - $password = getenv('PASSWORD'); - if (!$password) { - $password = 'password'; - } - - $dbuser = getenv('DBUSER'); - if (!$dbuser) { - $dbuser = 'root'; - echo 'Default to database user "root". Use DBUSER=... from command-line to override this.' . PHP_EOL; - } - $dbpwd = getenv('DBPASSWORD'); - if (!$dbpwd) { - $dbpwd = ''; - echo 'Default to empty database password. Use DBPASSWORD=... from command-line to override this.' . PHP_EOL; - } - - if (file_exists($configFile)) { - // Delete possible previous database. - try { - $dbo = \Yii::app()->getDb(); - $dbo->createCommand('DROP DATABASE ' . $databaseName)->execute(); - } catch (\CDbException $ex) { - $msg = $ex->getMessage(); - // Only this error is OK. - self::assertTrue( - strpos($msg, "database doesn't exist") !== false, - 'Could drop database. Error message: ' . $msg - ); - } - - // Remove config.php if present. - $result = unlink($configFile); - $this->assertTrue($result, 'Could unlink config.php'); - } - - // Run installer. - $urlMan = \Yii::app()->urlManager; - $urlMan->setBaseUrl('http://' . self::$domain . '/index.php'); - $url = $urlMan->createUrl(''); - - try { - - // Installer start page. - self::$webDriver->get($url); - - // Click "Start installation". - $start = self::$webDriver->findElement(WebDriverBy::id('ls-start-installation')); - $start->click(); - - // Accept license. - $accept = self::$webDriver->findElement(WebDriverBy::id('ls-accept-license')); - $accept->click(); - - // Click next at pre-check. - $next = self::$webDriver->findElement(WebDriverBy::id('ls-next')); - $next->click(); - - // Fill in database form. - $dbuserDbType = self::$webDriver->findElement(WebDriverBy::cssSelector('select[name="InstallerConfigForm[dbtype]"] option[value="mysql"]')); - $dbuserInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbuser]"]')); - $dbpwdInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbpwd]"]')); - $dbnameInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbname]"]')); - - $dbuserDbType->click(); - $dbuserInput->clear()->sendKeys($dbuser); - $dbpwdInput->clear()->sendKeys($dbpwd); - $dbnameInput->sendKeys($databaseName); - - // Click next. - $next = self::$webDriver->findElement(WebDriverBy::id('ls-next')); - $next->click(); - - // Click "Create database". - $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); - $button->click(); - - // Click "Populate". - $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); - $button->click(); - - // Fill in admin username/password. - $adminLoginName = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[adminLoginName]"]')); - $adminLoginPwd = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[adminLoginPwd]"]')); - $confirmPwd = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[confirmPwd]"]')); - $adminLoginName->clear()->sendKeys($username); - $adminLoginPwd->clear()->sendKeys($password); - $confirmPwd->clear()->sendKeys($password); - - // Confirm optional settings (admin password etc). - $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); - $button->click(); - - // Go to administration. - $button = self::$webDriver->findElement(WebDriverBy::id('ls-administration')); - $button->click(); - - // Set debug=2 - /* TODO: Can't write to config.php after installation. - $configFile = \Yii::app()->getBasePath() . '/config/config.php'; - $data = file($configFile); - $data = array_map(function($data) { - return stristr($data, "'debug'=>0") ? "'debug'=>2," : $data; - }, $data); - $output = []; - exec('chmod 777 ' . $configFile, $output); - var_dump($output); - $result = file_put_contents($configFile, implode('', $data)); - $this->assertTrue($result > 0, 'Wrote config'); - */ - - // Reset urlManager to adapt to latest config. - $config = require($configFile); - $urlMan = \Yii::app()->urlManager; - $urlMan->setUrlFormat($config['components']['urlManager']['urlFormat']); - - // Login. - self::adminLogin($username, $password); - } catch (NoSuchElementException $ex) { - self::$testHelper->takeScreenshot(self::$webDriver, (new \ReflectionClass($this))->getShortName() . '_' . __FUNCTION__); - $this->assertFalse( - true, - self::$testHelper->javaTrace($ex) - ); - } - } - - /** - * Check that upload/tmp folders are writable. - * @todo Does not work. - */ - public function checkFolders() - { - $instContr = new \InstallerController('dummyvalue'); - $data = []; - $folder = \Yii::app()->getConfig('tempdir') . '/'; - $tempdirIsWritable = $instContr->checkDirectoryWriteable( - $folder, - $data, - 'tmpdir', - 'tperror', - true - ); - $this->assertTrue($tempdirIsWritable, 'Can write to tmp/'); - - $folder = \Yii::app()->getConfig('uploaddir') . '/'; - $uploadIsWritable = $instContr->checkDirectoryWriteable( - $folder, - $data, - 'uploaddir', - 'uerror', - true - ); - $this->assertTrue($uploadIsWritable, 'Can write to upload/'); - } } From 6e454625cd824d51c84df947112acacef95bc04e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=B5nis=20Ormisson?= Date: Thu, 11 Jan 2018 11:28:12 +0200 Subject: [PATCH 17/84] resolve conflict on installationTest put back old test --- .../InstallationControllerTest.php | 195 +++++++++++++++++- 1 file changed, 194 insertions(+), 1 deletion(-) diff --git a/tests/controllers/InstallationControllerTest.php b/tests/controllers/InstallationControllerTest.php index 5297590513c..c5ab66179de 100644 --- a/tests/controllers/InstallationControllerTest.php +++ b/tests/controllers/InstallationControllerTest.php @@ -8,6 +8,199 @@ * @since 2017-11-24 * @group inst */ -class InstallationControllerTest +class InstallationControllerTest extends TestBaseClassWeb { + /** + * + */ + public static function setupBeforeClass() + { + // NB: Does not call parent, because there might not + // be a database (happens if this test is run multiple + // times with failures). + self::$testHelper = new TestHelper(); + self::$webDriver = self::$testHelper->getWebDriver(); + self::$domain = getenv('DOMAIN'); + } + + /** + * + */ + public static function teardownAfterClass() + { + $configFile = \Yii::app()->getBasePath() . '/config/config.php'; + if (file_exists($configFile)) { + self::$testHelper->connectToOriginalDatabase(); + } + } + + /** + * + * @throws \CException + */ + public function testBasic() + { + //$this->checkFolders(); + + $configFile = \Yii::app()->getBasePath() . '/config/config.php'; + $databaseName = 'limesurvey'; + + $username = getenv('ADMINUSERNAME'); + if (!$username) { + $username = 'admin'; + } + $password = getenv('PASSWORD'); + if (!$password) { + $password = 'password'; + } + + $dbuser = getenv('DBUSER'); + if (!$dbuser) { + $dbuser = 'root'; + echo 'Default to database user "root". Use DBUSER=... from command-line to override this.' . PHP_EOL; + } + $dbpwd = getenv('DBPASSWORD'); + if (!$dbpwd) { + $dbpwd = ''; + echo 'Default to empty database password. Use DBPASSWORD=... from command-line to override this.' . PHP_EOL; + } + + if (file_exists($configFile)) { + // Delete possible previous database. + try { + $dbo = \Yii::app()->getDb(); + $dbo->createCommand('DROP DATABASE ' . $databaseName)->execute(); + } catch (\CDbException $ex) { + $msg = $ex->getMessage(); + // Only this error is OK. + self::assertTrue( + strpos($msg, "database doesn't exist") !== false, + 'Could drop database. Error message: ' . $msg + ); + } + + // Remove config.php if present. + $result = unlink($configFile); + $this->assertTrue($result, 'Could unlink config.php'); + } + + // Run installer. + $urlMan = \Yii::app()->urlManager; + $urlMan->setBaseUrl('http://' . self::$domain . '/index.php'); + $url = $urlMan->createUrl(''); + + try { + + // Installer start page. + self::$webDriver->get($url); + + // Click "Start installation". + $start = self::$webDriver->findElement(WebDriverBy::id('ls-start-installation')); + $start->click(); + + // Accept license. + $accept = self::$webDriver->findElement(WebDriverBy::id('ls-accept-license')); + $accept->click(); + + // Click next at pre-check. + $next = self::$webDriver->findElement(WebDriverBy::id('ls-next')); + $next->click(); + + // Fill in database form. + $dbuserDbType = self::$webDriver->findElement(WebDriverBy::cssSelector('select[name="InstallerConfigForm[dbtype]"] option[value="mysql"]')); + $dbuserInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbuser]"]')); + $dbpwdInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbpwd]"]')); + $dbnameInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbname]"]')); + + $dbuserDbType->click(); + $dbuserInput->clear()->sendKeys($dbuser); + $dbpwdInput->clear()->sendKeys($dbpwd); + $dbnameInput->sendKeys($databaseName); + + // Click next. + $next = self::$webDriver->findElement(WebDriverBy::id('ls-next')); + $next->click(); + + // Click "Create database". + $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); + $button->click(); + + // Click "Populate". + $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); + $button->click(); + + // Fill in admin username/password. + $adminLoginName = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[adminLoginName]"]')); + $adminLoginPwd = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[adminLoginPwd]"]')); + $confirmPwd = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[confirmPwd]"]')); + $adminLoginName->clear()->sendKeys($username); + $adminLoginPwd->clear()->sendKeys($password); + $confirmPwd->clear()->sendKeys($password); + + // Confirm optional settings (admin password etc). + $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); + $button->click(); + + // Go to administration. + $button = self::$webDriver->findElement(WebDriverBy::id('ls-administration')); + $button->click(); + + // Set debug=2 + /* TODO: Can't write to config.php after installation. + $configFile = \Yii::app()->getBasePath() . '/config/config.php'; + $data = file($configFile); + $data = array_map(function($data) { + return stristr($data, "'debug'=>0") ? "'debug'=>2," : $data; + }, $data); + $output = []; + exec('chmod 777 ' . $configFile, $output); + var_dump($output); + $result = file_put_contents($configFile, implode('', $data)); + $this->assertTrue($result > 0, 'Wrote config'); + */ + + // Reset urlManager to adapt to latest config. + $config = require($configFile); + $urlMan = \Yii::app()->urlManager; + $urlMan->setUrlFormat($config['components']['urlManager']['urlFormat']); + + // Login. + self::adminLogin($username, $password); + } catch (NoSuchElementException $ex) { + self::$testHelper->takeScreenshot(self::$webDriver, (new \ReflectionClass($this))->getShortName() . '_' . __FUNCTION__); + $this->assertFalse( + true, + self::$testHelper->javaTrace($ex) + ); + } + } + + /** + * Check that upload/tmp folders are writable. + * @todo Does not work. + */ + public function checkFolders() + { + $instContr = new \InstallerController('dummyvalue'); + $data = []; + $folder = \Yii::app()->getConfig('tempdir') . '/'; + $tempdirIsWritable = $instContr->checkDirectoryWriteable( + $folder, + $data, + 'tmpdir', + 'tperror', + true + ); + $this->assertTrue($tempdirIsWritable, 'Can write to tmp/'); + + $folder = \Yii::app()->getConfig('uploaddir') . '/'; + $uploadIsWritable = $instContr->checkDirectoryWriteable( + $folder, + $data, + 'uploaddir', + 'uerror', + true + ); + $this->assertTrue($uploadIsWritable, 'Can write to upload/'); + } } From a7a00e1de63e94edebbcd745b4077bb096f05f56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=B5nis=20Ormisson?= Date: Thu, 11 Jan 2018 11:28:52 +0200 Subject: [PATCH 18/84] resolve conflict on installationTest put back old test --- tests/controllers/InstallationControllerTest.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/controllers/InstallationControllerTest.php b/tests/controllers/InstallationControllerTest.php index c5ab66179de..452206d37ac 100644 --- a/tests/controllers/InstallationControllerTest.php +++ b/tests/controllers/InstallationControllerTest.php @@ -4,6 +4,9 @@ use Facebook\WebDriver\WebDriverBy; use Facebook\WebDriver\Exception\NoSuchElementException; +use LimeSurvey\tests\TestBaseClassWeb; +use LimeSurvey\tests\TestHelper; + /** * @since 2017-11-24 * @group inst From af3c24cb36bf859109b2d1889fdf17b9b0c88da4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=B5nis=20Ormisson?= Date: Fri, 12 Jan 2018 12:42:08 +0200 Subject: [PATCH 19/84] get ajaxtest from master --- tests/acceptance/surveys/AjaxModeTest.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/acceptance/surveys/AjaxModeTest.php b/tests/acceptance/surveys/AjaxModeTest.php index 6c905997157..2826b416a96 100644 --- a/tests/acceptance/surveys/AjaxModeTest.php +++ b/tests/acceptance/surveys/AjaxModeTest.php @@ -28,6 +28,10 @@ public static function setupBeforeClass() */ public function testAjaxModeRecordsAnswer() { + // TODO: This works when run individually, but not + // as part of the test suit. Screenshot shows it's + // stuck on welcome page. + $this->markTestSkipped(); // Get questions. $survey = \Survey::model()->findByPk(self::$surveyId); $questionObjects = $survey->groups[0]->questions; @@ -59,6 +63,11 @@ public function testAjaxModeRecordsAnswer() self::$webDriver->get($url); $nextButton = self::$webDriver->findElement(WebDriverBy::id('ls-button-submit')); $nextButton->click(); + sleep(1); + // TODO: Temporary, test fails here (but only on fresh install). + $screenshot = self::$webDriver->takeScreenshot(); + $filename = self::$screenshotsFolder.'/AjaxModeTest.png'; + file_put_contents($filename, $screenshot); // Find yes-no radio buttons, click "Yes". $items = self::$webDriver->findElements(WebDriverBy::cssSelector('ul.yesno-button li')); $this->assertCount(3, $items, 'Three radio buttons for yes-no question'); From 93ba5932b416e47fd29126ea246365bfca579f37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=B5nis=20Ormisson?= Date: Fri, 12 Jan 2018 12:45:34 +0200 Subject: [PATCH 20/84] conflict: AjaxModeTest by old structure (delete after) --- tests/surveys/AjaxModeTest.php | 130 +++++++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 tests/surveys/AjaxModeTest.php diff --git a/tests/surveys/AjaxModeTest.php b/tests/surveys/AjaxModeTest.php new file mode 100644 index 00000000000..6cba14a6b57 --- /dev/null +++ b/tests/surveys/AjaxModeTest.php @@ -0,0 +1,130 @@ +activateSurvey(self::$surveyId); + } + + /** + * Test that Ajax mode records answer. + */ + public function testAjaxModeRecordsAnswer() + { + // TODO: This works when run individually, but not + // as part of the test suit. Screenshot shows it's + // stuck on welcome page. + $this->markTestSkipped(); + + // Get questions. + $survey = \Survey::model()->findByPk(self::$surveyId); + $questionObjects = $survey->groups[0]->questions; + $questions = []; + foreach ($questionObjects as $q) { + $questions[$q->title] = $q; + } + + // Make sure there are no responses in database. + $query = sprintf( + 'SELECT * FROM {{survey_%d}}', + self::$surveyId + ); + $db = \Yii::app()->getDb(); + $rows = $db->createCommand($query)->queryAll(); + $this->assertEmpty($rows, 'No answers'); + + // Execute survey. + $urlMan = \Yii::app()->urlManager; + $urlMan->setBaseUrl('http://' . self::$domain . '/index.php'); + $url = $urlMan->createUrl( + 'survey/index', + [ + 'sid' => self::$surveyId, + 'newtest' => 'Y', + 'lang' => 'pt' + ] + ); + + try { + // Click welcome page. + self::$webDriver->get($url); + $nextButton = self::$webDriver->findElement(WebDriverBy::id('ls-button-submit')); + $nextButton->click(); + + sleep(1); + + // TODO: Temporary, test fails here (but only on fresh install). + $screenshot = self::$webDriver->takeScreenshot(); + $filename = self::$screenshotsFolder.'/AjaxModeTest.png'; + file_put_contents($filename, $screenshot); + + // Find yes-no radio buttons, click "Yes". + $items = self::$webDriver->findElements(WebDriverBy::cssSelector('ul.yesno-button li')); + $this->assertCount(3, $items, 'Three radio buttons for yes-no question'); + $items[0]->click(); + + // Check that EM is reacting. + $div = self::$webDriver->findElement(WebDriverBy::cssSelector('div#question' . $questions['q2']->qid)); + $this->assertEquals($div->getText(), 'The previous answer was FALSE'); + + // Click "No". + $items[1]->click(); + + // Check EM. + $div = self::$webDriver->findElement(WebDriverBy::cssSelector('div#question' . $questions['q2']->qid)); + $this->assertEquals($div->getText(), 'The previous answer was TRUE'); + + // Click submit. + $submitButton = self::$webDriver->findElement(WebDriverBy::id('ls-button-submit')); + $submitButton->click(); + + // Check so that we see end page. + $completed = self::$webDriver->findElement(WebDriverBy::cssSelector('div.completed-text')); + $this->assertEquals( + $completed->getText(), + "Thank you!\nYour survey responses have been recorded.", + 'I can see completed text' + ); + } catch (NoSuchElementException $ex) { + $screenshot = self::$webDriver->takeScreenshot(); + $filename = self::$screenshotsFolder.'/AjaxModeTest.png'; + file_put_contents($filename, $screenshot); + $this->assertFalse( + true, + 'Url: ' . $url . PHP_EOL . + 'Screenshot in ' .$filename . PHP_EOL . $ex->getMessage() + ); + } + + // Check answer in database. + $query = sprintf( + 'SELECT * FROM {{survey_%d}}', + self::$surveyId + ); + $rows = $db->createCommand($query)->queryAll(); + $this->assertCount(1, $rows); + $sgqa = self::$surveyId . 'X' . $survey->groups[0]->gid . 'X' . $questions['q1']->qid; + $answer = $rows[0][$sgqa]; + $this->assertEquals('N', $answer, 'Answer is "N"'); + } +} From f11c0477ae82f8ec3b4e84ac7040b35bd7b4de27 Mon Sep 17 00:00:00 2001 From: Olle Haerstedt Date: Tue, 16 Jan 2018 12:11:39 +0100 Subject: [PATCH 21/84] Dev: Vanilla should extend it self --- application/helpers/update/updatedb_helper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/helpers/update/updatedb_helper.php b/application/helpers/update/updatedb_helper.php index fb010a3d117..e41dc634f28 100644 --- a/application/helpers/update/updatedb_helper.php +++ b/application/helpers/update/updatedb_helper.php @@ -959,7 +959,7 @@ function db_upgrade_all($iOldDBVersion, $bSilent = false) [ 'extends' => 'vanilla', ], - "extends=''" + "extends = '' AND name != 'vanilla'" ); // If vanilla template is missing, install it. From bff5e7e65ab0c3104f3950b7b3e40798f26fdcf5 Mon Sep 17 00:00:00 2001 From: Olle Haerstedt Date: Tue, 16 Jan 2018 12:18:47 +0100 Subject: [PATCH 22/84] Dev: Throw exception if theme extends it self (TODO: Show alert so user can repair) --- application/models/Template.php | 23 +++++++++++++++++++- application/models/TemplateConfiguration.php | 4 +++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/application/models/Template.php b/application/models/Template.php index 3a4bda3f382..8497d15c0df 100755 --- a/application/models/Template.php +++ b/application/models/Template.php @@ -198,11 +198,15 @@ public function checkTemplate() // Check that extended template is installed. $this->checkTemplateExtends(); + // A template should not extend it self. + $this->checkExtendsItSelf(); + return true; } /** - * Returns false if any of the extended templates are not installed; otherwise true. + * Throws exception if any of the extended templates are not installed; otherwise + * returns true. * @return boolean * @throws Exception if extended template is not installed. */ @@ -222,6 +226,23 @@ public function checkTemplateExtends() return true; } + /** + * @return boolean + * @throws Exception if name equals extends. + */ + public function checkExtendsItSelf() + { + if ($this->name == $this->extends) { + throw new Exception( + sprintf( + 'Error: The template %s extends it self', + $this->name + ) + ); + } + return true; + } + /** * Check if a given Template has a valid XML File * @TODO: check api version diff --git a/application/models/TemplateConfiguration.php b/application/models/TemplateConfiguration.php index 4d8aea3074e..23b0864d07d 100755 --- a/application/models/TemplateConfiguration.php +++ b/application/models/TemplateConfiguration.php @@ -751,7 +751,9 @@ protected function setMotherTemplates() { if (!empty($this->template->extends)) { $sMotherTemplateName = $this->template->extends; - $this->oMotherTemplate = TemplateConfiguration::getInstanceFromTemplateName($sMotherTemplateName)->prepareTemplateRendering($sMotherTemplateName, null); + $instance = TemplateConfiguration::getInstanceFromTemplateName($sMotherTemplateName); + $instance->template->checkTemplate(); + $this->oMotherTemplate = $instance->prepareTemplateRendering($sMotherTemplateName, null); } } From 5ccb2374071c574832bbcf268ea2e92d22e6fffa Mon Sep 17 00:00:00 2001 From: Carsten Schmitz Date: Tue, 16 Jan 2018 12:25:57 +0100 Subject: [PATCH 23/84] Dev Updated updater version --- application/config/updater_version.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/config/updater_version.php b/application/config/updater_version.php index 8e85f377f7c..8bfe90c4d82 100644 --- a/application/config/updater_version.php +++ b/application/config/updater_version.php @@ -15,7 +15,7 @@ // THIS FILE SHOULD NOT BE CHANGED MANUALLY ! -$config['updaterversion'] = 6; +$config['updaterversion'] = 8; $config['comfort_update_server_url'] = 'comfortupdate.limesurvey.org/'; //$config['comfort_update_server_url'] = 'web.comfortupdate.org/'; $config['comfort_update_server_ssl'] = 0; From 450031dc87d6b810d29fe1d47d7751f8019e854b Mon Sep 17 00:00:00 2001 From: LimeSurvey Translations Bot Date: Tue, 16 Jan 2018 12:32:45 +0100 Subject: [PATCH 24/84] =?UTF-8?q?Updated=20translation:=20Catalan=20by=20q?= =?UTF-8?q?ualitatuvic=20Updated=20translation:=20Spanish=20(Spain)=20by?= =?UTF-8?q?=20aesteban=20Updated=20translation:=20Hungarian=20by=20kkd=20U?= =?UTF-8?q?pdated=20translation:=20Italian=20by=20lfanfoni=20Updated=20tra?= =?UTF-8?q?nslation:=20Norwegian=20(Bokm=C3=A5l)=20by=20pmonstad=20Updated?= =?UTF-8?q?=20translation:=20Norwegian=20(Nynorsk)=20by=20pmonstad=20Updat?= =?UTF-8?q?ed=20translation:=20Italian=20(Informal)=20by=20lfanfoni?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- locale/_template/limesurvey.pot | 347 ++++++++++++++++-------------- locale/ca/ca.mo | Bin 398784 -> 398896 bytes locale/es/es.mo | Bin 402189 -> 408059 bytes locale/hu/hu.mo | Bin 405026 -> 405248 bytes locale/it-informal/it-informal.mo | Bin 399456 -> 404445 bytes locale/it/it.mo | Bin 399319 -> 404305 bytes locale/nb/nb.mo | Bin 380159 -> 380284 bytes locale/nn/nn.mo | Bin 345230 -> 335175 bytes 8 files changed, 184 insertions(+), 163 deletions(-) diff --git a/locale/_template/limesurvey.pot b/locale/_template/limesurvey.pot index 4f5cca2dafe..4438568112e 100644 --- a/locale/_template/limesurvey.pot +++ b/locale/_template/limesurvey.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: LimeSurvey language file\n" "Report-Msgid-Bugs-To: http://translate.limesurvey.org/\n" -"POT-Creation-Date: 2018-01-12 14:41:03+00:00\n" +"POT-Creation-Date: 2018-01-16 11:32:35+00:00\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -244,7 +244,6 @@ msgstr "" #: application/controllers/admin/useraction.php:311 #: application/controllers/admin/useraction.php:386 #: application/controllers/admin/useraction.php:397 -#: application/controllers/admin/usergroups.php:132 msgid "Success!" msgstr "" @@ -350,7 +349,7 @@ msgstr "" #: application/controllers/admin/quotas.php:78 #: application/controllers/admin/responses.php:149 #: application/controllers/admin/responses.php:335 -#: application/controllers/admin/usergroups.php:242 +#: application/controllers/admin/usergroups.php:237 msgid "Access denied!" msgstr "" @@ -422,15 +421,15 @@ msgstr "" #: application/controllers/admin/responses.php:749 #: application/controllers/admin/surveyadmin.php:231 #: application/controllers/admin/surveyadmin.php:397 -#: application/controllers/admin/surveyadmin.php:556 -#: application/controllers/admin/surveyadmin.php:607 -#: application/controllers/admin/surveyadmin.php:634 -#: application/controllers/admin/surveyadmin.php:756 -#: application/controllers/admin/surveyadmin.php:839 -#: application/controllers/admin/surveyadmin.php:965 -#: application/controllers/admin/surveyadmin.php:1046 -#: application/controllers/admin/surveyadmin.php:1139 -#: application/controllers/admin/surveyadmin.php:1363 +#: application/controllers/admin/surveyadmin.php:570 +#: application/controllers/admin/surveyadmin.php:621 +#: application/controllers/admin/surveyadmin.php:648 +#: application/controllers/admin/surveyadmin.php:770 +#: application/controllers/admin/surveyadmin.php:853 +#: application/controllers/admin/surveyadmin.php:979 +#: application/controllers/admin/surveyadmin.php:1060 +#: application/controllers/admin/surveyadmin.php:1153 +#: application/controllers/admin/surveyadmin.php:1377 #: application/controllers/admin/surveypermission.php:48 #: application/controllers/admin/surveypermission.php:225 #: application/controllers/admin/surveypermission.php:328 @@ -869,7 +868,7 @@ msgstr "" #: application/controllers/admin/PluginManagerController.php:71 #: application/controllers/admin/checkintegrity.php:44 -#: application/controllers/admin/usergroups.php:336 +#: application/controllers/admin/usergroups.php:331 #: application/views/admin/labels/labelsetsbar_view.php:93 #: application/views/admin/participants/participantsPanel_view.php:118 msgid "Return to admin home" @@ -902,33 +901,65 @@ msgstr "" msgid "The plugin settings were saved." msgstr "" -#: application/controllers/admin/SurveymenuController.php:86 -#: application/controllers/admin/SurveymenuController.php:277 +#: application/controllers/admin/SurveymenuController.php:51 +#: application/controllers/admin/SurveymenuController.php:111 +#: application/controllers/admin/SurveymenuController.php:171 +#: application/controllers/admin/SurveymenuController.php:217 +#: application/controllers/admin/SurveymenuController.php:258 +#: application/controllers/admin/SurveymenuEntryController.php:84 +#: application/controllers/admin/SurveymenuEntryController.php:189 +#: application/controllers/admin/SurveymenuEntryController.php:237 +#: application/controllers/admin/SurveymenuEntryController.php:282 +#: application/controllers/admin/SurveymenuEntryController.php:325 +#: application/controllers/admin/questiongroups.php:44 +#: application/controllers/admin/questiongroups.php:131 +#: application/controllers/admin/questiongroups.php:173 +#: application/controllers/admin/questiongroups.php:237 +#: application/controllers/admin/questiongroups.php:267 +#: application/controllers/admin/questiongroups.php:402 +#: application/controllers/admin/questiongroups.php:519 +#: application/controllers/admin/questions.php:416 +#: application/controllers/admin/questions.php:630 +#: application/controllers/admin/questions.php:675 +#: application/controllers/admin/questions.php:1006 +#: application/controllers/admin/questions.php:1173 +#: application/controllers/admin/surveyadmin.php:135 +#: application/controllers/admin/surveyadmin.php:194 +#: application/controllers/admin/surveyadmin.php:452 +#: application/controllers/admin/surveyadmin.php:521 +#: application/controllers/admin/surveyadmin.php:868 +#: application/controllers/admin/surveyadmin.php:903 +#: application/controllers/admin/surveyadmin.php:1330 +msgid "Access denied" +msgstr "" + +#: application/controllers/admin/SurveymenuController.php:91 +#: application/controllers/admin/SurveymenuController.php:302 msgid "Default survey menus restored." msgstr "" -#: application/controllers/admin/SurveymenuController.php:86 -#: application/controllers/admin/SurveymenuController.php:277 +#: application/controllers/admin/SurveymenuController.php:91 +#: application/controllers/admin/SurveymenuController.php:302 msgid "Something went wrong!" msgstr "" -#: application/controllers/admin/SurveymenuController.php:134 -#: application/controllers/admin/SurveymenuEntryController.php:156 +#: application/controllers/admin/SurveymenuController.php:144 +#: application/controllers/admin/SurveymenuEntryController.php:162 #: application/controllers/admin/tokens.php:448 msgid "Updated" msgstr "" -#: application/controllers/admin/SurveymenuController.php:142 -#: application/controllers/admin/SurveymenuEntryController.php:164 +#: application/controllers/admin/SurveymenuController.php:152 +#: application/controllers/admin/SurveymenuEntryController.php:170 #: application/controllers/admin/tokens.php:456 msgid "Nothing to update" msgstr "" -#: application/controllers/admin/SurveymenuController.php:147 -#: application/controllers/admin/SurveymenuEntryController.php:169 +#: application/controllers/admin/SurveymenuController.php:157 +#: application/controllers/admin/SurveymenuEntryController.php:175 #: application/controllers/admin/export.php:898 #: application/controllers/admin/questions.php:145 -#: application/controllers/admin/surveyadmin.php:1243 +#: application/controllers/admin/surveyadmin.php:1257 #: application/controllers/admin/themeoptions.php:42 #: application/controllers/admin/themeoptions.php:68 #: application/controllers/admin/themeoptions.php:94 @@ -962,16 +993,16 @@ msgstr "" msgid "We are sorry but you don't have permissions to do this." msgstr "" -#: application/controllers/admin/SurveymenuController.php:249 -#: application/controllers/admin/SurveymenuEntryController.php:193 +#: application/controllers/admin/SurveymenuController.php:274 +#: application/controllers/admin/SurveymenuEntryController.php:204 msgid "You don't have the right to restore the settings to default" msgstr "" -#: application/controllers/admin/SurveymenuEntryController.php:211 +#: application/controllers/admin/SurveymenuEntryController.php:222 msgid "Default survey menu entries restored." msgstr "" -#: application/controllers/admin/SurveymenuEntryController.php:211 +#: application/controllers/admin/SurveymenuEntryController.php:222 msgid "Something went wrong! Are the survey menus properly restored?" msgstr "" @@ -1046,10 +1077,10 @@ msgstr "" #: application/controllers/admin/responses.php:336 #: application/controllers/admin/responses.php:466 #: application/controllers/admin/surveyadmin.php:95 -#: application/controllers/admin/surveyadmin.php:940 -#: application/controllers/admin/surveyadmin.php:991 -#: application/controllers/admin/surveyadmin.php:1153 -#: application/controllers/admin/surveyadmin.php:1749 +#: application/controllers/admin/surveyadmin.php:954 +#: application/controllers/admin/surveyadmin.php:1005 +#: application/controllers/admin/surveyadmin.php:1167 +#: application/controllers/admin/surveyadmin.php:1763 #: application/controllers/admin/tokens.php:46 #: application/controllers/admin/tokens.php:277 #: application/controllers/admin/tokens.php:602 @@ -1677,6 +1708,7 @@ msgstr "" #: application/views/admin/token/tokenform.php:272 #: application/views/admin/token/tokenform.php:308 #: application/views/admin/token/tokenform.php:318 +#: application/views/admin/usergroup/usergroups_view.php:143 #: application/views/survey/frontpage/clearallForm/form.php:11 #: application/views/survey/questions/answer/arrays/yesnouncertain/rows/answer_row.php:43 #: application/views/survey/questions/answer/arrays/yesnouncertain/rows/cells/thead.php:9 @@ -2161,7 +2193,7 @@ msgstr "" #: application/controllers/admin/questiongroups.php:59 #: application/controllers/admin/questions.php:188 #: application/controllers/admin/surveyadmin.php:304 -#: application/controllers/admin/surveyadmin.php:1203 +#: application/controllers/admin/surveyadmin.php:1217 #: application/controllers/admin/themes.php:156 #: application/controllers/admin/themes.php:237 #: application/controllers/admin/themes.php:305 @@ -2305,7 +2337,7 @@ msgstr "" #: application/controllers/admin/dataentry.php:1216 #: application/controllers/admin/labels.php:222 #: application/controllers/admin/themes.php:834 -#: application/controllers/admin/usergroups.php:184 +#: application/controllers/admin/usergroups.php:179 #: application/helpers/admin/label_helper.php:131 #: application/views/admin/assessments/assessments_edit.php:125 #: application/views/admin/conditions/conditionshead_view.php:71 @@ -2374,17 +2406,17 @@ msgid "This surveys uses anonymized responses, so you can't update your response msgstr "" #: application/controllers/admin/dataentry.php:1484 -#: application/libraries/Save.php:184 application/libraries/Save.php:319 +#: application/libraries/Save.php:185 application/libraries/Save.php:320 msgid "You must supply a name for this saved session." msgstr "" #: application/controllers/admin/dataentry.php:1485 -#: application/libraries/Save.php:187 application/libraries/Save.php:322 +#: application/libraries/Save.php:188 application/libraries/Save.php:323 msgid "You must supply a password for this saved session." msgstr "" #: application/controllers/admin/dataentry.php:1486 -#: application/libraries/Save.php:190 application/libraries/Save.php:325 +#: application/libraries/Save.php:191 application/libraries/Save.php:326 msgid "Your passwords do not match." msgstr "" @@ -2397,26 +2429,26 @@ msgid "A survey participant entry for the saved survey has been created too." msgstr "" #: application/controllers/admin/dataentry.php:1679 -#: application/libraries/Save.php:266 application/libraries/Save.php:404 +#: application/libraries/Save.php:267 application/libraries/Save.php:405 msgid "Saved Survey Details" msgstr "" #: application/controllers/admin/dataentry.php:1680 -#: application/libraries/Save.php:267 application/libraries/Save.php:405 +#: application/libraries/Save.php:268 application/libraries/Save.php:406 msgid "Thank you for saving your survey in progress. The following details can be used to return to this survey and continue where you left off. Please keep this e-mail for your reference - we cannot retrieve the password for you." msgstr "" #: application/controllers/admin/dataentry.php:1682 -#: application/libraries/Save.php:269 application/libraries/Save.php:407 +#: application/libraries/Save.php:270 application/libraries/Save.php:408 #: application/models/Assessment.php:72 #: application/models/ParticipantAttributeName.php:201 #: application/models/Surveymenu.php:188 #: application/models/SurveymenuEntries.php:187 #: application/models/SurveysGroups.php:101 +#: application/models/UserGroup.php:274 #: application/views/admin/labels/labelsets_view.php:44 #: application/views/admin/themeoptions/surveythemelist.php:17 #: application/views/admin/usergroup/usergroups_view.php:46 -#: application/views/admin/usergroup/usergroups_view.php:127 msgid "Name" msgstr "" @@ -2427,13 +2459,13 @@ msgstr "" #: application/controllers/admin/useraction.php:397 #: application/core/plugins/AuthLDAP/AuthLDAP.php:365 #: application/core/plugins/Authdb/Authdb.php:108 -#: application/libraries/Save.php:270 application/libraries/Save.php:408 +#: application/libraries/Save.php:271 application/libraries/Save.php:409 #: application/views/admin/user/modifyuser.php:53 msgid "Password" msgstr "" #: application/controllers/admin/dataentry.php:1684 -#: application/libraries/Save.php:271 application/libraries/Save.php:409 +#: application/libraries/Save.php:272 application/libraries/Save.php:410 msgid "Reload your survey by clicking on the following link (or pasting it into your browser):" msgstr "" @@ -2611,7 +2643,7 @@ msgstr "" #: application/controllers/admin/participantsaction.php:674 #: application/controllers/admin/questiongroups.php:57 #: application/controllers/admin/questions.php:186 -#: application/controllers/admin/surveyadmin.php:1197 +#: application/controllers/admin/surveyadmin.php:1211 #: application/controllers/admin/themes.php:129 #: application/controllers/admin/themes.php:178 #: application/controllers/admin/tokens.php:1932 @@ -2769,7 +2801,7 @@ msgid "Participant successfully added" msgstr "" #: application/controllers/admin/participantsaction.php:665 -#: application/controllers/admin/surveyadmin.php:1727 +#: application/controllers/admin/surveyadmin.php:1741 #: application/views/admin/labels/_labelviewrightcontent_view.php:57 #: application/views/admin/labels/_labelviewrightcontent_view.php:77 #: application/views/admin/survey/Question/importQuestion_view.php:12 @@ -2789,7 +2821,7 @@ msgid "This is not a .csv file." msgstr "" #: application/controllers/admin/participantsaction.php:737 -#: application/controllers/admin/surveyadmin.php:1797 +#: application/controllers/admin/surveyadmin.php:1811 #: application/controllers/admin/themes.php:219 #: application/core/Survey_Common_Action.php:1217 #: application/helpers/frontend_helper.php:2104 @@ -3120,26 +3152,6 @@ msgstr "" msgid "Please choose no more than %s items." msgstr "" -#: application/controllers/admin/questiongroups.php:44 -#: application/controllers/admin/questiongroups.php:131 -#: application/controllers/admin/questiongroups.php:173 -#: application/controllers/admin/questiongroups.php:237 -#: application/controllers/admin/questiongroups.php:267 -#: application/controllers/admin/questiongroups.php:402 -#: application/controllers/admin/questiongroups.php:519 -#: application/controllers/admin/questions.php:416 -#: application/controllers/admin/questions.php:630 -#: application/controllers/admin/questions.php:675 -#: application/controllers/admin/questions.php:1006 -#: application/controllers/admin/questions.php:1173 -#: application/controllers/admin/surveyadmin.php:135 -#: application/controllers/admin/surveyadmin.php:194 -#: application/controllers/admin/surveyadmin.php:854 -#: application/controllers/admin/surveyadmin.php:889 -#: application/controllers/admin/surveyadmin.php:1316 -msgid "Access denied" -msgstr "" - #: application/controllers/admin/questiongroups.php:64 #: application/controllers/admin/questions.php:193 msgid "No SID (Survey) has been provided. Cannot import question." @@ -3189,10 +3201,10 @@ msgid "Group could not be deleted" msgstr "" #: application/controllers/admin/questiongroups.php:373 -#: application/controllers/admin/surveyadmin.php:1019 -#: application/controllers/admin/surveyadmin.php:1104 -#: application/controllers/admin/surveyadmin.php:1576 -#: application/controllers/admin/surveyadmin.php:1589 +#: application/controllers/admin/surveyadmin.php:1033 +#: application/controllers/admin/surveyadmin.php:1118 +#: application/controllers/admin/surveyadmin.php:1590 +#: application/controllers/admin/surveyadmin.php:1603 #: application/views/admin/assessments/assessments_edit.php:89 #: application/views/admin/emailtemplates/emailtemplates_view.php:38 #: application/views/admin/quotas/_form_langsettings.php:15 @@ -3211,7 +3223,7 @@ msgstr "" #: application/controllers/admin/questions.php:60 #: application/controllers/admin/responses.php:67 -#: application/controllers/admin/surveyadmin.php:1240 +#: application/controllers/admin/surveyadmin.php:1254 #: application/core/Survey_Common_Action.php:586 #: application/core/Survey_Common_Action.php:862 msgid "Invalid survey ID" @@ -3567,118 +3579,118 @@ msgid "This file is not a valid ZIP file archive. Import failed. " msgstr "" #: application/controllers/admin/surveyadmin.php:407 -#: application/controllers/admin/surveyadmin.php:602 +#: application/controllers/admin/surveyadmin.php:616 msgid "Return to survey list" msgstr "" -#: application/controllers/admin/surveyadmin.php:557 +#: application/controllers/admin/surveyadmin.php:571 #: application/views/admin/survey/QuestionGroups/listquestiongroups.php:12 msgid "Question groups in this survey" msgstr "" -#: application/controllers/admin/surveyadmin.php:606 +#: application/controllers/admin/surveyadmin.php:620 #: application/views/admin/survey/Question/listquestions.php:12 msgid "Questions in this survey" msgstr "" -#: application/controllers/admin/surveyadmin.php:655 +#: application/controllers/admin/surveyadmin.php:669 msgid "Error: Response table does not exist. Survey cannot be deactivated." msgstr "" -#: application/controllers/admin/surveyadmin.php:759 +#: application/controllers/admin/surveyadmin.php:773 msgid "This survey is already active." msgstr "" -#: application/controllers/admin/surveyadmin.php:848 +#: application/controllers/admin/surveyadmin.php:862 msgid "Survey deleted." msgstr "" -#: application/controllers/admin/surveyadmin.php:877 +#: application/controllers/admin/surveyadmin.php:891 msgid "Survey files deleted." msgstr "" -#: application/controllers/admin/surveyadmin.php:879 +#: application/controllers/admin/surveyadmin.php:893 msgid "Error: Could not delete survey files." msgstr "" -#: application/controllers/admin/surveyadmin.php:885 +#: application/controllers/admin/surveyadmin.php:899 msgid "Error: Cannot purge files for a survey that is not deleted. Please delete the survey normally in the survey view." msgstr "" -#: application/controllers/admin/surveyadmin.php:1177 +#: application/controllers/admin/surveyadmin.php:1191 msgid "Import survey data" msgstr "" -#: application/controllers/admin/surveyadmin.php:1178 +#: application/controllers/admin/surveyadmin.php:1192 msgid "Survey structure import summary" msgstr "" -#: application/controllers/admin/surveyadmin.php:1186 +#: application/controllers/admin/surveyadmin.php:1200 #: application/views/admin/survey/copySurvey_view.php:11 #: application/views/admin/survey/subview/tabCopy_view.php:153 msgid "Copy survey" msgstr "" -#: application/controllers/admin/surveyadmin.php:1187 +#: application/controllers/admin/surveyadmin.php:1201 msgid "Survey copy summary" msgstr "" -#: application/controllers/admin/surveyadmin.php:1200 +#: application/controllers/admin/surveyadmin.php:1214 msgid "Import failed. You specified an invalid file type '%s'." msgstr "" -#: application/controllers/admin/surveyadmin.php:1237 +#: application/controllers/admin/surveyadmin.php:1251 msgid "No survey ID has been provided. Cannot copy survey" msgstr "" -#: application/controllers/admin/surveyadmin.php:1258 +#: application/controllers/admin/surveyadmin.php:1272 msgid "Unknown error while reading the file, no survey created." msgstr "" -#: application/controllers/admin/surveyadmin.php:1440 +#: application/controllers/admin/surveyadmin.php:1454 msgid "The new question group/question order was successfully saved." msgstr "" -#: application/controllers/admin/surveyadmin.php:1729 +#: application/controllers/admin/surveyadmin.php:1743 #: application/views/admin/labels/_labelviewrightcontent_view.php:76 #: application/views/admin/themes/importform_view.php:14 #: application/views/admin/themes/templateeditorbar_view.php:251 msgid "The ZIP library is not activated in your PHP configuration thus importing ZIP files is currently disabled." msgstr "" -#: application/controllers/admin/surveyadmin.php:1752 +#: application/controllers/admin/surveyadmin.php:1766 msgid "The survey was successfully expired by setting an expiration date in the survey settings." msgstr "" -#: application/controllers/admin/surveyadmin.php:1858 +#: application/controllers/admin/surveyadmin.php:1872 msgid "Survey could not be created because it did not have a title" msgstr "" -#: application/controllers/admin/surveyadmin.php:1953 +#: application/controllers/admin/surveyadmin.php:1967 msgid "Warning! Notification email was not updated because it was not valid." msgstr "" -#: application/controllers/admin/surveyadmin.php:1960 +#: application/controllers/admin/surveyadmin.php:1974 msgid "Warning! Bounce email was not updated because it was not valid." msgstr "" -#: application/controllers/admin/surveyadmin.php:2016 +#: application/controllers/admin/surveyadmin.php:2030 msgid "Your new survey was created. We also created a first question group and an example question for you." msgstr "" -#: application/controllers/admin/surveyadmin.php:2026 +#: application/controllers/admin/surveyadmin.php:2040 msgid "Your new survey was created." msgstr "" -#: application/controllers/admin/surveyadmin.php:2056 +#: application/controllers/admin/surveyadmin.php:2069 msgid "My first question group" msgstr "" -#: application/controllers/admin/surveyadmin.php:2079 +#: application/controllers/admin/surveyadmin.php:2092 msgid "A first example question. Please answer this question:" msgstr "" -#: application/controllers/admin/surveyadmin.php:2080 +#: application/controllers/admin/surveyadmin.php:2093 msgid "This is a question help text." msgstr "" @@ -3828,7 +3840,7 @@ msgid "No Username selected." msgstr "" #: application/controllers/admin/surveypermission.php:371 -#: application/controllers/admin/usergroups.php:379 +#: application/controllers/admin/usergroups.php:374 msgid "User added." msgstr "" @@ -3838,7 +3850,7 @@ msgstr "" #: application/controllers/admin/surveypermission.php:382 #: application/controllers/admin/surveypermission.php:389 -#: application/controllers/admin/usergroups.php:381 +#: application/controllers/admin/usergroups.php:376 msgid "Failed to add user." msgstr "" @@ -4326,6 +4338,7 @@ msgstr "" #: application/views/admin/update/updater/welcome/_subscribe.php:47 #: application/views/admin/update/updater/welcome/_updater_update.php:25 #: application/views/admin/update/updater/welcome/_welcome.php:80 +#: application/views/admin/usergroup/usergroups_view.php:142 msgid "Cancel" msgstr "" @@ -4943,76 +4956,80 @@ msgstr "" msgid "Email to %s failed. Error Message:" msgstr "" -#: application/controllers/admin/usergroups.php:135 +#: application/controllers/admin/usergroups.php:128 +msgid "Successfully deleted usergroup." +msgstr "" + +#: application/controllers/admin/usergroups.php:130 msgid "Could not delete user group." msgstr "" -#: application/controllers/admin/usergroups.php:139 +#: application/controllers/admin/usergroups.php:134 msgid "Could not delete user group. No group selected." msgstr "" -#: application/controllers/admin/usergroups.php:162 -#: application/controllers/admin/usergroups.php:163 +#: application/controllers/admin/usergroups.php:157 +#: application/controllers/admin/usergroups.php:158 msgid "Failed to add group! Group name length more than 20 characters." msgstr "" -#: application/controllers/admin/usergroups.php:165 -#: application/controllers/admin/usergroups.php:166 +#: application/controllers/admin/usergroups.php:160 +#: application/controllers/admin/usergroups.php:161 msgid "Failed to add group! Group already exists." msgstr "" -#: application/controllers/admin/usergroups.php:169 +#: application/controllers/admin/usergroups.php:164 msgid "User group successfully added!" msgstr "" -#: application/controllers/admin/usergroups.php:177 +#: application/controllers/admin/usergroups.php:172 msgid "Failed to add group! Group Name was not supplied." msgstr "" -#: application/controllers/admin/usergroups.php:209 +#: application/controllers/admin/usergroups.php:204 msgid "User group successfully saved!" msgstr "" -#: application/controllers/admin/usergroups.php:213 +#: application/controllers/admin/usergroups.php:208 msgid "Failed to edit user group!" msgstr "" -#: application/controllers/admin/usergroups.php:227 +#: application/controllers/admin/usergroups.php:222 #: application/views/admin/usergroup/editUserGroup_view.php:19 msgid "Update user group" msgstr "" -#: application/controllers/admin/usergroups.php:368 -#: application/controllers/admin/usergroups.php:372 -#: application/controllers/admin/usergroups.php:394 +#: application/controllers/admin/usergroups.php:363 +#: application/controllers/admin/usergroups.php:367 +#: application/controllers/admin/usergroups.php:393 msgid "Failed." msgstr "" -#: application/controllers/admin/usergroups.php:368 +#: application/controllers/admin/usergroups.php:363 msgid "Group not found." msgstr "" -#: application/controllers/admin/usergroups.php:372 +#: application/controllers/admin/usergroups.php:367 msgid "You can not add or remove the group owner from the group." msgstr "" -#: application/controllers/admin/usergroups.php:381 +#: application/controllers/admin/usergroups.php:376 msgid "User already exists in the group." msgstr "" -#: application/controllers/admin/usergroups.php:386 +#: application/controllers/admin/usergroups.php:381 msgid "User removed." msgstr "" -#: application/controllers/admin/usergroups.php:388 +#: application/controllers/admin/usergroups.php:383 msgid "Failed to remove user." msgstr "" -#: application/controllers/admin/usergroups.php:388 +#: application/controllers/admin/usergroups.php:383 msgid "User does not exist in the group." msgstr "" -#: application/controllers/admin/usergroups.php:394 +#: application/controllers/admin/usergroups.php:393 msgid "User not found." msgstr "" @@ -5074,7 +5091,7 @@ msgid "You did not answer to the security question." msgstr "" #: application/controllers/survey/index.php:388 -#: application/libraries/Save.php:198 application/libraries/Save.php:335 +#: application/libraries/Save.php:199 application/libraries/Save.php:336 msgid "The answer to the security question is incorrect." msgstr "" @@ -5164,8 +5181,8 @@ msgstr "" #: application/helpers/update/updatedb_helper.php:768 #: application/helpers/update/updatedb_helper.php:802 #: application/helpers/update/updatedb_helper.php:877 -#: application/helpers/update/updatedb_helper.php:1009 -#: application/helpers/update/updatedb_helper.php:1657 +#: application/helpers/update/updatedb_helper.php:1095 +#: application/helpers/update/updatedb_helper.php:1743 msgid "End tour" msgstr "" @@ -5173,8 +5190,8 @@ msgstr "" #: application/helpers/update/updatedb_helper.php:768 #: application/helpers/update/updatedb_helper.php:802 #: application/helpers/update/updatedb_helper.php:871 -#: application/helpers/update/updatedb_helper.php:1009 -#: application/helpers/update/updatedb_helper.php:1657 +#: application/helpers/update/updatedb_helper.php:1095 +#: application/helpers/update/updatedb_helper.php:1743 #: application/views/installer/dbconfig_view.php:63 #: application/views/installer/dbsettings_view.php:12 #: application/views/installer/license_view.php:16 @@ -5188,8 +5205,8 @@ msgstr "" #: application/helpers/update/updatedb_helper.php:768 #: application/helpers/update/updatedb_helper.php:802 #: application/helpers/update/updatedb_helper.php:872 -#: application/helpers/update/updatedb_helper.php:1009 -#: application/helpers/update/updatedb_helper.php:1657 +#: application/helpers/update/updatedb_helper.php:1095 +#: application/helpers/update/updatedb_helper.php:1743 #: application/views/admin/participants/modal_subviews/_addToSurvey.php:48 #: application/views/admin/quotas/newanswer_view.php:34 #: application/views/admin/quotas/newanswertwo_view.php:43 @@ -5840,12 +5857,12 @@ msgstr "" msgid "HTML" msgstr "" +#: application/core/plugins/Authwebserver/Authwebserver.php:49 #: application/core/plugins/Authwebserver/Authwebserver.php:50 -#: application/core/plugins/Authwebserver/Authwebserver.php:51 msgid "Use web server authentication" msgstr "" -#: application/core/plugins/Authwebserver/Authwebserver.php:114 +#: application/core/plugins/Authwebserver/Authwebserver.php:113 msgid "Web server authentication method is not allowed for this user" msgstr "" @@ -6406,8 +6423,8 @@ msgstr "" #: application/extensions/admin/survey/ListSurveysWidget/views/listSurveys.php:86 #: application/models/Participant.php:383 #: application/models/SurveysGroups.php:137 +#: application/models/UserGroup.php:289 #: application/views/admin/usergroup/usergroups_view.php:61 -#: application/views/admin/usergroup/usergroups_view.php:142 msgid "Owner" msgstr "" @@ -10613,11 +10630,11 @@ msgstr "" msgid "Please fix this error in your database and try again" msgstr "" -#: application/helpers/update/updatedb_helper.php:953 +#: application/helpers/update/updatedb_helper.php:1039 msgid "An non-recoverable error happened during the update. Error details:" msgstr "" -#: application/helpers/update/updatedb_helper.php:957 +#: application/helpers/update/updatedb_helper.php:1043 #: application/views/admin/labels/importlabelresources_view.php:47 #: application/views/admin/labels/importlabelresources_view.php:61 #: application/views/admin/survey/importSurveyResources_view.php:24 @@ -10627,15 +10644,15 @@ msgstr "" msgid "File" msgstr "" -#: application/helpers/update/updatedb_helper.php:957 +#: application/helpers/update/updatedb_helper.php:1043 msgid "line" msgstr "" -#: application/helpers/update/updatedb_helper.php:982 +#: application/helpers/update/updatedb_helper.php:1068 msgid "Database update" msgstr "" -#: application/helpers/update/updatedb_helper.php:983 +#: application/helpers/update/updatedb_helper.php:1069 msgid "The database has been updated from version %s to version %s." msgstr "" @@ -10701,27 +10718,27 @@ msgstr "" msgid "Randomization group:" msgstr "" -#: application/libraries/Save.php:209 application/libraries/Save.php:346 +#: application/libraries/Save.php:210 application/libraries/Save.php:347 msgid "You may not use slashes or ampersands in your name or password." msgstr "" -#: application/libraries/Save.php:213 application/libraries/Save.php:350 +#: application/libraries/Save.php:214 application/libraries/Save.php:351 msgid "This name has already been used for this survey. You must use a unique save name." msgstr "" -#: application/libraries/Save.php:217 +#: application/libraries/Save.php:218 msgid "This is not a valid email address. Please provide a valid email address or leave it empty." msgstr "" -#: application/libraries/Save.php:282 application/libraries/Save.php:423 +#: application/libraries/Save.php:283 application/libraries/Save.php:424 msgid "Error: Email failed, this may indicate a PHP Mail Setup problem on the server. Your survey details have still been saved, however you will not get an email with the details. You should note the \"name\" and \"password\" you just used for future reference." msgstr "" -#: application/libraries/Save.php:284 application/libraries/Save.php:425 +#: application/libraries/Save.php:285 application/libraries/Save.php:426 msgid "(Reason: Admin email address empty)" msgstr "" -#: application/libraries/Save.php:288 application/libraries/Save.php:430 +#: application/libraries/Save.php:289 application/libraries/Save.php:431 msgid "Your survey was successfully saved." msgstr "" @@ -11522,6 +11539,7 @@ msgstr "" #: application/models/Surveymenu.php:191 #: application/models/SurveysGroups.php:119 +#: application/models/UserGroup.php:281 #: application/views/admin/homepagesettings/index.php:121 #: application/views/admin/pluginmanager/index.php:79 #: application/views/admin/survey/QuestionGroups/listquestiongroups.php:84 @@ -11529,7 +11547,6 @@ msgstr "" #: application/views/admin/themeoptions/index.php:78 #: application/views/admin/themeoptions/surveythemelist.php:24 #: application/views/admin/usergroup/usergroups_view.php:53 -#: application/views/admin/usergroup/usergroups_view.php:134 msgid "Description" msgstr "" @@ -11672,7 +11689,7 @@ msgstr "" msgid "Delete survey group" msgstr "" -#: application/models/Template.php:176 +#: application/models/Template.php:184 msgid "Default survey theme %s is not installed. Now %s is the new default survey theme" msgstr "" @@ -11693,7 +11710,7 @@ msgstr "" msgid "Theme editor" msgstr "" -#: application/models/TemplateConfiguration.php:534 +#: application/models/TemplateConfiguration.php:535 msgid "Theme options" msgstr "" @@ -11714,11 +11731,11 @@ msgstr "" msgid "You cannot uninstall the default template." msgstr "" -#: application/models/TemplateConfiguration.php:663 +#: application/models/TemplateConfiguration.php:662 msgid "Error: Malformed JSON: Field %s must be either a JSON array or the string \"inherit\". Found \"%s\"." msgstr "" -#: application/models/TemplateConfiguration.php:770 +#: application/models/TemplateConfiguration.php:771 msgid "Theme '%s' has been uninstalled because it's not compatible with this LimeSurvey version." msgstr "" @@ -11828,26 +11845,32 @@ msgstr "" msgid "No of surveys" msgstr "" -#: application/models/UserGroup.php:271 +#: application/models/UserGroup.php:267 +#: application/views/admin/usergroup/usergroups_view.php:39 +msgid "User group ID" +msgstr "" + +#: application/models/UserGroup.php:296 +#: application/views/admin/usergroup/usergroups_view.php:68 +msgid "Members" +msgstr "" + +#: application/models/UserGroup.php:321 msgid "View users" msgstr "" -#: application/models/UserGroup.php:276 +#: application/models/UserGroup.php:326 msgid "Edit user group" msgstr "" -#: application/models/UserGroup.php:282 +#: application/models/UserGroup.php:332 msgid "Email user group" msgstr "" -#: application/models/UserGroup.php:287 +#: application/models/UserGroup.php:336 msgid "Delete user group" msgstr "" -#: application/models/UserGroup.php:287 -msgid "Are you sure you want to delete this user group?" -msgstr "" - #: application/views/admin/assessments/assessments_delete.php:12 msgid "Do you really want to delete this asessment rule?" msgstr "" @@ -19590,18 +19613,16 @@ msgstr "" msgid "No user groups found." msgstr "" -#: application/views/admin/usergroup/usergroups_view.php:39 -#: application/views/admin/usergroup/usergroups_view.php:120 -msgid "User group ID" +#: application/views/admin/usergroup/usergroups_view.php:95 +msgid "Groups to which I belong" msgstr "" -#: application/views/admin/usergroup/usergroups_view.php:68 -#: application/views/admin/usergroup/usergroups_view.php:149 -msgid "Members" +#: application/views/admin/usergroup/usergroups_view.php:133 +msgid "Delete this user group" msgstr "" -#: application/views/admin/usergroup/usergroups_view.php:95 -msgid "Groups to which I belong" +#: application/views/admin/usergroup/usergroups_view.php:137 +msgid "Are you sure you want to delete this user group?" msgstr "" #: application/views/admin/usergroup/viewUserGroup_view.php:6 diff --git a/locale/ca/ca.mo b/locale/ca/ca.mo index e721059d583924f431fa01ab035a3859c055637a..0566ca3f03692074b917041e5fe61e14fea72e75 100644 GIT binary patch delta 88622 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 delta 88556 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 z z(z{Hq75S0me28ze;tH48eZ@@O2C)YP!6ZDUXgMpKqO&CYO`l^pB-;Vs15hhs-4WJ{ zjs_v(26_GQ?+520op#k4A?bkc8tV?ZAv*f+;1Wxr_L}_9mN9^P1D?ZP3-T5O#~`K& zzG78ft$QTCIS9xULE1qEXR+bjLx?qJ4Ta>G#)Aj>xe!wRd2H-O~ai!ZW_?}VYhSgz@7C*eCp?n-UwH1|r)d&eQK1?MADApQGuIjdu=55e0MpHQV!IbT$Oo#bR8 z>PMZxdx*2BpeistIUi(IQnQq%D(&6s-W%Uk7=vxRymv7%{&{4+c6D?|8D}0OM;X@= zKqdng0kETuC8vbx>_o^G_Wg)kf{-dmc2Rp%^ULs!=X_o#C>WvScu?c5Il1tBkP2W+ z)^tP+X8f_7#SFT12YeO#NW_Ts(cMJu5S>a*g#V1tof)!ON@!vag&>G!x4G1J=f0Oc zh~_3DBsG@8FL4&3%x;%ax`%GMk|eg(fowT~9#JE95TI(!k$Z`D_9_0~@aJ>yt-k5_ z#3E=?tac3_|2zr~nZi=Kdd^ti(h2MZV1yPeBS97+8VV(Sp;fqyLmKO+AdaznvO9Y*3I))}2+ z8HxQ^1xhN!Um(hlJq2PDF%zUeYy3OT?IB7bXEcIi*sCCXU*i)Y6Keo|CHp+Rhr!vg zmhJt|7Uw4o@<$RRc~ZQBpjeE8)YiR%SQTWs2+8NXAF#=Em<7}$$w3L6Z|>gop5v}IR)^=I_7TycIFdWC`Dp@lpqHGUu_PK93EK= z!VW08J?A>U)nN2P#07oa!#SUpJbC{wN72^=;t?S>i&aKZ8taaqf zfM6?FUgV@`UXqTTu+ujpK%T#tD@9^~HdQ82x=Z z2vV@?>@NDo6b7i+LmopY_5KJcXRjk2voF`01Dww}JVIY>?kDm(N{-Awhs#~<;0S;V z7?(j|3M4L!>SHb1s;?1G$W9|RT_@*<=w9TBiLS%c22it%eGj(t>cnlUx@rD=!DOcSO`Tyba%#s4 z`A@-KD>2qa`TEOeJj(5K-QJ~kl0|GEQy5N>SZ9PBHo;~*=tYm_SX7B!!C3*oF#w+0Ix=!co3h-pesr#vJ#)J01tTKb)MnI@ z%mR~`_xiDdtQa5 zvC-_Y^P86ai_CfTj865TMO5L(TNesF*BomgypL})+nQ6 Pu;sHnqx6nteEUBDczm!x diff --git a/locale/es/es.mo b/locale/es/es.mo index d5b689305cdbc3c7e24a012c2536749776e4c737..3c010ece93df11e49d493636106c8aa67fd73b1a 100644 GIT binary patch delta 92702 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 delta 87466 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 bQ`0 diff --git a/locale/hu/hu.mo b/locale/hu/hu.mo index dfb735c9e5777cc76697964386dd445001532daf..89c2c6b8858ffff9bd185bb175536a47026f4ff8 100644 GIT binary patch delta 88486 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

KNsB{ZbTFNT4YK%cLNhQ4KV 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 VKCrE1b7xMC`<09}?%Tca{}aZ}OS}L8 diff --git a/locale/it-informal/it-informal.mo b/locale/it-informal/it-informal.mo index 4d48b92ac58905587b7924766dfef13f8a5031e4..298f244cc53b56ff67d37137b8b19f7716d9a475 100644 GIT binary patch delta 92452 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

!A$& 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

E_n=GA9DS}G8j*)1 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 diff --git a/locale/nb/nb.mo b/locale/nb/nb.mo index e29ddb63ad9f10ba3e5d2d66e09bb1b354ca3593..11bb20efe7bb153bf74f4891a6938b1163c1f6b3 100644 GIT binary patch delta 88367 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 T_&8fRCKpxN7>lZG{qOt@0>p3j delta 88330 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%0Dn( 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�O*T%qY-*K`b@n40=iVMMn6V7 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 delta 88518 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

0K7nqgd+hj9w1!|e;TC7qz`xw_KHPiG*k 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 From 74ae3536dada8cbb605c68ebd83ca5ba7e93cb0b Mon Sep 17 00:00:00 2001 From: Olle Haerstedt Date: Tue, 16 Jan 2018 12:42:32 +0100 Subject: [PATCH 25/84] Release 3.0.4+180116 --- application/config/version.php | 4 ++-- docs/release_notes.txt | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/application/config/version.php b/application/config/version.php index f27813e87f1..9054de2677a 100644 --- a/application/config/version.php +++ b/application/config/version.php @@ -12,9 +12,9 @@ */ -$config['versionnumber'] = '3.0.3'; //The current version of this branch, LS3 +$config['versionnumber'] = '3.0.4'; //The current version of this branch, LS3 $config['dbversionnumber'] = 344; $config['buildnumber'] = ''; $config['updatable'] = true; -$config['assetsversionnumber'] = '30004'; +$config['assetsversionnumber'] = '30005'; return $config; diff --git a/docs/release_notes.txt b/docs/release_notes.txt index 7a91c035855..39e9dcdfee4 100644 --- a/docs/release_notes.txt +++ b/docs/release_notes.txt @@ -35,6 +35,23 @@ Thank you to everyone who helped with this new release! CHANGE LOG ------------------------------------------------------ +Changes from 3.0.3 (build 180112) to 3.0.4 (build 180116) Jan 16, 2018 +-Fixed issue #13124: LDAP Authencation failed (Denis Chenu) +-Fixed issue #13139: Editing assessment rules->message text gets lost (markusfluer) +-Fixed issue #13145: Unable to process IMAP bounces (Carsten Schmitz) +-Fixed issue #13151: Display issue in survey theme editor (markusfluer) +-Fixed issue #13154: "Resume Later" fails with "General error: 1364 Field 'saved_thisstep' doesn't have a default value" (markusfluer) +-Fixed issue: Missing vanilla and fruity theme configuration after upgrading from 2.73 (Olle Haerstedt) +-Fixed issue: POST URLs on user editing (Carsten Schmitz) +-Fixed issue: ComfortUpdate ZIP problem (LouisGac) +#Updated translation: Catalan by qualitatuvic +#Updated translation: Hungarian by kkd +#Updated translation: Italian (Informal) by lfanfoni +#Updated translation: Italian by lfanfoni +#Updated translation: Norwegian (Bokmål) by pmonstad +#Updated translation: Norwegian (Nynorsk) by pmonstad +#Updated translation: Spanish (Spain) by aesteban + Changes from 3.0.2 (build 180110) to 3.0.3 (build 180112) Jan 12, 2018 -Fixed a small typo (gekkedev) -Fixed issue #12223: Exporting database does not name columns for attributes (Matthew) From 1422d254fdaac4ee736527a32e1913b007985cf6 Mon Sep 17 00:00:00 2001 From: markusfluer Date: Tue, 16 Jan 2018 12:49:20 +0100 Subject: [PATCH 26/84] Fixed issue #13153: Confirm Popup stays active after deleting a single token and clicking "yes" --- .../MassiveActionsWidget/assets/listActions.js | 10 +++++----- .../survey/ListSurveysWidget/assets/reload.js | 2 +- assets/scripts/admin/tokens.js | 15 ++++++--------- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/application/extensions/admin/grid/MassiveActionsWidget/assets/listActions.js b/application/extensions/admin/grid/MassiveActionsWidget/assets/listActions.js index 439231890b8..1b7be8b8084 100644 --- a/application/extensions/admin/grid/MassiveActionsWidget/assets/listActions.js +++ b/application/extensions/admin/grid/MassiveActionsWidget/assets/listActions.js @@ -20,7 +20,7 @@ var onClickListAction = function () { var $actionUrl = $that.data('url'); // The url of the Survey Controller action to call var onSuccess = $that.data('on-success'); var $gridid = $(this).closest('div.listActions').data('grid-id'); - var $oCheckedItems = $.fn.yiiGridView.getChecked($gridid, $(this).closest('div.listActions').data('pk')); // List of the clicked checkbox + var $oCheckedItems = $gridid.yiiGridView('getChecked', $(this).closest('div.listActions').data('pk')); // List of the clicked checkbox var $oCheckedItems = JSON.stringify($oCheckedItems); var actionType = $that.data('actionType'); @@ -39,7 +39,7 @@ var onClickListAction = function () { // TODO : Switch case "redirection (with 2 type; post or fill session)" if(actionType == "redirect") { - $oCheckedItems = $.fn.yiiGridView.getChecked($gridid, $('.listActions').data('pk')); // So we can join + $oCheckedItems = $gridid.yiiGridView('getChecked', $('.listActions').data('pk')); // So we can join var newForm = jQuery('

', { 'action': $actionUrl, 'target': '_blank', @@ -71,7 +71,7 @@ var onClickListAction = function () { // Set window location href. Used by download files in responses list view. if (actionType == 'window-location-href') { - var $oCheckedItems = $.fn.yiiGridView.getChecked($gridid, $('.listActions').data('pk')); // So we can join + var $oCheckedItems = $gridid.yiiGridView('getChecked', $('.listActions').data('pk')); // So we can join window.location.href = $actionUrl + $oCheckedItems.join(','); return; } @@ -83,7 +83,7 @@ var onClickListAction = function () { if (actionType == 'custom') { var js = $that.data('custom-js'); var func = eval(js); - var itemIds = $.fn.yiiGridView.getChecked($gridid, $('.listActions').data('pk')); + var itemIds = $gridid.yiiGridView('getChecked', $('.listActions').data('pk')); func(itemIds); return; } @@ -113,7 +113,7 @@ var onClickListAction = function () { if ($that.data('grid-reload') == "yes") { - $.fn.yiiGridView.update($gridid); // Update the surveys list + $gridid.yiiGridView('update'); // Update the surveys list setTimeout(function(){ $(document).trigger("actions-updated");}, 500); // Raise an event if some widgets inside the modals need some refresh (eg: position widget in question list) } diff --git a/application/extensions/admin/survey/ListSurveysWidget/assets/reload.js b/application/extensions/admin/survey/ListSurveysWidget/assets/reload.js index 96d5e1abdcb..f86c49e4e2e 100644 --- a/application/extensions/admin/survey/ListSurveysWidget/assets/reload.js +++ b/application/extensions/admin/survey/ListSurveysWidget/assets/reload.js @@ -9,7 +9,7 @@ $(document).on('ready pjax:scriptcomplete', function() { { jQuery(document).on("change", '#pageSize', function() { - $.fn.yiiGridView.update('survey-grid',{ data:{ pageSize: $(this).val() }}); + $('#survey-grid').yiiGridView('update',{ data:{ pageSize: $(this).val() }}); }); }); }); diff --git a/assets/scripts/admin/tokens.js b/assets/scripts/admin/tokens.js index aa802a43d62..aac44a83e1d 100644 --- a/assets/scripts/admin/tokens.js +++ b/assets/scripts/admin/tokens.js @@ -227,15 +227,12 @@ $(document).on('ready pjax:scriptcomplete', function(){ url: actionUrl, method: "GET", success: function(data){ - try{ - $.fn.yiiGridView.update('token-grid', { - complete: function(s){ - $modal.modal('hide'); - } // Update the surveys list - }); - } catch(e){ - if(e){console.ls.error(e); $modal.modal('hide');} - } + + $('#token-grid').yiiGridView('update',{ + complete: function(s){ + $modal.modal('hide'); + } // Update the surveys list + }); } }); }) From 3398f30e936c96bacbab6a7dd06435779f701815 Mon Sep 17 00:00:00 2001 From: Olle Haerstedt Date: Tue, 16 Jan 2018 15:19:33 +0100 Subject: [PATCH 27/84] Fixed issue: More fixes to theme configuration in database after update Dev: Mostly relevant when updating from 2.7x. Dev: Overwrites any changes made in those configs. Hopefully not Dev: dangerous since it's still early in the release cycle. --- application/config/version.php | 4 +- .../helpers/update/updatedb_helper.php | 92 +++++++++++++++++++ 2 files changed, 94 insertions(+), 2 deletions(-) diff --git a/application/config/version.php b/application/config/version.php index 9054de2677a..fb278d1b8a1 100644 --- a/application/config/version.php +++ b/application/config/version.php @@ -13,8 +13,8 @@ $config['versionnumber'] = '3.0.4'; //The current version of this branch, LS3 -$config['dbversionnumber'] = 344; +$config['dbversionnumber'] = 345; $config['buildnumber'] = ''; $config['updatable'] = true; -$config['assetsversionnumber'] = '30005'; +$config['assetsversionnumber'] = '30006'; return $config; diff --git a/application/helpers/update/updatedb_helper.php b/application/helpers/update/updatedb_helper.php index e41dc634f28..fc5fed69a2f 100644 --- a/application/helpers/update/updatedb_helper.php +++ b/application/helpers/update/updatedb_helper.php @@ -1021,6 +1021,98 @@ function db_upgrade_all($iOldDBVersion, $bSilent = false) $oTransaction->commit(); } + /** + * Fruit template configuration might be faulty when updating + * from 2.7x, as well as bootswatch. + */ + if ($iOldDBVersion < 345) { + $oTransaction = $oDB->beginTransaction(); + $fruityConf = $oDB + ->createCommand() + ->select('*') + ->from('{{template_configuration}}') + ->where('template_name=:template_name', ['template_name'=>'fruity']) + ->queryRow(); + if ($fruityConf) { + // Brute force way. Just have to hope noone changed the default + // config yet. + $oDB->createCommand()->update( + '{{template_configuration}}', + [ + 'files_css' => '{"add":["css/ajaxify.css","css/animate.css","css/variations/sea_green.css","css/theme.css","css/custom.css"]}', + 'files_js' => '{"add":["scripts/theme.js","scripts/ajaxify.js","scripts/custom.js"]}', + 'files_print_css' => '{"add":["css/print_theme.css"]}', + 'options' => '{"ajaxmode":"off","brandlogo":"on","brandlogofile":"./files/logo.png","container":"on","backgroundimage":"off","backgroundimagefile":"./files/pattern.png","animatebody":"off","bodyanimation":"fadeInRight","bodyanimationduration":"1.0","animatequestion":"off","questionanimation":"flipInX","questionanimationduration":"1.0","animatealert":"off","alertanimation":"shake","alertanimationduration":"1.0","font":"noto","bodybackgroundcolor":"#ffffff","fontcolor":"#444444","questionbackgroundcolor":"#ffffff","questionborder":"on","questioncontainershadow":"on","checkicon":"f00c","animatecheckbox":"on","checkboxanimation":"rubberBand","checkboxanimationduration":"0.5","animateradio":"on","radioanimation":"zoomIn","radioanimationduration":"0.3"}', + 'cssframework_name' => 'bootstrap', + 'cssframework_css' => '{}', + 'cssframework_js' => '', + 'packages_to_load' => '{"add":["pjax","font-noto","moment"]}', + ], + "template_name = 'fruity'" + ); + } else { + $fruityConfData[] = [ + 'template_name' => 'fruity', + 'sid' => NULL, + 'gsid' => NULL, + 'uid' => NULL, + 'files_css' => '{"add":["css/ajaxify.css","css/animate.css","css/variations/sea_green.css","css/theme.css","css/custom.css"]}', + 'files_js' => '{"add":["scripts/theme.js","scripts/ajaxify.js","scripts/custom.js"]}', + 'files_print_css' => '{"add":["css/print_theme.css"]}', + 'options' => '{"ajaxmode":"off","brandlogo":"on","brandlogofile":"./files/logo.png","container":"on","backgroundimage":"off","backgroundimagefile":"./files/pattern.png","animatebody":"off","bodyanimation":"fadeInRight","bodyanimationduration":"1.0","animatequestion":"off","questionanimation":"flipInX","questionanimationduration":"1.0","animatealert":"off","alertanimation":"shake","alertanimationduration":"1.0","font":"noto","bodybackgroundcolor":"#ffffff","fontcolor":"#444444","questionbackgroundcolor":"#ffffff","questionborder":"on","questioncontainershadow":"on","checkicon":"f00c","animatecheckbox":"on","checkboxanimation":"rubberBand","checkboxanimationduration":"0.5","animateradio":"on","radioanimation":"zoomIn","radioanimationduration":"0.3"}', + 'cssframework_name' => 'bootstrap', + 'cssframework_css' => '{}', + 'cssframework_js' => '', + 'packages_to_load' => '{"add":["pjax","font-noto","moment"]}', + 'packages_ltr' => NULL, + 'packages_rtl' => NULL + ]; + $oDB->createCommand()->insert('{{template_configuration}}', $fruityConf); + } + $bootswatchConf = $oDB + ->createCommand() + ->select('*') + ->from('{{template_configuration}}') + ->where('template_name=:template_name', ['template_name'=>'bootswatch']) + ->queryRow(); + if ($bootswatchConf) { + $oDB->createCommand()->update( + '{{template_configuration}}', + [ + 'files_css' => '{"add":["css/ajaxify.css","css/theme.css","css/custom.css"]}', + 'files_js' => '{"add":["scripts/theme.js","scripts/ajaxify.js","scripts/custom.js"]}', + 'files_print_css' => '{"add":["css/print_theme.css"]}', + 'options' => '{"ajaxmode":"on","brandlogo":"on","container":"on","brandlogofile":"./files/logo.png"}', + 'cssframework_name' => 'bootstrap', + 'cssframework_css' => '{"replace":[["css/bootstrap.css","css/variations/flatly.min.css"]]}', + 'cssframework_js' => '', + 'packages_to_load' => '{"add":["pjax","font-noto"]}', + ], + "template_name = 'bootswatch'" + ); + } else { + $bootswatchConfData[] = [ + 'template_name' => 'bootswatch', + 'sid' => NULL, + 'gsid' => NULL, + 'uid' => NULL, + 'files_css' => '{"add":["css/ajaxify.css","css/theme.css","css/custom.css"]}', + 'files_js' => '{"add":["scripts/theme.js","scripts/ajaxify.js","scripts/custom.js"]}', + 'files_print_css' => '{"add":["css/print_theme.css"]}', + 'options' => '{"ajaxmode":"on","brandlogo":"on","container":"on","brandlogofile":"./files/logo.png"}', + 'cssframework_name' => 'bootstrap', + 'cssframework_css' => '{"replace":[["css/bootstrap.css","css/variations/flatly.min.css"]]}', + 'cssframework_js' => '', + 'packages_to_load' => '{"add":["pjax","font-noto"]}', + 'packages_ltr' => NULL, + 'packages_rtl' => NULL + ]; + $oDB->createCommand()->insert('{{template_configuration}}', $bootswatchConfData); + } + $oDB->createCommand()->update('{{settings_global}}', ['stg_value'=>345], "stg_name='DBVersion'"); + $oTransaction->commit(); + } + } catch (Exception $e) { Yii::app()->setConfig('Updating', false); From 39297444dc0f072e0a201371dae4cdf206c5fb9b Mon Sep 17 00:00:00 2001 From: Denis Chenu Date: Tue, 16 Jan 2018 16:57:04 +0100 Subject: [PATCH 28/84] Dev: fixed issue #13186: Unable to use actionIndex without a survey Dev: alternative : throw an error, plugin dev must use 'sa'=>'fullpagewrapper','method'=>'actionIndex' --- .../controllers/admin/PluginHelper.php | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/application/controllers/admin/PluginHelper.php b/application/controllers/admin/PluginHelper.php index 9f4606b89d4..0550cc95203 100644 --- a/application/controllers/admin/PluginHelper.php +++ b/application/controllers/admin/PluginHelper.php @@ -19,24 +19,29 @@ class PluginHelper extends Survey_Common_Action public function sidebody($surveyid = 0, $plugin = '', $method = '') { $aData = array(); - - $surveyid = sanitize_int($surveyid); - $oSurvey = Survey::model()->findByPk($surveyid); + $aData['title_bar']['title'] = ""; + $aData['surveybar']['buttons']['view'] = false; + $aData['activated'] = null; + if($surveyid) { + $surveyid = sanitize_int($surveyid); + $oSurvey = Survey::model()->findByPk($surveyid); + if($oSurvey) { + $aData['surveybar']['buttons']['view'] = true; + $aData['title_bar']['title'] = viewHelper::flatEllipsizeText($oSurvey->defaultlanguage->surveyls_title)." (".gT("ID").":".$surveyid.")"; + $aData['activated'] = $oSurvey->active; + } + // Plugin must test to send 404 if needed, maybe want to “create” a new survey, who know … + } $aData['surveyid'] = $surveyid; - - $aData['surveybar']['buttons']['view'] = true; - $aData['title_bar']['title'] = viewHelper::flatEllipsizeText($oSurvey->defaultlanguage->surveyls_title)." (".gT("ID").":".$surveyid.")"; - $content = $this->getContent($surveyid, $plugin, $method); $aData['sidemenu'] = array(); $aData['sidemenu']['state'] = false; $aData['sideMenuBehaviour'] = getGlobalSetting('sideMenuBehaviour'); $aData['content'] = $content; - $aData['activated'] = $oSurvey->active; + $aData['sideMenuOpen'] = false; // TODO: Assume this for all plugins? $this->_renderWrappedTemplate(null, array('super/sidebody'), $aData); - } /** From db9244736dca161db9f292fa2f70575b41547d50 Mon Sep 17 00:00:00 2001 From: Olle Haerstedt Date: Tue, 16 Jan 2018 16:25:37 +0100 Subject: [PATCH 29/84] Dev: Missing translation filter t in twig files --- themes/survey/vanilla/views/subviews/content/load.twig | 2 +- themes/survey/vanilla/views/subviews/content/save.twig | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/themes/survey/vanilla/views/subviews/content/load.twig b/themes/survey/vanilla/views/subviews/content/load.twig index 3cea5bc44e0..9b3d5caea31 100644 --- a/themes/survey/vanilla/views/subviews/content/load.twig +++ b/themes/survey/vanilla/views/subviews/content/load.twig @@ -137,7 +137,7 @@ diff --git a/themes/survey/vanilla/views/subviews/content/save.twig b/themes/survey/vanilla/views/subviews/content/save.twig index 3b0a682ae82..ff99c979a23 100644 --- a/themes/survey/vanilla/views/subviews/content/save.twig +++ b/themes/survey/vanilla/views/subviews/content/save.twig @@ -224,7 +224,7 @@ From 9244bf9cb50299d8bff4fc8c5a2c15f31246bb77 Mon Sep 17 00:00:00 2001 From: Olle Haerstedt Date: Tue, 16 Jan 2018 17:16:00 +0100 Subject: [PATCH 30/84] Fixed issue #13110: Language changer doesn't work --- assets/packages/limesurvey/survey.js | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/assets/packages/limesurvey/survey.js b/assets/packages/limesurvey/survey.js index 894ed5c8d7e..d5dafe5ea57 100644 --- a/assets/packages/limesurvey/survey.js +++ b/assets/packages/limesurvey/survey.js @@ -131,17 +131,20 @@ function manageIndex(){ } /** - * Update survey just when select a new language + * Reload page when participant selects a new language. + * Sets input[name=lang] to new language and submits limesurvey form. */ function activateLanguageChanger(){ - $('.lctli').on('change','select',function() { + $('.form-change-lang a.ls-language-link').on('click', function() { if(!$(this).closest('form').length){ /* we are not in a forum, can not submit directly */ if($('form#limesurvey').length==1){ /* The limesurvey form exist in document, move select and button inside and click */ $("form#limesurvey [name='lang']").remove();// Remove existing lang selector - $("").attr('name','lang').val($(this).find('option:selected').val()).appendTo($('form#limesurvey')); - $(this).closest('.ls-language-changer-item').find("[type='submit']").clone().addClass("ls-js-hidden").appendTo($('form#limesurvey')).click(); + var newLang = $(this).data('limesurvey-lang'); + $("").attr('name','lang').val(newLang).appendTo($('form#limesurvey')); + $(this).closest('.ls-language-changer-item').find("[type='submit']").clone().addClass("ls-js-hidden").appendTo($('form#limesurvey')); + $('form#limesurvey').submit(); }else{ // If there are no form : we can't use it */ if($(this).data('targeturl')){ @@ -174,6 +177,7 @@ function activateLanguageChanger(){ } }); } + /** * Action link with submit object (json) : add params to form and submit */ @@ -322,3 +326,8 @@ function alertSurveyDialog(text,title) { alert(text); } + +/* document ready function */ +$(document).on('ready pjax:scriptcomplete', function () { + activateLanguageChanger(); +}); From 904e118cfc9afc56553453452891d5e93f5f9739 Mon Sep 17 00:00:00 2001 From: Olle Haerstedt Date: Tue, 16 Jan 2018 17:19:14 +0100 Subject: [PATCH 31/84] Dev: Move activate language changer init to theme onready --- assets/packages/limesurvey/survey.js | 5 ----- themes/survey/vanilla/scripts/theme.js | 3 +++ 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/assets/packages/limesurvey/survey.js b/assets/packages/limesurvey/survey.js index d5dafe5ea57..0240012b45c 100644 --- a/assets/packages/limesurvey/survey.js +++ b/assets/packages/limesurvey/survey.js @@ -326,8 +326,3 @@ function alertSurveyDialog(text,title) { alert(text); } - -/* document ready function */ -$(document).on('ready pjax:scriptcomplete', function () { - activateLanguageChanger(); -}); diff --git a/themes/survey/vanilla/scripts/theme.js b/themes/survey/vanilla/scripts/theme.js index b058e941ba6..f7c6e1fe270 100644 --- a/themes/survey/vanilla/scripts/theme.js +++ b/themes/survey/vanilla/scripts/theme.js @@ -184,6 +184,9 @@ var ThemeScripts = function(){ $(function () { $('[data-toggle="tooltip"]').tooltip() }) + + // Bind language changer onclick event. + activateLanguageChanger(); }); /** From a570f8bf80830427fb5899323b3c4a38ea278671 Mon Sep 17 00:00:00 2001 From: Olle Haerstedt Date: Tue, 16 Jan 2018 17:26:04 +0100 Subject: [PATCH 32/84] Dev: Clean up some JS --- assets/packages/limesurvey/survey.js | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/assets/packages/limesurvey/survey.js b/assets/packages/limesurvey/survey.js index 0240012b45c..60bd1d2de4b 100644 --- a/assets/packages/limesurvey/survey.js +++ b/assets/packages/limesurvey/survey.js @@ -136,16 +136,22 @@ function manageIndex(){ */ function activateLanguageChanger(){ $('.form-change-lang a.ls-language-link').on('click', function() { - if(!$(this).closest('form').length){ + var closestForm = $(this).closest('form'); + if (!closestForm.length) { + var limesurveyForm = $('form#limesurvey'); /* we are not in a forum, can not submit directly */ - if($('form#limesurvey').length==1){ + if (limesurveyForm.length == 1) { /* The limesurvey form exist in document, move select and button inside and click */ - $("form#limesurvey [name='lang']").remove();// Remove existing lang selector var newLang = $(this).data('limesurvey-lang'); - $("").attr('name','lang').val(newLang).appendTo($('form#limesurvey')); - $(this).closest('.ls-language-changer-item').find("[type='submit']").clone().addClass("ls-js-hidden").appendTo($('form#limesurvey')); - $('form#limesurvey').submit(); - }else{ + // Remove existing lang input. + limesurveyForm.find('input[name="lang"]').remove(); + // Append new input. + $('') + .attr('name', 'lang') + .val(newLang) + .appendTo(limesurveyForm); + limesurveyForm.submit(); + } else { // If there are no form : we can't use it */ if($(this).data('targeturl')){ /* If we have a target url : just move location to this url with lang set */ From 10699e829b45ace291ba7fc6c2cb7bff0839e61d Mon Sep 17 00:00:00 2001 From: markusfluer Date: Wed, 17 Jan 2018 10:21:08 +0100 Subject: [PATCH 33/84] Fixed issue: Update issue --- .../helpers/update/updatedb_helper.php | 6 ++-- .../questions/answer/5pointchoice/answer.twig | 34 +++++++++++++++++++ .../answer/5pointchoice/rows/item_row.twig | 26 ++++++++++++++ 3 files changed, 63 insertions(+), 3 deletions(-) create mode 100644 application/views/survey/questions/answer/5pointchoice/answer.twig create mode 100644 application/views/survey/questions/answer/5pointchoice/rows/item_row.twig diff --git a/application/helpers/update/updatedb_helper.php b/application/helpers/update/updatedb_helper.php index fc5fed69a2f..715f50d6c37 100644 --- a/application/helpers/update/updatedb_helper.php +++ b/application/helpers/update/updatedb_helper.php @@ -1051,7 +1051,7 @@ function db_upgrade_all($iOldDBVersion, $bSilent = false) "template_name = 'fruity'" ); } else { - $fruityConfData[] = [ + $fruityConfData = [ 'template_name' => 'fruity', 'sid' => NULL, 'gsid' => NULL, @@ -1067,7 +1067,7 @@ function db_upgrade_all($iOldDBVersion, $bSilent = false) 'packages_ltr' => NULL, 'packages_rtl' => NULL ]; - $oDB->createCommand()->insert('{{template_configuration}}', $fruityConf); + $oDB->createCommand()->insert('{{template_configuration}}', $fruityConfData); } $bootswatchConf = $oDB ->createCommand() @@ -1091,7 +1091,7 @@ function db_upgrade_all($iOldDBVersion, $bSilent = false) "template_name = 'bootswatch'" ); } else { - $bootswatchConfData[] = [ + $bootswatchConfData = [ 'template_name' => 'bootswatch', 'sid' => NULL, 'gsid' => NULL, diff --git a/application/views/survey/questions/answer/5pointchoice/answer.twig b/application/views/survey/questions/answer/5pointchoice/answer.twig new file mode 100644 index 00000000000..20df37653f6 --- /dev/null +++ b/application/views/survey/questions/answer/5pointchoice/answer.twig @@ -0,0 +1,34 @@ +{# +/** + * 5 point choice Html + * + * @var $sRows : the rows, generated with the view item_row.php + * @var $slider_rating : slider rating display in question attribute + * + * @var $id + * @var $sliderId $ia[0]; + * @var $name' => $ia[1], + * @var $sessionValue + */ +#} + + + + +
    + {{sRows}} +
+ +{#/* Value for expression manager javascript (use id) ; no need to submit */#} + + + +{% if slider_rating==1 %} + {{ registerScript('doRatingStar_' ~ sliderId, "alert('Not loading'); doRatingStar(" ~ sliderId ~ "); ", POS_POSTSCRIPT) }} +{% elseif slider_rating==2 %} + {{ registerScript("doRatingSlider_" ~ sliderId, " + var doRatingSlider_" ~ sliderId ~ "= new getRatingSlider( " ~ sliderId ~ "); + doRatingSlider_" ~ sliderId ~ "(); + ", POS_POSTSCRIPT)}} +{% endif %} + diff --git a/application/views/survey/questions/answer/5pointchoice/rows/item_row.twig b/application/views/survey/questions/answer/5pointchoice/rows/item_row.twig new file mode 100644 index 00000000000..0502a4322b0 --- /dev/null +++ b/application/views/survey/questions/answer/5pointchoice/rows/item_row.twig @@ -0,0 +1,26 @@ +{# +/** + * 5 point choice Html : item row + * + * @var $name + * @var $value + * @var $id + * @var $labelText + * @var $itemExtraClass + * @var $checkedState + * @var $checkconditionFunction + */ +#} + + +
  • + + +
  • + From 6911202aa07f41a65e5d42ff3263649c4e90b487 Mon Sep 17 00:00:00 2001 From: Olle Haerstedt Date: Wed, 17 Jan 2018 10:46:43 +0100 Subject: [PATCH 34/84] Fixed issue #13110: Language changer doesn't work --- assets/packages/limesurvey/survey.js | 3 +++ themes/survey/vanilla/scripts/theme.js | 7 ++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/assets/packages/limesurvey/survey.js b/assets/packages/limesurvey/survey.js index 60bd1d2de4b..ae43077a4b5 100644 --- a/assets/packages/limesurvey/survey.js +++ b/assets/packages/limesurvey/survey.js @@ -150,7 +150,10 @@ function activateLanguageChanger(){ .attr('name', 'lang') .val(newLang) .appendTo(limesurveyForm); + // Append move type. + $('').appendTo(limesurveyForm); limesurveyForm.submit(); + // TODO: Check all code below. When does it happen? } else { // If there are no form : we can't use it */ if($(this).data('targeturl')){ diff --git a/themes/survey/vanilla/scripts/theme.js b/themes/survey/vanilla/scripts/theme.js index f7c6e1fe270..d7b2e51605c 100644 --- a/themes/survey/vanilla/scripts/theme.js +++ b/themes/survey/vanilla/scripts/theme.js @@ -98,12 +98,13 @@ var ThemeScripts = function(){ }); } + /* var initLanguageChanger = function(selectorItem, selectorGlobalForm){ $(selectorItem).on('change',function() { var lang = $(this).val(); logObject.log(lang, 'changed'); - // If there are no form : we can't use it */ - /* No form, not targeturl : just see what happen */ + // If there are no form : we can't use it + // No form, not targeturl : just see what happen var target = window.location.href; $("", { "class":'ls-js-hidden', @@ -113,6 +114,7 @@ var ThemeScripts = function(){ }).appendTo('body').submit(); }); }; + */ var initTopMenuLanguageChanger = function(selectorItem, selectorGlobalForm){ // $(selectorContainer).height($('#main-row').height()); @@ -219,7 +221,6 @@ var ThemeScripts = function(){ fixBodyPadding : fixBodyPadding, hideQuestionWithRelevanceSubQuestion : window.templateCore.hideQuestionWithRelevanceSubQuestion, hideEmptyPart : hideEmptyPart, - initLanguageChanger: initLanguageChanger, initTopMenuLanguageChanger: initTopMenuLanguageChanger, log: logObject } From 656a14d6f27cc4ffaf188dc67b5e810bfb70223f Mon Sep 17 00:00:00 2001 From: markusfluer Date: Wed, 17 Jan 2018 10:53:38 +0100 Subject: [PATCH 35/84] Fixed issue #13176: Conditions on 1-5 Single Choice doesn't work with Star Rating (default + slider works) Dev: rearranged 5pointchoice to twig --- application/helpers/qanda_helper.php | 16 ++++--- .../questions/answer/5pointchoice/answer.php | 44 ------------------- .../questions/answer/5pointchoice/answer.twig | 15 ++----- .../answer/5pointchoice/rows/item_row.php | 26 ----------- assets/scripts/star-rating.js | 5 ++- 5 files changed, 17 insertions(+), 89 deletions(-) delete mode 100644 application/views/survey/questions/answer/5pointchoice/answer.php delete mode 100644 application/views/survey/questions/answer/5pointchoice/rows/item_row.php diff --git a/application/helpers/qanda_helper.php b/application/helpers/qanda_helper.php index 2cf60192039..1411f34f2e0 100644 --- a/application/helpers/qanda_helper.php +++ b/application/helpers/qanda_helper.php @@ -778,7 +778,7 @@ function do_5pointchoice($ia) $aQuestionAttributes = QuestionAttribute::model()->getQuestionAttributes($ia[0]); $inputnames = array(); - $sRows = ""; + $aRows = array();; for ($fp = 1; $fp <= 5; $fp++) { $checkedState = ''; if ($_SESSION['survey_'.Yii::app()->getConfig('surveyID')][$ia[1]] == $fp) { @@ -786,7 +786,7 @@ function do_5pointchoice($ia) $checkedState = ' CHECKED '; } - $sRows .= doRender('/survey/questions/answer/5pointchoice/rows/item_row', array( + $aRows[] = array( 'name' => $ia[1], 'value' => $fp, 'id' => $ia[1].$fp, @@ -794,7 +794,7 @@ function do_5pointchoice($ia) 'itemExtraClass' => '', 'checkedState' => $checkedState, 'checkconditionFunction' => $checkconditionFunction, - ), true); + ); } if ($ia[6] != "Y" && SHOW_NO_ANSWER == 1) { @@ -803,7 +803,7 @@ function do_5pointchoice($ia) if (!$_SESSION['survey_'.Yii::app()->getConfig('surveyID')][$ia[1]]) { $checkedState = ' CHECKED '; } - $aData = array( + $aRows[] = array( 'name' => $ia[1], 'value' => "", 'id' => $ia[1], @@ -812,7 +812,6 @@ function do_5pointchoice($ia) 'checkedState' => $checkedState, 'checkconditionFunction' => $checkconditionFunction, ); - $sRows .= doRender('/survey/questions/answer/5pointchoice/rows/item_row', $aData, true); } $sessionValue = $_SESSION['survey_'.Yii::app()->getConfig('surveyID')][$ia[1]]; @@ -825,6 +824,10 @@ function do_5pointchoice($ia) $slider_rating = 1; Yii::app()->getClientScript()->registerCssFile(Yii::app()->getConfig('publicstyleurl').'star-rating.css'); Yii::app()->getClientScript()->registerScriptFile(Yii::app()->getConfig('generalscripts')."star-rating.js", LSYii_ClientScript::POS_BEGIN); + Yii::app()->getClientScript()->registerScript('doRatingSlider_'.$ia[0], " + var doRatingSlider_".$ia[1]."= new getRatingSlider('".$ia[0]."'); + doRatingSlider_".$ia[1]."(); + ", LSYii_ClientScript::POS_POSTSCRIPT); } if ($aQuestionAttributes['slider_rating'] == 2) { @@ -832,6 +835,7 @@ function do_5pointchoice($ia) Yii::app()->getClientScript()->registerPackage('emoji'); Yii::app()->getClientScript()->registerCssFile(Yii::app()->getConfig('publicstyleurl').'slider-rating.css'); Yii::app()->getClientScript()->registerScriptFile(Yii::app()->getConfig('generalscripts')."slider-rating.js", LSYii_ClientScript::POS_BEGIN); + Yii::app()->getClientScript()->registerScript('doRatingStar_'.$ia[0], "doRatingStar('".$ia[0]."'); ", LSYii_ClientScript::POS_POSTSCRIPT); } @@ -841,7 +845,7 @@ function do_5pointchoice($ia) 'name' => $ia[1], 'basename' => $ia[1], 'sessionValue' => $sessionValue, - 'sRows' => $sRows, + 'aRows' => $aRows, 'slider_rating' => $slider_rating, ), true); diff --git a/application/views/survey/questions/answer/5pointchoice/answer.php b/application/views/survey/questions/answer/5pointchoice/answer.php deleted file mode 100644 index 9fd29ed1c9d..00000000000 --- a/application/views/survey/questions/answer/5pointchoice/answer.php +++ /dev/null @@ -1,44 +0,0 @@ - $ia[1], - * @var $sessionValue - */ -?> - - - - -
      - -
    - "java{$name}", - 'disabled' => true, -)); -?> - -clientScript->registerScript('doRatingStar_'.$sliderId, " - $(document).on('ready pjax:scriptcomplete', function(){doRatingStar(".$sliderId.");}); - ",CClientScript::POS_END); -} else if($slider_rating==2) { - Yii::app()->clientScript->registerScript("doRatingSlider_".$sliderId, " - var doRatingSlider_".$sliderId."= new getRatingSlider( ".$sliderId."); - doRatingSlider_".$sliderId."(); - ",CClientScript::POS_END); -} -?> - diff --git a/application/views/survey/questions/answer/5pointchoice/answer.twig b/application/views/survey/questions/answer/5pointchoice/answer.twig index 20df37653f6..199a60db38a 100644 --- a/application/views/survey/questions/answer/5pointchoice/answer.twig +++ b/application/views/survey/questions/answer/5pointchoice/answer.twig @@ -16,19 +16,12 @@
      - {{sRows}} + {% for aRow in aRows %} + {% include './survey/questions/answer/5pointchoice/rows/item_row.twig' with aRow only %} + {% endfor %}
    {#/* Value for expression manager javascript (use id) ; no need to submit */#} - + -{% if slider_rating==1 %} - {{ registerScript('doRatingStar_' ~ sliderId, "alert('Not loading'); doRatingStar(" ~ sliderId ~ "); ", POS_POSTSCRIPT) }} -{% elseif slider_rating==2 %} - {{ registerScript("doRatingSlider_" ~ sliderId, " - var doRatingSlider_" ~ sliderId ~ "= new getRatingSlider( " ~ sliderId ~ "); - doRatingSlider_" ~ sliderId ~ "(); - ", POS_POSTSCRIPT)}} -{% endif %} - diff --git a/application/views/survey/questions/answer/5pointchoice/rows/item_row.php b/application/views/survey/questions/answer/5pointchoice/rows/item_row.php deleted file mode 100644 index 98c03739e1a..00000000000 --- a/application/views/survey/questions/answer/5pointchoice/rows/item_row.php +++ /dev/null @@ -1,26 +0,0 @@ - - - -
  • - - /> - -
  • - diff --git a/assets/scripts/star-rating.js b/assets/scripts/star-rating.js index 052eedb749a..6bbee478527 100644 --- a/assets/scripts/star-rating.js +++ b/assets/scripts/star-rating.js @@ -104,9 +104,9 @@ function doRatingStar(qID) { var thischoice=$(this).data('star'); //toggle the em-action on the hidden input answersList.find("input[type=radio]").prop('checked',false); - answersList.find("input[value='"+thischoice+"']").prop('checked',true).trigger('click'); + answersList.find("input[value='"+thischoice+"']").prop('checked',true).trigger('change'); //clean up classes - $(this).siblings('.star-rating').removeClass("star-rated").removeClass("star-rated-on"); + $(this).siblings('.star-rating').removeClass("star-thisrated").removeClass("star-rated").removeClass("star-rated-on"); //mark the chosen star $(this).addClass("star-rated").addClass("star-thisrated").addClass("star-rated-on"); //iterate through the siblings to mark the stars lower than the current @@ -118,6 +118,7 @@ function doRatingStar(qID) { // if cancel, remove all classes if($(this).hasClass('star-cancel')){ $(this).siblings('.star-rating').removeClass("star-rated-on").removeClass("star-rated"); + answersList.find('.noanswer-item').find("input[type=radio]").prop('checked',true).trigger('change'); } }); From 6588f0e728f326754a03821c29501e58238c136e Mon Sep 17 00:00:00 2001 From: Olle Haerstedt Date: Wed, 17 Jan 2018 10:54:24 +0100 Subject: [PATCH 36/84] Dev: Remove unused button --- themes/survey/vanilla/scripts/theme.js | 2 -- .../navigation/language_changer_top_menu.twig | 21 ------------------- 2 files changed, 23 deletions(-) diff --git a/themes/survey/vanilla/scripts/theme.js b/themes/survey/vanilla/scripts/theme.js index d7b2e51605c..22913af55c4 100644 --- a/themes/survey/vanilla/scripts/theme.js +++ b/themes/survey/vanilla/scripts/theme.js @@ -123,8 +123,6 @@ var ThemeScripts = function(){ /* The limesurvey form exist in document, move select and button inside and click */ $(selectorGlobalForm+" [name='lang']").remove(); // Remove existing lang selector $("").attr('name','lang').val(lang).appendTo($(selectorGlobalForm)); - $('#changlangButton').clone().appendTo($(selectorGlobalForm)).click(); - }); }; diff --git a/themes/survey/vanilla/views/subviews/navigation/language_changer_top_menu.twig b/themes/survey/vanilla/views/subviews/navigation/language_changer_top_menu.twig index 232ea52d0ac..d9dfa0d44f1 100644 --- a/themes/survey/vanilla/views/subviews/navigation/language_changer_top_menu.twig +++ b/themes/survey/vanilla/views/subviews/navigation/language_changer_top_menu.twig @@ -49,27 +49,6 @@ - {# - Generates a simple bootstrap HTML button using the Yii widget. - @see: http://www.yiiframework.com/wiki/48/by-example-chtml/#hh2 - You can add remove attribute to the button via the array aButtonhtmlOptions - #} - {% set aButtonhtmlOptions = { - 'id' : 'changlangButton', - 'type' : 'submit', - 'value': 'changelang', - 'name' : 'move', - 'class': 'btn btn-default ls-js-hidden', - } - %} - - {{ - C.Html.htmlButton( - ("Change the language" | gT ), - aButtonhtmlOptions - ) - }} - {% endif %} {{ registerScript("BasicThemeScripts-TopLanguageChanger", "basicThemeScripts.initTopMenuLanguageChanger('." ~ aSurveyInfo.class.lctdropdownlia ~ "', 'form#limesurvey'); ", POS_READY) }} From 4e05e6199d4edac3c105c7a542073690b5976f9f Mon Sep 17 00:00:00 2001 From: markusfluer Date: Wed, 17 Jan 2018 11:08:58 +0100 Subject: [PATCH 37/84] Fixed issue #13177: 1-5 Single Choice with Slider & deactivated "no answer" still let's the slider move to 6th element (outside of the slider) --- assets/scripts/slider-rating.js | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/assets/scripts/slider-rating.js b/assets/scripts/slider-rating.js index 37c146c5025..cd744aaea52 100644 --- a/assets/scripts/slider-rating.js +++ b/assets/scripts/slider-rating.js @@ -29,9 +29,15 @@ function getRatingSlider(qID){ calculateMapObjects = function(){ var maps = {}; //the map to the relative position based on the container for screens >640px - var mapToStickToSelection = { 1 : 31 , 2 : 123, 3 : 214, 4 : 304, 5 : 397, 6 : 476}; + var mapToStickToSelection = { 1 : 31 , 2 : 123, 3 : 214, 4 : 304, 5 : 397}; //the map to the relative position based on the container for screens <640px - var mapToStickToSelectionSmallScreen = { 1 : 16 , 2 : 72, 3 : 127, 4 : 182, 5 : 236, 6 : 286}; + var mapToStickToSelectionSmallScreen = { 1 : 16 , 2 : 72, 3 : 127, 4 : 182, 5 : 236}; + + if(checkHasNoAnswerOption()) { + mapToStickToSelection[6] = 476; + mapToStickToSelectionSmallScreen[6] = 286; + } + if( $(window).width() < 640){ maps.selection = mapToStickToSelectionSmallScreen; } else { @@ -39,9 +45,15 @@ function getRatingSlider(qID){ } //the map to the field with attributes min and max for screens >640px - var mapToStickToSelection = { 1 : {min: 0, max:78} , 2 : {min: 78, max:171}, 3 : {min: 171, max:264}, 4 : {min: 264, max:357}, 5 : {min: 357, max:450}, 6 : {min: 450, max:543}}; + var mapToStickToSelection = { 1 : {min: 0, max:78} , 2 : {min: 78, max:171}, 3 : {min: 171, max:264}, 4 : {min: 264, max:357}, 5 : {min: 357, max:543}}; //the map to the field with attributes min and max for screens <640px - var mapToStickToSelectionSmallScreen = { 1 : {min: 0, max:44} , 2 : {min: 44, max:100} , 3 : {min: 100, max:156} , 4 : {min: 156, max:212} , 5 : {min: 212, max:268}, 6 : {min: 268, max:324} }; + var mapToStickToSelectionSmallScreen = { 1 : {min: 0, max:44} , 2 : {min: 44, max:100} , 3 : {min: 100, max:156} , 4 : {min: 156, max:212} , 5 : {min: 212, max:324}}; + if(checkHasNoAnswerOption()) { + mapToStickToSelection[6] = {min: 450, max:543}; + mapToStickToSelectionSmallScreen[6] = {min: 268, max:324}; + mapToStickToSelection[5] = {min: 357, max:450}; + mapToStickToSelectionSmallScreen[5] = {min: 212, max:268}; + } if( $(window).width() < 640){ maps.borders = mapToStickToSelectionSmallScreen; } else { @@ -140,7 +152,6 @@ function getRatingSlider(qID){ //Add the "no answer" label, if the question need one, also add the mandatory class to the sliderline if(!checkHasNoAnswerOption()){ package.sliderLine.addClass('mandatory'); - package.sliderLine.addClass('mandatory'); } else { package.sliderInnerHtmlElement.append(package.sliderLabelNoAnswer); } From d05d166139b5ef58527d0b4f9be05f6ac1145e88 Mon Sep 17 00:00:00 2001 From: markusfluer Date: Wed, 17 Jan 2018 11:25:44 +0100 Subject: [PATCH 38/84] Dev: small usability fixes --- application/helpers/SurveyRuntimeHelper.php | 112 +++++++++--------- .../questions/answer/ranking/answer.twig | 7 -- 2 files changed, 57 insertions(+), 62 deletions(-) diff --git a/application/helpers/SurveyRuntimeHelper.php b/application/helpers/SurveyRuntimeHelper.php index 5359c93a610..e3d37d1d206 100644 --- a/application/helpers/SurveyRuntimeHelper.php +++ b/application/helpers/SurveyRuntimeHelper.php @@ -148,76 +148,78 @@ public function run($surveyid, $args) } $upload_file = false; - foreach ($_SESSION[$this->LEMsessid]['fieldarray'] as $key => $ia) { - ++$qnumber; - $ia[9] = $qnumber; // incremental question count; + if(isset($_SESSION[$this->LEMsessid]['fieldarray'])) { + foreach ($_SESSION[$this->LEMsessid]['fieldarray'] as $key => $ia) { + ++$qnumber; + $ia[9] = $qnumber; // incremental question count; - // Make $qanda only for needed question $ia[10] is the randomGroup and $ia[5] the real group - if ((isset($ia[10]) && $ia[10] == $gid) || (!isset($ia[10]) && $ia[5] == $gid)) { + // Make $qanda only for needed question $ia[10] is the randomGroup and $ia[5] the real group + if ((isset($ia[10]) && $ia[10] == $gid) || (!isset($ia[10]) && $ia[5] == $gid)) { - // In question by question mode, we only procceed current question - if ($this->sSurveyMode == 'question' && $ia[0] != $this->aStepInfo['qid']) { - continue; - } - - // In group by group mode, we only procceed current group - if ($this->sSurveyMode == 'group' && $ia[5] != $this->aStepInfo['gid']) { - if (isset($_SESSION[$this->LEMsessid]['fieldmap-'.$this->iSurveyid.'-randMaster'])) { - // This is a randomized survey, don't continue. - } else { + // In question by question mode, we only procceed current question + if ($this->sSurveyMode == 'question' && $ia[0] != $this->aStepInfo['qid']) { continue; } - } - $qidattributes = QuestionAttribute::model()->getQuestionAttributes($ia[0]); + // In group by group mode, we only procceed current group + if ($this->sSurveyMode == 'group' && $ia[5] != $this->aStepInfo['gid']) { + if (isset($_SESSION[$this->LEMsessid]['fieldmap-'.$this->iSurveyid.'-randMaster'])) { + // This is a randomized survey, don't continue. + } else { + continue; + } + } - if ($ia[4] != '*' && ($qidattributes === false || !isset($qidattributes['hidden']) || $qidattributes['hidden'] == 1)) { - continue; - } + $qidattributes = QuestionAttribute::model()->getQuestionAttributes($ia[0]); - //Get the answers/inputnames - // TMSW - can content of retrieveAnswers() be provided by LEM? Review scope of what it provides. - // TODO - retrieveAnswers is slow - queries database separately for each question. May be fixed in _CI or _YII ports, so ignore for now - list($plus_qanda, $plus_inputnames) = retrieveAnswers($ia); + if ($ia[4] != '*' && ($qidattributes === false || !isset($qidattributes['hidden']) || $qidattributes['hidden'] == 1)) { + continue; + } + + //Get the answers/inputnames + // TMSW - can content of retrieveAnswers() be provided by LEM? Review scope of what it provides. + // TODO - retrieveAnswers is slow - queries database separately for each question. May be fixed in _CI or _YII ports, so ignore for now + list($plus_qanda, $plus_inputnames) = retrieveAnswers($ia); - if ($plus_qanda) { - $plus_qanda[] = $ia[4]; - $plus_qanda[] = $ia[6]; // adds madatory identifyer for adding mandatory class to question wrapping div + if ($plus_qanda) { + $plus_qanda[] = $ia[4]; + $plus_qanda[] = $ia[6]; // adds madatory identifyer for adding mandatory class to question wrapping div - // Add a finalgroup in qa array , needed for random attribute : TODO: find a way to have it in new quanda_helper in 2.1 - if (isset($ia[10])) { - $plus_qanda['finalgroup'] = $ia[10]; - } else { - $plus_qanda['finalgroup'] = $ia[5]; + // Add a finalgroup in qa array , needed for random attribute : TODO: find a way to have it in new quanda_helper in 2.1 + if (isset($ia[10])) { + $plus_qanda['finalgroup'] = $ia[10]; + } else { + $plus_qanda['finalgroup'] = $ia[5]; + } + + $qanda[] = $plus_qanda; + } + if ($plus_inputnames) { + $inputnames = addtoarray_single($inputnames, $plus_inputnames); } - $qanda[] = $plus_qanda; - } - if ($plus_inputnames) { - $inputnames = addtoarray_single($inputnames, $plus_inputnames); - } + //Display the "mandatory" popup if necessary + // TMSW - get question-level error messages - don't call **_popup() directly + if ($okToShowErrors && $this->aStepInfo['mandViolation']) { + list($mandatorypopup, $this->popup) = mandatory_popup($ia, $this->notanswered); + } - //Display the "mandatory" popup if necessary - // TMSW - get question-level error messages - don't call **_popup() directly - if ($okToShowErrors && $this->aStepInfo['mandViolation']) { - list($mandatorypopup, $this->popup) = mandatory_popup($ia, $this->notanswered); - } + //Display the "validation" popup if necessary + if ($okToShowErrors && !$this->aStepInfo['valid']) { + list($validationpopup, $vpopup) = validation_popup($ia, $this->notvalidated); + } - //Display the "validation" popup if necessary - if ($okToShowErrors && !$this->aStepInfo['valid']) { - list($validationpopup, $vpopup) = validation_popup($ia, $this->notvalidated); + // Display the "file validation" popup if necessary + if ($okToShowErrors && ($this->filenotvalidated !== false)) { + list($filevalidationpopup, $fpopup) = file_validation_popup($ia, $this->filenotvalidated); + } } - // Display the "file validation" popup if necessary - if ($okToShowErrors && ($this->filenotvalidated !== false)) { - list($filevalidationpopup, $fpopup) = file_validation_popup($ia, $this->filenotvalidated); + if ($ia[4] == "|") { + $upload_file = true; } - } - - if ($ia[4] == "|") { - $upload_file = true; - } - } //end iteration + } //end iteration + } } if ($this->sSurveyMode != 'survey' && isset($this->aSurveyInfo['showprogress']) && $this->aSurveyInfo['showprogress'] == 'Y') { @@ -227,7 +229,7 @@ public function run($surveyid, $args) $this->aSurveyInfo['progress']['total'] = $_SESSION[$this->LEMsessid]['totalsteps']; } else { $this->aSurveyInfo['progress']['currentstep'] = $_SESSION[$this->LEMsessid]['step']; - $this->aSurveyInfo['progress']['total'] = $_SESSION[$this->LEMsessid]['totalsteps']; + $this->aSurveyInfo['progress']['total'] = isset($_SESSION[$this->LEMsessid]['totalsteps']) ? $_SESSION[$this->LEMsessid]['totalsteps'] : 1; } } diff --git a/themes/question/ranking_advanced/survey/questions/answer/ranking/answer.twig b/themes/question/ranking_advanced/survey/questions/answer/ranking/answer.twig index ad47be693b9..e4cb740c77a 100644 --- a/themes/question/ranking_advanced/survey/questions/answer/ranking/answer.twig +++ b/themes/question/ranking_advanced/survey/questions/answer/ranking/answer.twig @@ -30,13 +30,6 @@ */ #} -

    DEBUG:
    -question_template_attribute.show_handle : {{question_template_attribute.show_handle}}
    -question_template_attribute.show_number : {{question_template_attribute.show_number}}
    -question_template_attribute.only_pull : {{question_template_attribute.only_pull}}
    -question_template_attribute.visualize : {{question_template_attribute.visualize}}
    -

    - {% set show_handle=question_template_attribute.show_handle %} {% set show_number=question_template_attribute.show_number %} From 469234880205215ba6aecc0dbda6637ddb80721a Mon Sep 17 00:00:00 2001 From: Olle Haerstedt Date: Wed, 17 Jan 2018 11:41:11 +0100 Subject: [PATCH 39/84] Dev: PHPDocs --- application/helpers/SurveyRuntimeHelper.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/application/helpers/SurveyRuntimeHelper.php b/application/helpers/SurveyRuntimeHelper.php index e3d37d1d206..84240b43cb1 100644 --- a/application/helpers/SurveyRuntimeHelper.php +++ b/application/helpers/SurveyRuntimeHelper.php @@ -1652,6 +1652,11 @@ private function initTemplate() //$oTemplate->registerAssets(); } + /** + * Set alanguageChanger.show to true if we need to show + * the language changer. + * @return void + */ private function makeLanguageChanger() { $this->aSurveyInfo['alanguageChanger']['show'] = false; From c28b3d3a89c2185c8d6dcc04063920241e0cfe97 Mon Sep 17 00:00:00 2001 From: Olle Haerstedt Date: Wed, 17 Jan 2018 12:01:14 +0100 Subject: [PATCH 40/84] Fixed issue #13110: Language changer doesn't work --- application/helpers/SurveyRuntimeHelper.php | 5 +-- assets/packages/limesurvey/survey.js | 35 ++++++++++++++------- 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/application/helpers/SurveyRuntimeHelper.php b/application/helpers/SurveyRuntimeHelper.php index 84240b43cb1..26b8587e7e4 100644 --- a/application/helpers/SurveyRuntimeHelper.php +++ b/application/helpers/SurveyRuntimeHelper.php @@ -937,11 +937,12 @@ private function displayFirstPageIfNeeded() if ($this->sSurveyMode != 'survey' && $_SESSION[$this->LEMsessid]['step'] == 0) { $_SESSION[$this->LEMsessid]['test'] = time(); - // TODO: Find out why language is not fetched correctly the first time. - $this->aSurveyInfo = getSurveyInfo( + // TODO: Find out why language is not fetched correctly the first time. Where is s_lang set? + $tmpSurveyInfo = getSurveyInfo( $this->thissurvey['sid'], $_SESSION['survey_'.$this->thissurvey['sid']]['s_lang'] ); + $this->aSurveyInfo = array_merge($this->aSurveyInfo, $tmpSurveyInfo); display_first_page($this->thissurvey, $this->aSurveyInfo); Yii::app()->end(); // So we can still see debug messages diff --git a/assets/packages/limesurvey/survey.js b/assets/packages/limesurvey/survey.js index ae43077a4b5..8ab1613eebd 100644 --- a/assets/packages/limesurvey/survey.js +++ b/assets/packages/limesurvey/survey.js @@ -135,24 +135,32 @@ function manageIndex(){ * Sets input[name=lang] to new language and submits limesurvey form. */ function activateLanguageChanger(){ + var limesurveyForm = $('form#limesurvey'); + + /** + * @param {string} lang Language to change to. + */ + var applyChangeAndSubmit = function(lang) { + // Remove existing lang input. + limesurveyForm.find('input[name="lang"]').remove(); + // Append new input. + $('') + .attr('name', 'lang') + .val(lang) + .appendTo(limesurveyForm); + // Append move type. + $('').appendTo(limesurveyForm); + limesurveyForm.submit(); + }; + $('.form-change-lang a.ls-language-link').on('click', function() { var closestForm = $(this).closest('form'); if (!closestForm.length) { - var limesurveyForm = $('form#limesurvey'); /* we are not in a forum, can not submit directly */ if (limesurveyForm.length == 1) { /* The limesurvey form exist in document, move select and button inside and click */ var newLang = $(this).data('limesurvey-lang'); - // Remove existing lang input. - limesurveyForm.find('input[name="lang"]').remove(); - // Append new input. - $('') - .attr('name', 'lang') - .val(newLang) - .appendTo(limesurveyForm); - // Append move type. - $('').appendTo(limesurveyForm); - limesurveyForm.submit(); + applyChangeAndSubmit(newLang); // TODO: Check all code below. When does it happen? } else { // If there are no form : we can't use it */ @@ -185,6 +193,11 @@ function activateLanguageChanger(){ $(this).closest('.ls-language-changer-item').find(":submit").click(); } }); + + // Survey welcome page language changer. + $('#langchangerSelectMain').on('change', function() { + applyChangeAndSubmit($(this).val()); + }); } /** From 173ffbc2ba61a09c277668b177763aab34e61a0e Mon Sep 17 00:00:00 2001 From: Olle Haerstedt Date: Wed, 17 Jan 2018 12:05:49 +0100 Subject: [PATCH 41/84] Dev: Fix some errors with bootswatch theme --- themes/survey/bootswatch/scripts/theme.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/themes/survey/bootswatch/scripts/theme.js b/themes/survey/bootswatch/scripts/theme.js index e6a1ae4bf23..c00771db4f8 100644 --- a/themes/survey/bootswatch/scripts/theme.js +++ b/themes/survey/bootswatch/scripts/theme.js @@ -20,7 +20,7 @@ * The general Template closure. * This is to capsule eventual errors inside of the template function, so the general script all run as the should */ -var Template = function(){ +var ThemeScripts = function(){ /** * The function focusFirst puts the Focus on the first non-hidden element in the Survey. @@ -165,6 +165,9 @@ var Template = function(){ $(function () { $('[data-toggle="tooltip"]').tooltip() }) + + // Bind language changer onclick event. + activateLanguageChanger(); }); /** * Code included inside this will run each time windows is resized @@ -197,7 +200,7 @@ var Template = function(){ focusFirst: focusFirst, sliderSuffixClone : sliderSuffixClone, fixBodyPadding : fixBodyPadding, - window.templateCore.hideQuestionWithRelevanceSubQuestion : window.templateCore.hideQuestionWithRelevanceSubQuestion, + hideQuestionWithRelevanceSubQuestion : window.templateCore.hideQuestionWithRelevanceSubQuestion, hideEmptyPart : hideEmptyPart, initLanguageChanger: initLanguageChanger, initTopMenuLanguageChanger: initTopMenuLanguageChanger From 40822e6d046744a455f17a44cc2cdafe84cf9a11 Mon Sep 17 00:00:00 2001 From: Carsten Schmitz Date: Wed, 17 Jan 2018 12:32:05 +0100 Subject: [PATCH 42/84] Fixed issue: Slow performance on every admininstration page if you have alot of surveys --- application/controllers/admin/index.php | 4 ++-- application/helpers/common_helper.php | 11 ++------- application/models/Survey.php | 25 ++++++++++---------- application/models/SurveyLanguageSetting.php | 5 ++++ 4 files changed, 21 insertions(+), 24 deletions(-) diff --git a/application/controllers/admin/index.php b/application/controllers/admin/index.php index 8adc7da9559..a521e7304da 100644 --- a/application/controllers/admin/index.php +++ b/application/controllers/admin/index.php @@ -71,8 +71,8 @@ public function run() $aData['showLastQuestion'] = false; } - $aData['countSurveyList'] = count((array) getSurveyList(true)); - + $aData['countSurveyList'] = Survey::model()->count(); + // We get the home page display setting $aData['bShowSurveyList'] = (getGlobalSetting('show_survey_list') == "show"); $aData['bShowSurveyListSearch'] = (getGlobalSetting('show_survey_list_search') == "show"); diff --git a/application/helpers/common_helper.php b/application/helpers/common_helper.php index 584bff95d4b..4e525e94081 100644 --- a/application/helpers/common_helper.php +++ b/application/helpers/common_helper.php @@ -178,17 +178,10 @@ function getSurveyList($bReturnArray = false) if (is_null($cached)) { $surveyidresult = Survey::model() ->permission(Yii::app()->user->getId()) + ->with('languagesettings') ->findAll(); foreach ($surveyidresult as $result) { - if (!empty($result->defaultlanguage)) { - $surveynames[] = array_merge($result->attributes, $result->defaultlanguage->attributes); - } elseif (!($bCheckIntegrity)) { - $bCheckIntegrity = true; - Yii::app()->setFlashMessage( - CHtml::link(gT("One or more surveys seem to be broken - please use the data integrity check tool to fix this."), array("admin/checkintegrity")) - , - 'error'); - } + $surveynames[] = array_merge($result->attributes,$result->languagesettings[$result->language]->attributes); } usort($surveynames, function($a, $b) diff --git a/application/models/Survey.php b/application/models/Survey.php index b743b256f50..f3d22380987 100755 --- a/application/models/Survey.php +++ b/application/models/Survey.php @@ -186,7 +186,7 @@ public function init() $this->template = Template::templateNameFilter(getGlobalSetting('defaulttheme')); $validator = new LSYii_Validators; $this->language = $validator->languageFilter(Yii::app()->getConfig('defaultlang')); - $this->attachEventHandler("onAfterFind", array($this, 'fixSurveyAttribute')); + $this->attachEventHandler("onAfterFind", array($this, 'afterFindSurvey')); } /** @inheritdoc */ @@ -289,15 +289,15 @@ public static function model($class = __CLASS__) public function relations() { return array( - 'permissions' => array(self::HAS_MANY, 'Permission', array('entity_id'=> 'sid'), 'together' => true), // - 'languagesettings' => array(self::HAS_MANY, 'SurveyLanguageSetting', 'surveyls_survey_id', 'index' => 'surveyls_language', 'together' => true), - 'defaultlanguage' => array(self::BELONGS_TO, 'SurveyLanguageSetting', array('language' => 'surveyls_language', 'sid' => 'surveyls_survey_id'), 'together' => true), - 'correct_relation_defaultlanguage' => array(self::HAS_ONE, 'SurveyLanguageSetting', array('surveyls_language' => 'language', 'surveyls_survey_id' => 'sid'), 'together' => true), - 'owner' => array(self::BELONGS_TO, 'User', 'owner_id', 'together' => true), - 'groups' => array(self::HAS_MANY, 'QuestionGroup', 'sid', 'together' => true, 'order'=>'group_order ASC'), + 'permissions' => array(self::HAS_MANY, 'Permission', array('entity_id'=> 'sid')), // + 'languagesettings' => array(self::HAS_MANY, 'SurveyLanguageSetting', 'surveyls_survey_id', 'index' => 'surveyls_language'), + 'defaultlanguage' => array(self::BELONGS_TO, 'SurveyLanguageSetting', array('language' => 'surveyls_language', 'sid' => 'surveyls_survey_id')), + 'correct_relation_defaultlanguage' => array(self::HAS_ONE, 'SurveyLanguageSetting', array('surveyls_language' => 'language', 'surveyls_survey_id' => 'sid')), + 'owner' => array(self::BELONGS_TO, 'User', 'owner_id',), + 'groups' => array(self::HAS_MANY, 'QuestionGroup', 'sid', 'order'=>'group_order ASC'), 'quotas' => array(self::HAS_MANY, 'Quota', 'sid', 'order'=>'name ASC'), 'surveymenus' => array(self::HAS_MANY, 'Surveymenu', array('survey_id' => 'sid')), - 'surveygroup' => array(self::BELONGS_TO, 'SurveysGroups', array('gsid' => 'gsid'), 'together' => true), + 'surveygroup' => array(self::BELONGS_TO, 'SurveysGroups', array('gsid' => 'gsid')), 'templateModel' => array(self::HAS_ONE, 'Template', array('name' => 'template')) ); } @@ -386,16 +386,16 @@ public function rules() /** - * fixSurveyAttribute to fix and/or add some survey attribute + * afterFindSurvey to fix and/or add some survey attribute * - Fix template name to be sure template exist */ - public function fixSurveyAttribute() + public function afterFindSurvey() { - $event = new PluginEvent('afterFindSurvey'); + $event = new PluginEvent('afterFindSurvey'); $event->set('surveyid', $this->sid); App()->getPluginManager()->dispatchEvent($event); // set the attributes we allow to be fixed - $allowedAttributes = array('template', 'usecookie', 'allowprev', + $allowedAttributes = array( 'template', 'usecookie', 'allowprev', 'showxquestions', 'shownoanswer', 'showprogress', 'questionindex', 'usecaptcha', 'showgroupinfo', 'showqnumcode', 'navigationdelay'); foreach ($allowedAttributes as $attribute) { @@ -403,7 +403,6 @@ public function fixSurveyAttribute() $this->{$attribute} = $event->get($attribute); } } - $this->template = Template::templateNameFilter($this->template); } diff --git a/application/models/SurveyLanguageSetting.php b/application/models/SurveyLanguageSetting.php index befbba4a1ae..4008ab52eac 100644 --- a/application/models/SurveyLanguageSetting.php +++ b/application/models/SurveyLanguageSetting.php @@ -123,6 +123,11 @@ public function rules() array('surveyls_numberformat', 'numerical', 'integerOnly'=>true, 'min'=>'0', 'max'=>'1', 'allowEmpty'=>true), ); } + + public function defaultScope() + { + return array('index'=>'surveyls_language'); + } /** * Defines the customs validation rule lsdefault From 2df50806fc2379888fef91ba832bc8d9b1bea9ec Mon Sep 17 00:00:00 2001 From: Olle Haerstedt Date: Wed, 17 Jan 2018 12:26:13 +0100 Subject: [PATCH 43/84] Revert "Merge branch 'TonisOrmisson-test-restructure10'" This reverts commit 88128858d0949129b8505dd3b3c0cc2e13506db5, reversing changes made to 6588f0e728f326754a03821c29501e58238c136e. --- .gitignore | 1 - .travis.yml | 2 +- phpunit.xml | 18 +- tests/DummyController.php | 5 +- tests/TestBaseClass.php | 52 +---- tests/TestBaseClassView.php | 4 +- tests/TestBaseClassWeb.php | 4 +- tests/TestHelper.php | 47 +++- tests/acceptance/README.md | 7 - .../admin/InstallationControllerTest.php | 209 ------------------ tests/acceptance/surveys/AjaxModeTest.php | 114 ---------- .../admin => controllers}/AdminViewsTest.php | 20 +- .../CreateSurveyTest.php | 68 ++++-- .../InstallationControllerTest.php | 7 +- .../SaveDualScaleAnswerOptionsTest.php | 52 +++-- .../TemplateControllerTest.php | 29 ++- .../sql/create-mysql.153.sql | 0 .../sql/create-mysql.258.sql | 0 .../sql/create-mysql.315.sql | 0 .../surveys/limesurvey_survey_186734.lss | 0 .../surveys/limesurvey_survey_352985.lss | 0 .../surveys/limesurvey_survey_366446.lss | 0 .../surveys/limesurvey_survey_454287.lss | 0 .../surveys/limesurvey_survey_563168.lss | 0 .../surveys/limesurvey_survey_583999.lss | 0 .../surveys/limesurvey_survey_677328.lss | 0 .../surveys/limesurvey_survey_834477.lss | 0 .../surveys/limesurvey_survey_88881.lss | 0 .../surveys/limesurvey_survey_917744.lss | 0 .../surveys/limesurvey_survey_975622.lss | 0 .../travis/travis-ci-apache | 0 .../travis/travis_setup.sh | 0 .../views/adminBaseViews.php | 0 .../views/adminGeneralSettingsViews.php | 0 .../views/adminParticipantsViews.php | 0 .../views/adminSettingsViews.php | 0 .../views/adminSurveyViews.php | 0 .../views/adminUsersViews.php | 0 tests/functional/README.md | 6 - .../helpers/CheckDatabaseJsonValuesTest.php | 26 ++- .../helpers/ExpressionCoreAux.php | 28 ++- .../helpers/ExpressionCoreHelperTest.php | 17 +- .../GroupRandomizationTest.php | 41 ++-- .../helpers/UpdateDbHelperTest.php | 32 ++- .../TemplateConfigurationTest.php | 6 +- .../DateTimeDefaultAnswerExpressionTest.php | 48 ++-- .../questions/DateTimeForwardBackTest.php | 31 ++- .../questions/DateTimeTest.php | 134 ++++++----- .../questions/DateTimeValidationTest.php | 41 ++-- .../MultipleChoiceNextPreviousTest.php | 32 +-- tests/resources/README.md | 1 - .../MultipleChoiceWithExpressionTest.php | 14 +- .../surveys/ScreenOutTest.php | 24 +- tests/travis/travis-ci-apache | 25 +++ tests/unit/README.md | 11 - 55 files changed, 498 insertions(+), 658 deletions(-) delete mode 100644 tests/acceptance/README.md delete mode 100644 tests/acceptance/admin/InstallationControllerTest.php delete mode 100644 tests/acceptance/surveys/AjaxModeTest.php rename tests/{acceptance/admin => controllers}/AdminViewsTest.php (84%) rename tests/{acceptance/admin => controllers}/CreateSurveyTest.php (95%) rename tests/{acceptance/admin/questions => controllers}/SaveDualScaleAnswerOptionsTest.php (88%) rename tests/{acceptance/admin => controllers}/TemplateControllerTest.php (73%) rename tests/{resources => data}/sql/create-mysql.153.sql (100%) rename tests/{resources => data}/sql/create-mysql.258.sql (100%) rename tests/{resources => data}/sql/create-mysql.315.sql (100%) rename tests/{resources => data}/surveys/limesurvey_survey_186734.lss (100%) rename tests/{resources => data}/surveys/limesurvey_survey_352985.lss (100%) rename tests/{resources => data}/surveys/limesurvey_survey_366446.lss (100%) rename tests/{resources => data}/surveys/limesurvey_survey_454287.lss (100%) rename tests/{resources => data}/surveys/limesurvey_survey_563168.lss (100%) rename tests/{resources => data}/surveys/limesurvey_survey_583999.lss (100%) rename tests/{resources => data}/surveys/limesurvey_survey_677328.lss (100%) rename tests/{resources => data}/surveys/limesurvey_survey_834477.lss (100%) rename tests/{resources => data}/surveys/limesurvey_survey_88881.lss (100%) rename tests/{resources => data}/surveys/limesurvey_survey_917744.lss (100%) rename tests/{resources => data}/surveys/limesurvey_survey_975622.lss (100%) rename tests/{resources => data}/travis/travis-ci-apache (100%) rename tests/{resources => data}/travis/travis_setup.sh (100%) rename tests/{resources => data}/views/adminBaseViews.php (100%) rename tests/{resources => data}/views/adminGeneralSettingsViews.php (100%) rename tests/{resources => data}/views/adminParticipantsViews.php (100%) rename tests/{resources => data}/views/adminSettingsViews.php (100%) rename tests/{resources => data}/views/adminSurveyViews.php (100%) rename tests/{resources => data}/views/adminUsersViews.php (100%) delete mode 100644 tests/functional/README.md rename tests/{functional => }/helpers/CheckDatabaseJsonValuesTest.php (97%) rename tests/{functional => }/helpers/ExpressionCoreAux.php (97%) rename tests/{functional => }/helpers/ExpressionCoreHelperTest.php (97%) rename tests/{acceptance/surveys => helpers}/GroupRandomizationTest.php (83%) rename tests/{functional => }/helpers/UpdateDbHelperTest.php (99%) rename tests/{acceptance/admin => models}/TemplateConfigurationTest.php (86%) rename tests/{acceptance => }/questions/DateTimeDefaultAnswerExpressionTest.php (89%) rename tests/{acceptance => }/questions/DateTimeForwardBackTest.php (82%) rename tests/{acceptance => }/questions/DateTimeTest.php (68%) rename tests/{acceptance => }/questions/DateTimeValidationTest.php (77%) rename tests/{acceptance => }/questions/MultipleChoiceNextPreviousTest.php (82%) delete mode 100644 tests/resources/README.md rename tests/{acceptance => }/surveys/MultipleChoiceWithExpressionTest.php (96%) rename tests/{acceptance => }/surveys/ScreenOutTest.php (97%) create mode 100644 tests/travis/travis-ci-apache delete mode 100644 tests/unit/README.md diff --git a/.gitignore b/.gitignore index ab67056388b..8dd96ca468c 100644 --- a/.gitignore +++ b/.gitignore @@ -109,7 +109,6 @@ third_party/composer/installed\.json !.eslintignore !.eslint.json !.eslintrc.json -!.travis.yml ## ignore Vagrantfile Vagrantfile diff --git a/.travis.yml b/.travis.yml index 9beaadb02e2..fe919e118ba 100644 --- a/.travis.yml +++ b/.travis.yml @@ -43,7 +43,7 @@ before_script: - sudo sed -i -e "s,www-data,travis,g" /etc/apache2/envvars - sudo chown -R travis:travis /var/lib/apache2/fastcgi - ~/.phpenv/versions/$(phpenv version-name)/sbin/php-fpm - - sudo cp -f tests/resources/travis/travis-ci-apache /etc/apache2/sites-available/000-default.conf + - sudo cp -f tests/travis/travis-ci-apache /etc/apache2/sites-available/000-default.conf - sudo sed -e "s?%TRAVIS_BUILD_DIR%?$(pwd)?g" --in-place /etc/apache2/sites-available/000-default.conf - sudo service apache2 restart diff --git a/phpunit.xml b/phpunit.xml index 91c99e93aa8..94633b631b0 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -1,13 +1,19 @@ - - tests/acceptance + + tests/questions - - tests/functional + + tests/helpers - - tests/unit + + tests/models + + + tests/controllers + + + tests/surveys diff --git a/tests/DummyController.php b/tests/DummyController.php index 551dda3b505..5e8081091e7 100644 --- a/tests/DummyController.php +++ b/tests/DummyController.php @@ -1,6 +1,6 @@ importAll(); parent::setUpBeforeClass(); - } - - // the folder getter can be used in @dataProvider methods since the setUpBeforeClass will run after them - - /** - * @return string - */ - public static function getDataFolder(){ - return __DIR__."/resources"; - } - - /** - * @return string - */ - public static function getViewsFolder(){ - return self::getDataFolder().DIRECTORY_SEPARATOR.'views'; - } - - /** - * @return string - */ - public static function getSurveysFolder(){ - return self::getDataFolder().DIRECTORY_SEPARATOR.'surveys'; - } - - /** - * @return string - */ - public static function getTempFolder(){ - return __DIR__."/tmp"; - } + self::$testHelper = new TestHelper(); - /** - * @return string - */ - public static function getScreenShotsFolder(){ - return self::getTempFolder().DIRECTORY_SEPARATOR.'screenshots'; + self::$dataFolder = __DIR__.'/data'; + self::$viewsFolder = self::$dataFolder."/views"; + self::$surveysFolder = self::$dataFolder.'/surveys'; + self::$tempFolder = __DIR__.'/tmp'; + self::$screenshotsFolder = self::$tempFolder.'/screenshots'; + self::$testHelper->importAll(); } /** diff --git a/tests/TestBaseClassView.php b/tests/TestBaseClassView.php index fab22f3409f..447cfa6b41d 100644 --- a/tests/TestBaseClassView.php +++ b/tests/TestBaseClassView.php @@ -11,13 +11,13 @@ * See COPYRIGHT.php for copyright notices and details. */ -namespace LimeSurvey\tests; +namespace ls\tests; use Facebook\WebDriver\WebDriverBy; use Facebook\WebDriver\WebDriverExpectedCondition; /** - * @package LimeSurvey\tests + * @package ls\tests */ class TestBaseClassView extends TestBaseClassWeb { diff --git a/tests/TestBaseClassWeb.php b/tests/TestBaseClassWeb.php index 90e0d518e43..4b04f54dc7f 100644 --- a/tests/TestBaseClassWeb.php +++ b/tests/TestBaseClassWeb.php @@ -11,7 +11,7 @@ * See COPYRIGHT.php for copyright notices and details. */ -namespace LimeSurvey\tests; +namespace ls\tests; use Facebook\WebDriver\WebDriver; use Facebook\WebDriver\WebDriverBy; @@ -21,7 +21,7 @@ /** * Class TestBaseClassWeb * this is the base class for functional tests that need browser simulation - * @package LimeSurvey\tests + * @package ls\tests */ class TestBaseClassWeb extends TestBaseClass { diff --git a/tests/TestHelper.php b/tests/TestHelper.php index 19b27e9e908..7008d64d317 100644 --- a/tests/TestHelper.php +++ b/tests/TestHelper.php @@ -1,6 +1,6 @@ loadHelper('admin/activate'); } + /** * @param string $title * @param int $surveyId @@ -46,22 +49,28 @@ public function getSgqa($title, $surveyId) 'sid' => $surveyId ] ); + $this->assertNotEmpty($question); + $group = \QuestionGroup::model()->find( 'gid = :gid', [ 'gid' => $question->gid ] ); + $this->assertNotEmpty($group); + $sgqa = sprintf( '%sX%sX%s', $surveyId, $group->gid, $question->qid ); + return [$question, $group, $sgqa]; } + /** * Get survey options for imported survey. * @param int $surveyId @@ -95,6 +104,7 @@ public function getSurveyOptions($surveyId) ); return $surveyOptions; } + /** * @param int $surveyId * @return void @@ -109,9 +119,11 @@ public function activateSurvey($surveyId) $survey->savetimings = ''; $survey->save(); \Survey::model()->resetCache(); // Make sure the saved values will be picked up + $result = \activateSurvey($surveyId); $this->assertEquals(['status' => 'OK', 'pluginFeedback' => null], $result, 'Activate survey is OK'); } + /** * @param int $surveyId * @return void @@ -127,11 +139,12 @@ public function deactivateSurvey($surveyId) $result = $survey->save(); $this->assertTrue($result, 'Survey deactivated'); } + /** * Overwrite the db component with a new * configuration and database. * Before you run this, you might want to save - * the old db config in a variable, so you can + * the old db config in a variable, so you can * reconnect to it after you're done with the new * database. * $config = require(\Yii::app()->getBasePath() . '/config/config.php'); @@ -142,7 +155,9 @@ public function deactivateSurvey($surveyId) public function connectToNewDatabase($databaseName) { $db = \Yii::app()->getDb(); + $config = require(\Yii::app()->getBasePath() . '/config/config.php'); + // Check that we're using MySQL. $conStr = \Yii::app()->db->connectionString; $isMysql = substr($conStr, 0, 5) === 'mysql'; @@ -151,10 +166,12 @@ public function connectToNewDatabase($databaseName) return false; } $this->assertTrue($isMysql, 'This test only works on MySQL'); + // Get database name. preg_match("/dbname=([^;]*)/", $config['components']['db']['connectionString'], $matches); $this->assertEquals(2, count($matches)); $oldDatabase = $matches[1]; + try { $db->createCommand('DROP DATABASE ' . $databaseName)->execute(); } catch (\CDbException $ex) { @@ -162,6 +179,7 @@ public function connectToNewDatabase($databaseName) // Only this error is OK. self::assertTrue(strpos($msg, 'database doesn\'t exist') !== false, 'Could drop database'); } + try { $result = $db->createCommand( sprintf( @@ -175,6 +193,7 @@ public function connectToNewDatabase($databaseName) // This error is OK. $this->assertTrue(strpos($msg, 'database exists') !== false, 'Could create database'); } + // Connect to new database. $db->setActive(false); $newConfig = $config; @@ -189,6 +208,7 @@ public function connectToNewDatabase($databaseName) \Yii::app()->db->schema->refresh(); return \Yii::app()->getDb(); } + /** * @return void */ @@ -201,6 +221,7 @@ public function connectToOriginalDatabase() \Yii::app()->db->schema->getTables(); \Yii::app()->db->schema->refresh(); } + /** * @param int $version * @return \CDbConnection @@ -211,17 +232,22 @@ public function updateDbFromVersion($version, $connection = null) $connection = $this->connectToNewDatabase('__test_update_helper_' . $version); $this->assertNotEmpty($connection, 'Could connect to new database'); } + // Get InstallerController. $inst = new \InstallerController('foobar'); $inst->connection = $connection; + // Check SQL file. - $file = TestBaseClass::getDataFolder().'/sql/create-mysql.' . $version . '.sql'; + $file = __DIR__ . '/data/sql/create-mysql.' . $version . '.sql'; $this->assertFileExists($file, 'SQL file exists: ' . $file); + // Run SQL install file. $result = $inst->_executeSQLFile($file, 'lime_'); $this->assertEquals([], $result, 'No error messages from _executeSQLFile' . print_r($result, true)); + // Run upgrade. $result = \db_upgrade_all($version); + // Check error messages. $flashes = \Yii::app()->user->getFlashes(); if ($flashes) { @@ -229,8 +255,10 @@ public function updateDbFromVersion($version, $connection = null) } $this->assertEmpty($flashes, 'No flash error messages'); $this->assertTrue($result, 'Upgrade successful'); + return $inst->connection; } + /** * Make sure Selenium can preview surveys without * being logged in. @@ -240,6 +268,7 @@ public function enablePreview() { // Make sure we can preview without being logged in. $setting = \SettingGlobal::model()->findByPk('surveyPreview_require_Auth'); + // Possibly this setting does not exist yet. if (empty($setting)) { $setting = new \SettingGlobal(); @@ -251,6 +280,7 @@ public function enablePreview() $setting->save(); } } + /** * Drop database $databaseName. * Use in teardown methods. @@ -269,7 +299,7 @@ public function teardownDatabase($databaseName, $connection = null) $msg = $ex->getMessage(); // Only this error is OK. self::assertTrue( - // MySQL + // MySQL strpos($msg, 'database doesn\'t exist') !== false || // Postgres strpos($msg, "database \"$databaseName\" does not exist") !== false, @@ -277,6 +307,7 @@ public function teardownDatabase($databaseName, $connection = null) ); } } + /** * Use webdriver to put a screenshot in screenshot folder. * @param WebDriver $webDriver @@ -292,6 +323,7 @@ public function takeScreenshot($webDriver, $name) $result = file_put_contents($filename, $screenshot); $this->assertTrue($result > 0, 'Could not write screenshot to file ' . $filename); } + /** * javaTrace() - provide a Java style exception trace * @@ -343,8 +375,10 @@ public function javaTrace($ex, $seen = null) if ($prev) { $result .= "\n" . jTraceEx($prev, $seen); } + return $result; } + /** * @return WebDriver|null */ @@ -370,6 +404,7 @@ public function getWebDriver() sleep(1); } } while (!$success && $tries < 5); + return $webDriver; } -} \ No newline at end of file +} diff --git a/tests/acceptance/README.md b/tests/acceptance/README.md deleted file mode 100644 index 7ad775045b2..00000000000 --- a/tests/acceptance/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Acceptance tests -from: -https://stackoverflow.com/questions/4904096/whats-the-difference-between-unit-functional-acceptance-and-integration-test - -> Standard acceptance testing involves performing tests on the full system (e.g. using your web page via a web browser) to see whether the application's functionality satisfies the specification. E.g. "clicking a zoom icon should enlarge the document view by 25%." There is no real continuum of results, just a pass or fail outcome. - -Any test using the Facebook WebDriver should be somewhere here \ No newline at end of file diff --git a/tests/acceptance/admin/InstallationControllerTest.php b/tests/acceptance/admin/InstallationControllerTest.php deleted file mode 100644 index a814c263950..00000000000 --- a/tests/acceptance/admin/InstallationControllerTest.php +++ /dev/null @@ -1,209 +0,0 @@ -getWebDriver(); - self::$domain = getenv('DOMAIN'); - } - - /** - * - */ - public static function teardownAfterClass() - { - $configFile = \Yii::app()->getBasePath() . '/config/config.php'; - if (file_exists($configFile)) { - self::$testHelper->connectToOriginalDatabase(); - } - } - - /** - * - * @throws \CException - */ - public function testBasic() - { - //$this->checkFolders(); - - $configFile = \Yii::app()->getBasePath() . '/config/config.php'; - $databaseName = 'limesurvey'; - - $username = getenv('ADMINUSERNAME'); - if (!$username) { - $username = 'admin'; - } - $password = getenv('PASSWORD'); - if (!$password) { - $password = 'password'; - } - - $dbuser = getenv('DBUSER'); - if (!$dbuser) { - $dbuser = 'root'; - echo 'Default to database user "root". Use DBUSER=... from command-line to override this.' . PHP_EOL; - } - $dbpwd = getenv('DBPASSWORD'); - if (!$dbpwd) { - $dbpwd = ''; - echo 'Default to empty database password. Use DBPASSWORD=... from command-line to override this.' . PHP_EOL; - } - - if (file_exists($configFile)) { - // Delete possible previous database. - try { - $dbo = \Yii::app()->getDb(); - $dbo->createCommand('DROP DATABASE ' . $databaseName)->execute(); - } catch (\CDbException $ex) { - $msg = $ex->getMessage(); - // Only this error is OK. - self::assertTrue( - strpos($msg, "database doesn't exist") !== false, - 'Could drop database. Error message: ' . $msg - ); - } - - // Remove config.php if present. - $result = unlink($configFile); - $this->assertTrue($result, 'Could unlink config.php'); - } - - // Run installer. - $urlMan = \Yii::app()->urlManager; - $urlMan->setBaseUrl('http://' . self::$domain . '/index.php'); - $url = $urlMan->createUrl(''); - - try { - - // Installer start page. - self::$webDriver->get($url); - - // Click "Start installation". - $start = self::$webDriver->findElement(WebDriverBy::id('ls-start-installation')); - $start->click(); - - // Accept license. - $accept = self::$webDriver->findElement(WebDriverBy::id('ls-accept-license')); - $accept->click(); - - // Click next at pre-check. - $next = self::$webDriver->findElement(WebDriverBy::id('ls-next')); - $next->click(); - - // Fill in database form. - $dbuserDbType = self::$webDriver->findElement(WebDriverBy::cssSelector('select[name="InstallerConfigForm[dbtype]"] option[value="mysql"]')); - $dbuserInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbuser]"]')); - $dbpwdInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbpwd]"]')); - $dbnameInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbname]"]')); - - $dbuserDbType->click(); - $dbuserInput->clear()->sendKeys($dbuser); - $dbpwdInput->clear()->sendKeys($dbpwd); - $dbnameInput->sendKeys($databaseName); - - // Click next. - $next = self::$webDriver->findElement(WebDriverBy::id('ls-next')); - $next->click(); - - // Click "Create database". - $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); - $button->click(); - - // Click "Populate". - $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); - $button->click(); - - // Fill in admin username/password. - $adminLoginName = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[adminLoginName]"]')); - $adminLoginPwd = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[adminLoginPwd]"]')); - $confirmPwd = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[confirmPwd]"]')); - $adminLoginName->clear()->sendKeys($username); - $adminLoginPwd->clear()->sendKeys($password); - $confirmPwd->clear()->sendKeys($password); - - // Confirm optional settings (admin password etc). - $button = self::$webDriver->findElement(WebDriverBy::cssSelector('input[type="submit"]')); - $button->click(); - - // Go to administration. - $button = self::$webDriver->findElement(WebDriverBy::id('ls-administration')); - $button->click(); - - // Set debug=2 - /* TODO: Can't write to config.php after installation. - $configFile = \Yii::app()->getBasePath() . '/config/config.php'; - $data = file($configFile); - $data = array_map(function($data) { - return stristr($data, "'debug'=>0") ? "'debug'=>2," : $data; - }, $data); - $output = []; - exec('chmod 777 ' . $configFile, $output); - var_dump($output); - $result = file_put_contents($configFile, implode('', $data)); - $this->assertTrue($result > 0, 'Wrote config'); - */ - - // Reset urlManager to adapt to latest config. - $config = require($configFile); - $urlMan = \Yii::app()->urlManager; - $urlMan->setUrlFormat($config['components']['urlManager']['urlFormat']); - - // Login. - self::adminLogin($username, $password); - } catch (NoSuchElementException $ex) { - self::$testHelper->takeScreenshot(self::$webDriver, (new \ReflectionClass($this))->getShortName() . '_' . __FUNCTION__); - $this->assertFalse( - true, - self::$testHelper->javaTrace($ex) - ); - } - } - - /** - * Check that upload/tmp folders are writable. - * @todo Does not work. - */ - public function checkFolders() - { - $instContr = new \InstallerController('dummyvalue'); - $data = []; - $folder = \Yii::app()->getConfig('tempdir') . '/'; - $tempdirIsWritable = $instContr->checkDirectoryWriteable( - $folder, - $data, - 'tmpdir', - 'tperror', - true - ); - $this->assertTrue($tempdirIsWritable, 'Can write to tmp/'); - - $folder = \Yii::app()->getConfig('uploaddir') . '/'; - $uploadIsWritable = $instContr->checkDirectoryWriteable( - $folder, - $data, - 'uploaddir', - 'uerror', - true - ); - $this->assertTrue($uploadIsWritable, 'Can write to upload/'); - } -} diff --git a/tests/acceptance/surveys/AjaxModeTest.php b/tests/acceptance/surveys/AjaxModeTest.php deleted file mode 100644 index 2826b416a96..00000000000 --- a/tests/acceptance/surveys/AjaxModeTest.php +++ /dev/null @@ -1,114 +0,0 @@ -activateSurvey(self::$surveyId); - } - /** - * Test that Ajax mode records answer. - */ - public function testAjaxModeRecordsAnswer() - { - // TODO: This works when run individually, but not - // as part of the test suit. Screenshot shows it's - // stuck on welcome page. - $this->markTestSkipped(); - // Get questions. - $survey = \Survey::model()->findByPk(self::$surveyId); - $questionObjects = $survey->groups[0]->questions; - $questions = []; - foreach ($questionObjects as $q) { - $questions[$q->title] = $q; - } - // Make sure there are no responses in database. - $query = sprintf( - 'SELECT * FROM {{survey_%d}}', - self::$surveyId - ); - $db = \Yii::app()->getDb(); - $rows = $db->createCommand($query)->queryAll(); - $this->assertEmpty($rows, 'No answers'); - // Execute survey. - $urlMan = \Yii::app()->urlManager; - $urlMan->setBaseUrl('http://' . self::$domain . '/index.php'); - $url = $urlMan->createUrl( - 'survey/index', - [ - 'sid' => self::$surveyId, - 'newtest' => 'Y', - 'lang' => 'pt' - ] - ); - try { - // Click welcome page. - self::$webDriver->get($url); - $nextButton = self::$webDriver->findElement(WebDriverBy::id('ls-button-submit')); - $nextButton->click(); - sleep(1); - // TODO: Temporary, test fails here (but only on fresh install). - $screenshot = self::$webDriver->takeScreenshot(); - $filename = self::$screenshotsFolder.'/AjaxModeTest.png'; - file_put_contents($filename, $screenshot); - // Find yes-no radio buttons, click "Yes". - $items = self::$webDriver->findElements(WebDriverBy::cssSelector('ul.yesno-button li')); - $this->assertCount(3, $items, 'Three radio buttons for yes-no question'); - $items[0]->click(); - // Check that EM is reacting. - $div = self::$webDriver->findElement(WebDriverBy::cssSelector('div#question' . $questions['q2']->qid)); - $this->assertEquals($div->getText(), 'The previous answer was FALSE'); - // Click "No". - $items[1]->click(); - // Check EM. - $div = self::$webDriver->findElement(WebDriverBy::cssSelector('div#question' . $questions['q2']->qid)); - $this->assertEquals($div->getText(), 'The previous answer was TRUE'); - // Click submit. - $submitButton = self::$webDriver->findElement(WebDriverBy::id('ls-button-submit')); - $submitButton->click(); - // Check so that we see end page. - $completed = self::$webDriver->findElement(WebDriverBy::cssSelector('div.completed-text')); - $this->assertEquals( - $completed->getText(), - "Thank you!\nYour survey responses have been recorded.", - 'I can see completed text' - ); - } catch (NoSuchElementException $ex) { - $screenshot = self::$webDriver->takeScreenshot(); - $filename = self::$screenshotsFolder.'/AjaxModeTest.png'; - file_put_contents($filename, $screenshot); - $this->assertFalse( - true, - 'Url: ' . $url . PHP_EOL . - 'Screenshot in ' .$filename . PHP_EOL . $ex->getMessage() - ); - } - // Check answer in database. - $query = sprintf( - 'SELECT * FROM {{survey_%d}}', - self::$surveyId - ); - $rows = $db->createCommand($query)->queryAll(); - $this->assertCount(1, $rows); - $sgqa = self::$surveyId . 'X' . $survey->groups[0]->gid . 'X' . $questions['q1']->qid; - $answer = $rows[0][$sgqa]; - $this->assertEquals('N', $answer, 'Answer is "N"'); - } -} \ No newline at end of file diff --git a/tests/acceptance/admin/AdminViewsTest.php b/tests/controllers/AdminViewsTest.php similarity index 84% rename from tests/acceptance/admin/AdminViewsTest.php rename to tests/controllers/AdminViewsTest.php index 3de526d25dc..2e167cb3628 100644 --- a/tests/acceptance/admin/AdminViewsTest.php +++ b/tests/controllers/AdminViewsTest.php @@ -11,15 +11,15 @@ * See COPYRIGHT.php for copyright notices and details. */ -namespace LimeSurvey\tests\acceptance\admin; +namespace ls\tests\controllers; -use LimeSurvey\tests\TestBaseClassView; +use ls\tests\TestBaseClassView; /** * Class AdminViewsTest * This test loops through all basic admin view pages and cheks if they open withour errors * - * @package LimeSurvey\tests + * @package ls\tests * @group adminviews */ class AdminViewsTest extends TestBaseClassView @@ -27,31 +27,31 @@ class AdminViewsTest extends TestBaseClassView public function addBaseViews() { - return require self::getViewsFolder()."/adminBaseViews.php"; + return require __DIR__."/../data/views/adminBaseViews.php"; } public function addSurveyViews() { - return require self::getViewsFolder()."/adminSurveyViews.php"; + return require __DIR__."/../data/views/adminSurveyViews.php"; } public function addSettingsViews() { - return require self::getViewsFolder()."/adminSettingsViews.php"; + return require __DIR__."/../data/views/adminSettingsViews.php"; } public function addUsersViews() { - return require self::getViewsFolder()."/adminUsersViews.php"; + return require __DIR__."/../data/views/adminUsersViews.php"; } public function addParticipantsViews() { - return require self::getViewsFolder()."/adminParticipantsViews.php"; + return require __DIR__."/../data/views/adminParticipantsViews.php"; } public function addGeneralSettingsViews() { - return require self::getViewsFolder()."/adminGeneralSettingsViews.php"; + return require __DIR__."/../data/views/adminGeneralSettingsViews.php"; } /** @@ -89,7 +89,7 @@ public function testAdminSurveyViews($name, $view) } elseif (empty(self::$surveyId)) { // This situation can happen if we test only one data entry, // using --filter="testAdminSurveyViews#13" (for data entry 13). - $surveyFile = self::$surveysFolder . '/limesurvey_survey_454287.lss'; + $surveyFile = self::$surveysFolder . '/../data/surveys/limesurvey_survey_454287.lss'; self::importSurvey($surveyFile); } diff --git a/tests/acceptance/admin/CreateSurveyTest.php b/tests/controllers/CreateSurveyTest.php similarity index 95% rename from tests/acceptance/admin/CreateSurveyTest.php rename to tests/controllers/CreateSurveyTest.php index e48994c98d5..42122bfacce 100644 --- a/tests/acceptance/admin/CreateSurveyTest.php +++ b/tests/controllers/CreateSurveyTest.php @@ -1,17 +1,6 @@ session['loginID'] = 1; + // Browser login. self::adminLogin($username, $password); } /** - * + * */ public static function teardownAfterClass() { parent::tearDownAfterClass(); + // Delete survey. $criteria = new \CDbCriteria; $criteria->compare('correct_relation_defaultlanguage.surveyls_title', 'test survey 1', true, 'AND'); @@ -79,7 +71,9 @@ public function testCreateSurvey() $urlMan->setBaseUrl('http://' . self::$domain . '/index.php'); $url = $urlMan->createUrl('admin'); self::$webDriver->get($url); + sleep(1); + // Ignore welcome modal. try { $button = self::$webDriver->wait(1)->until( @@ -93,7 +87,9 @@ public function testCreateSurvey() } catch (TimeOutException $ex) { // Do nothing. } + sleep(1); + // Ignore password warning. try { $button = self::$webDriver->wait(1)->until( @@ -107,7 +103,10 @@ public function testCreateSurvey() } catch (NoSuchElementException $ex) { // Do nothing. } + + sleep(1); + // Click on big "Create survey" button. $link = self::$webDriver->wait(10)->until( WebDriverExpectedCondition::elementToBeClickable( @@ -115,20 +114,27 @@ public function testCreateSurvey() ) ); $link->click(); + // Fill in title. $title = self::$webDriver->findElement(WebDriverBy::id('surveyls_title')); $title->clear()->sendKeys('test survey 1'); + // Click save. $save = self::$webDriver->findElement(WebDriverBy::id('save-form-button')); $save->click(); + sleep(1); + // Remove notification. $save = self::$webDriver->findElement(WebDriverBy::cssSelector('button.close.limebutton')); $save->click(); + sleep(1); + // Go to structure sidebar $selectStructureSidebar = self::$webDriver->findElement(WebDriverBy::id('adminpanel__sidebar--selectorStructureButton')); $selectStructureSidebar->click(); + // Click "Add group". $addgroup = self::$webDriver->wait(10)->until( @@ -137,24 +143,31 @@ public function testCreateSurvey() ) ); $addgroup->click(); + // Fill in group title. $groupname = self::$webDriver->findElement(WebDriverBy::id('group_name_en')); $groupname->clear()->sendKeys('group1'); + sleep(1); + // Click save and add question. $save = self::$webDriver->findElement(WebDriverBy::id('save-and-new-question-button')); $save->click(); sleep(3); + // Add question title. $groupname = self::$webDriver->findElement(WebDriverBy::id('title')); $groupname->clear()->sendKeys('question1'); + // Click save. $save = self::$webDriver->findElement(WebDriverBy::id('save-button')); $save->click(); - sleep(1); + sleep(1); + $selectSettingsSidebar = self::$webDriver->findElement(WebDriverBy::id('adminpanel__sidebar--selectorSettingsButton')); $selectSettingsSidebar->click(); + // Click "Overview". $overview = self::$webDriver->wait(10)->until( WebDriverExpectedCondition::elementToBeClickable( @@ -162,17 +175,23 @@ public function testCreateSurvey() ) ); $overview->click(); + sleep(1); + // Click "Activate survey". $overview = self::$webDriver->findElement(WebDriverBy::id('ls-activate-survey')); $overview->click(); + // Confirm. $overview = self::$webDriver->findElement(WebDriverBy::id('activateSurvey__basicSettings--proceed')); $overview->click(); + // Click "Overview". $overview = self::$webDriver->findElement(WebDriverBy::id('sidemenu_1_1')); $overview->click(); + sleep(1); + // Click "Execute survey". $execute = self::$webDriver->wait(10)->until( WebDriverExpectedCondition::elementToBeClickable( @@ -180,16 +199,21 @@ public function testCreateSurvey() ) ); $execute->click(); + sleep(1); + // Switch to new tab. $windowHandles = self::$webDriver->getWindowHandles(); self::$webDriver->switchTo()->window( end($windowHandles) ); + sleep(1); + // New tab with active survey. $nextButton = self::$webDriver->findElement(WebDriverBy::id('ls-button-submit')); $nextButton->click(); + // Get questions. $dbo = \Yii::app()->getDb(); $query = 'SELECT sid FROM {{surveys}} ORDER BY datecreated DESC LIMIT 1'; @@ -206,14 +230,18 @@ public function testCreateSurvey() } $this->assertCount(1, $questions, 'We have exactly one question'); $this->assertTrue(isset($questions['question1']), json_encode(array_keys($questions))); + // Enter answer text. $sgqa = $sid . 'X' . $survey->groups[0]->gid . 'X' . $questions['question1']->qid; $question = self::$webDriver->findElement(WebDriverBy::id('answer' . $sgqa)); $question->sendKeys('foo bar'); + sleep(1); + // Click submit. $submitButton = self::$webDriver->findElement(WebDriverBy::id('ls-button-submit')); $submitButton->click(); + // Check so that we see end page. $completed = self::$webDriver->findElement(WebDriverBy::cssSelector('div.completed-text')); $this->assertEquals( @@ -221,6 +249,7 @@ public function testCreateSurvey() "Thank you!\nYour survey responses have been recorded.", 'I can see completed text' ); + // Check so that response is recorded in database. $query = sprintf( 'SELECT * FROM {{survey_%d}}', @@ -229,11 +258,13 @@ public function testCreateSurvey() $result = $dbo->createCommand($query)->queryAll(); $this->assertCount(1, $result, 'Exactly one response'); $this->assertEquals('foo bar', $result[0][$sgqa], '"foo bar" response'); + // Switch to first window. $windowHandles = self::$webDriver->getWindowHandles(); self::$webDriver->switchTo()->window( reset($windowHandles) ); + // Delete survey. $execute = self::$webDriver->wait(10)->until( WebDriverExpectedCondition::elementToBeClickable( @@ -253,11 +284,14 @@ public function testCreateSurvey() ) ); $execute->click(); + sleep(1); + // Make sure the survey can't be found. $query = 'SELECT sid FROM {{surveys}} WHERE sid = ' . $sid; $sids = $dbo->createCommand($query)->queryAll(); $this->assertCount(0, $sids); + } catch (NoSuchElementException $ex) { // TODO :Duplicated code. self::$testHelper->takeScreenshot(self::$webDriver, __CLASS__ . '_' . __FUNCTION__); @@ -291,4 +325,4 @@ public function testCreateSurvey() ); } } -} \ No newline at end of file +} diff --git a/tests/controllers/InstallationControllerTest.php b/tests/controllers/InstallationControllerTest.php index 452206d37ac..add9843f697 100644 --- a/tests/controllers/InstallationControllerTest.php +++ b/tests/controllers/InstallationControllerTest.php @@ -4,9 +4,6 @@ use Facebook\WebDriver\WebDriverBy; use Facebook\WebDriver\Exception\NoSuchElementException; -use LimeSurvey\tests\TestBaseClassWeb; -use LimeSurvey\tests\TestHelper; - /** * @since 2017-11-24 * @group inst @@ -14,7 +11,7 @@ class InstallationControllerTest extends TestBaseClassWeb { /** - * + * */ public static function setupBeforeClass() { @@ -114,7 +111,7 @@ public function testBasic() $dbuserInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbuser]"]')); $dbpwdInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbpwd]"]')); $dbnameInput = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="InstallerConfigForm[dbname]"]')); - + $dbuserDbType->click(); $dbuserInput->clear()->sendKeys($dbuser); $dbpwdInput->clear()->sendKeys($dbpwd); diff --git a/tests/acceptance/admin/questions/SaveDualScaleAnswerOptionsTest.php b/tests/controllers/SaveDualScaleAnswerOptionsTest.php similarity index 88% rename from tests/acceptance/admin/questions/SaveDualScaleAnswerOptionsTest.php rename to tests/controllers/SaveDualScaleAnswerOptionsTest.php index 654340d5138..6193b1cc952 100644 --- a/tests/acceptance/admin/questions/SaveDualScaleAnswerOptionsTest.php +++ b/tests/controllers/SaveDualScaleAnswerOptionsTest.php @@ -1,20 +1,8 @@ session['loginID'] = 1; + $username = getenv('ADMINUSERNAME'); if (!$username) { $username = 'admin'; } + $password = getenv('PASSWORD'); if (!$password) { $password = 'password'; } + // Permission to everything. \Yii::app()->session['loginID'] = 1; + // Browser login. self::adminLogin($username, $password); } + /** - * + * */ public function setup() { @@ -52,8 +46,9 @@ public function setup() $surveyFile = self::$surveysFolder . '/limesurvey_survey_677328.lss'; self::importSurvey($surveyFile); } + /** - * + * */ public function tearDown() { @@ -63,8 +58,9 @@ public function tearDown() self::$testSurvey = null; } } + /** - * + * */ public function testBasic() { @@ -73,6 +69,7 @@ public function testBasic() $this->assertNotEmpty($survey); $this->assertCount(1, $survey->groups, 'Wrong number of groups: ' . count($survey->groups)); $this->assertCount(1, $survey->groups[0]->questions, 'We have exactly one question'); + $urlMan = \Yii::app()->urlManager; $urlMan->setBaseUrl('http://' . self::$domain . '/index.php'); $url = $urlMan->createUrl( @@ -84,30 +81,39 @@ public function testBasic() 'qid' => $survey->groups[0]->questions[0]->qid ] ); + self::$webDriver->get($url); + $answer1 = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="answer_en_1_0"]')); $answer1->sendKeys('123'); + $answer2 = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="answer_en_1_1"]')); $answer2->sendKeys('abc'); + $savebutton = self::$webDriver->findElement(WebDriverBy::id('save-button')); $savebutton->click(); + $notif = self::$webDriver->findElement(WebDriverBy::id('notif-container')); $notifText = $notif->getText(); $this->assertContains('Answer options were successfully saved', $notifText); + $answers = \Answer::model()->findAllByAttributes(['qid' => $survey->groups[0]->questions[0]->qid]); $this->assertCount(2, $answers, 'Two answer options saved'); } + /** - * + * */ public function testUsingLinkToEditAnswers() { $surveyFile = self::$surveysFolder . '/limesurvey_survey_677328.lss'; self::importSurvey($surveyFile); + $survey = \Survey::model()->findByPk(self::$surveyId); $this->assertNotEmpty($survey); $this->assertCount(1, $survey->groups, 'Wrong number of groups: ' . count($survey->groups)); $this->assertCount(1, $survey->groups[0]->questions, 'We have exactly one question'); + $urlMan = \Yii::app()->urlManager; $urlMan->setBaseUrl('http://' . self::$domain . '/index.php'); $url = $urlMan->createUrl( @@ -119,20 +125,28 @@ public function testUsingLinkToEditAnswers() 'qid' => $survey->groups[0]->questions[0]->qid ] ); + self::$webDriver->get($url); + $button = self::$webDriver->findElement(WebDriverBy::linkText('Edit answer options')); $button->click(); + $answer1 = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="answer_en_1_0"]')); $answer1->sendKeys('123'); + $answer2 = self::$webDriver->findElement(WebDriverBy::cssSelector('input[name="answer_en_1_1"]')); $answer2->sendKeys('abc'); + sleep(1); + $savebutton = self::$webDriver->findElement(WebDriverBy::id('save-button')); $savebutton->click(); + $notif = self::$webDriver->findElement(WebDriverBy::id('notif-container')); $notifText = $notif->getText(); $this->assertContains('Answer options were successfully saved', $notifText); + $answers = \Answer::model()->findAllByAttributes(['qid' => $survey->groups[0]->questions[0]->qid]); $this->assertCount(2, $answers, 'Two answer options saved'); } -} \ No newline at end of file +} diff --git a/tests/acceptance/admin/TemplateControllerTest.php b/tests/controllers/TemplateControllerTest.php similarity index 73% rename from tests/acceptance/admin/TemplateControllerTest.php rename to tests/controllers/TemplateControllerTest.php index 55336203c4b..706e9ac3847 100644 --- a/tests/acceptance/admin/TemplateControllerTest.php +++ b/tests/controllers/TemplateControllerTest.php @@ -1,20 +1,8 @@ session['loginID'] = 1; \Yii::import('application.controllers.admin.themes', true); \Yii::import('application.helpers.globalsettings_helper', true); + // Clean up from last test. $templateName = 'foobartest'; \TemplateConfiguration::uninstall($templateName); \Template::model()->deleteAll('name = \'foobartest\''); \Permission::model()->deleteAllByAttributes(array('permission' => $templateName,'entity' => 'template')); + // Remove folder from last test. $newname = 'foobartest'; $newdirname = \Yii::app()->getConfig('userthemerootdir') . "/" . $newname; if (file_exists($newdirname)) { exec('rm -r ' . $newdirname); } + $config = require(\Yii::app()->getBasePath() . '/config/config-defaults.php'); // Simulate a POST. $_POST['newname'] = $newname; // NB: If default theme is not installed, this test will fail. $_POST['copydir'] = $config['defaulttheme']; $_SERVER['SERVER_NAME'] = 'localhost'; - $contr = new \themes(new DummyController('dummyid')); + + $contr = new \themes(new \ls\tests\DummyController('dummyid')); $contr->templatecopy(); + $flashes = \Yii::app()->user->getFlashes(); $this->assertEmpty($flashes, 'No flash messages'); + $template = \Template::model()->find( sprintf( 'name = \'%s\'', @@ -61,9 +56,11 @@ public function testCopyTemplate() ); $this->assertNotEmpty($template); $this->assertEquals($templateName, $template->name); + // Clean up. \Template::model()->deleteAll('name = \'foobartest\''); } + /** * @todo Copy template folder that does not exist. */ @@ -72,4 +69,4 @@ public function testCopyWrongFolder() { } */ -} \ No newline at end of file +} diff --git a/tests/resources/sql/create-mysql.153.sql b/tests/data/sql/create-mysql.153.sql similarity index 100% rename from tests/resources/sql/create-mysql.153.sql rename to tests/data/sql/create-mysql.153.sql diff --git a/tests/resources/sql/create-mysql.258.sql b/tests/data/sql/create-mysql.258.sql similarity index 100% rename from tests/resources/sql/create-mysql.258.sql rename to tests/data/sql/create-mysql.258.sql diff --git a/tests/resources/sql/create-mysql.315.sql b/tests/data/sql/create-mysql.315.sql similarity index 100% rename from tests/resources/sql/create-mysql.315.sql rename to tests/data/sql/create-mysql.315.sql diff --git a/tests/resources/surveys/limesurvey_survey_186734.lss b/tests/data/surveys/limesurvey_survey_186734.lss similarity index 100% rename from tests/resources/surveys/limesurvey_survey_186734.lss rename to tests/data/surveys/limesurvey_survey_186734.lss diff --git a/tests/resources/surveys/limesurvey_survey_352985.lss b/tests/data/surveys/limesurvey_survey_352985.lss similarity index 100% rename from tests/resources/surveys/limesurvey_survey_352985.lss rename to tests/data/surveys/limesurvey_survey_352985.lss diff --git a/tests/resources/surveys/limesurvey_survey_366446.lss b/tests/data/surveys/limesurvey_survey_366446.lss similarity index 100% rename from tests/resources/surveys/limesurvey_survey_366446.lss rename to tests/data/surveys/limesurvey_survey_366446.lss diff --git a/tests/resources/surveys/limesurvey_survey_454287.lss b/tests/data/surveys/limesurvey_survey_454287.lss similarity index 100% rename from tests/resources/surveys/limesurvey_survey_454287.lss rename to tests/data/surveys/limesurvey_survey_454287.lss diff --git a/tests/resources/surveys/limesurvey_survey_563168.lss b/tests/data/surveys/limesurvey_survey_563168.lss similarity index 100% rename from tests/resources/surveys/limesurvey_survey_563168.lss rename to tests/data/surveys/limesurvey_survey_563168.lss diff --git a/tests/resources/surveys/limesurvey_survey_583999.lss b/tests/data/surveys/limesurvey_survey_583999.lss similarity index 100% rename from tests/resources/surveys/limesurvey_survey_583999.lss rename to tests/data/surveys/limesurvey_survey_583999.lss diff --git a/tests/resources/surveys/limesurvey_survey_677328.lss b/tests/data/surveys/limesurvey_survey_677328.lss similarity index 100% rename from tests/resources/surveys/limesurvey_survey_677328.lss rename to tests/data/surveys/limesurvey_survey_677328.lss diff --git a/tests/resources/surveys/limesurvey_survey_834477.lss b/tests/data/surveys/limesurvey_survey_834477.lss similarity index 100% rename from tests/resources/surveys/limesurvey_survey_834477.lss rename to tests/data/surveys/limesurvey_survey_834477.lss diff --git a/tests/resources/surveys/limesurvey_survey_88881.lss b/tests/data/surveys/limesurvey_survey_88881.lss similarity index 100% rename from tests/resources/surveys/limesurvey_survey_88881.lss rename to tests/data/surveys/limesurvey_survey_88881.lss diff --git a/tests/resources/surveys/limesurvey_survey_917744.lss b/tests/data/surveys/limesurvey_survey_917744.lss similarity index 100% rename from tests/resources/surveys/limesurvey_survey_917744.lss rename to tests/data/surveys/limesurvey_survey_917744.lss diff --git a/tests/resources/surveys/limesurvey_survey_975622.lss b/tests/data/surveys/limesurvey_survey_975622.lss similarity index 100% rename from tests/resources/surveys/limesurvey_survey_975622.lss rename to tests/data/surveys/limesurvey_survey_975622.lss diff --git a/tests/resources/travis/travis-ci-apache b/tests/data/travis/travis-ci-apache similarity index 100% rename from tests/resources/travis/travis-ci-apache rename to tests/data/travis/travis-ci-apache diff --git a/tests/resources/travis/travis_setup.sh b/tests/data/travis/travis_setup.sh similarity index 100% rename from tests/resources/travis/travis_setup.sh rename to tests/data/travis/travis_setup.sh diff --git a/tests/resources/views/adminBaseViews.php b/tests/data/views/adminBaseViews.php similarity index 100% rename from tests/resources/views/adminBaseViews.php rename to tests/data/views/adminBaseViews.php diff --git a/tests/resources/views/adminGeneralSettingsViews.php b/tests/data/views/adminGeneralSettingsViews.php similarity index 100% rename from tests/resources/views/adminGeneralSettingsViews.php rename to tests/data/views/adminGeneralSettingsViews.php diff --git a/tests/resources/views/adminParticipantsViews.php b/tests/data/views/adminParticipantsViews.php similarity index 100% rename from tests/resources/views/adminParticipantsViews.php rename to tests/data/views/adminParticipantsViews.php diff --git a/tests/resources/views/adminSettingsViews.php b/tests/data/views/adminSettingsViews.php similarity index 100% rename from tests/resources/views/adminSettingsViews.php rename to tests/data/views/adminSettingsViews.php diff --git a/tests/resources/views/adminSurveyViews.php b/tests/data/views/adminSurveyViews.php similarity index 100% rename from tests/resources/views/adminSurveyViews.php rename to tests/data/views/adminSurveyViews.php diff --git a/tests/resources/views/adminUsersViews.php b/tests/data/views/adminUsersViews.php similarity index 100% rename from tests/resources/views/adminUsersViews.php rename to tests/data/views/adminUsersViews.php diff --git a/tests/functional/README.md b/tests/functional/README.md deleted file mode 100644 index 0b7c3d8a36a..00000000000 --- a/tests/functional/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Functional tests - -from: -https://stackoverflow.com/questions/4904096/whats-the-difference-between-unit-functional-acceptance-and-integration-test - ->Functional tests check a particular feature for correctness by comparing the results for a given input against the specification. Functional tests don't concern themselves with intermediate results or side-effects, just the result (they don't care that after doing x, object y has state z). They are written to test part of the specification such as, "calling function Square(x) with the argument of 2 returns 4". diff --git a/tests/functional/helpers/CheckDatabaseJsonValuesTest.php b/tests/helpers/CheckDatabaseJsonValuesTest.php similarity index 97% rename from tests/functional/helpers/CheckDatabaseJsonValuesTest.php rename to tests/helpers/CheckDatabaseJsonValuesTest.php index 10161178361..56d1e7b94ec 100644 --- a/tests/functional/helpers/CheckDatabaseJsonValuesTest.php +++ b/tests/helpers/CheckDatabaseJsonValuesTest.php @@ -1,8 +1,6 @@ teardownDatabase('__test_update_helper_258'); self::$testHelper->teardownDatabase('__test_update_helper_315'); } + /** * * @throws \CException @@ -34,10 +34,12 @@ public static function teardownAfterClass() public function testCreate() { $db = \Yii::app()->getDb(); + $config = require(\Yii::app()->getBasePath() . '/config/config.php'); $version = require(\Yii::app()->getBasePath() . '/config/version.php'); $connection = self::$testHelper->connectToNewDatabase('__test_check_database_json'); $this->assertNotEmpty($connection, 'Could connect to new database'); + // Get InstallerController. $inst = new \InstallerController('foobar'); $inst->connection = \Yii::app()->db; @@ -46,45 +48,55 @@ public function testCreate() if ($result) { print_r($result); } + // Run upgrade. $result = \db_upgrade_all($version['dbversionnumber']); + // Check JSON. $this->checkMenuEntriesJson($inst->connection); $this->checkTemplateConfigurationJson($inst->connection); + // Connect to old database. $db->setActive(false); \Yii::app()->setComponent('db', $config['components']['db'], false); $db->setActive(true); } + /** - * + * */ public function testUpdateFrom258() { $connection = self::$testHelper->updateDbFromVersion(258); + // Check JSON. $this->checkMenuEntriesJson($connection); $this->checkTemplateConfigurationJson($connection); + $db = \Yii::app()->getDb(); $db->setActive(false); $config = require(\Yii::app()->getBasePath() . '/config/config.php'); \Yii::app()->setComponent('db', $config['components']['db'], false); $db->setActive(true); } + /** */ public function testUpdateFrom315() { $connection = self::$testHelper->updateDbFromVersion(315); + // Check JSON. $this->checkMenuEntriesJson($connection); $this->checkTemplateConfigurationJson($connection); + $db = \Yii::app()->getDb(); $db->setActive(false); $config = require(\Yii::app()->getBasePath() . '/config/config.php'); \Yii::app()->setComponent('db', $config['components']['db'], false); $db->setActive(true); } + /** * @param \CDbConnection $connection * @return void @@ -102,6 +114,7 @@ protected function checkMenuEntriesJson(\CDbConnection $connection) } } } + /** * @param \CDbConnection $connection * @return void @@ -131,7 +144,8 @@ protected function checkTemplateConfigurationJson(\CDbConnection $connection) } else { // Nothing to check. } + } } } -} \ No newline at end of file +} diff --git a/tests/functional/helpers/ExpressionCoreAux.php b/tests/helpers/ExpressionCoreAux.php similarity index 97% rename from tests/functional/helpers/ExpressionCoreAux.php rename to tests/helpers/ExpressionCoreAux.php index 5b6c1658f70..3c10954cea0 100644 --- a/tests/functional/helpers/ExpressionCoreAux.php +++ b/tests/helpers/ExpressionCoreAux.php @@ -1,5 +1,6 @@ . * @mixed */ public $value; + /** * Question alias. * @var string */ public $alias = 'test'; + /** * @param string $expression * @param string $sgqa @@ -55,6 +63,7 @@ public function __construct($expression, $sgqa, $questionType, $value) $this->questionType = $questionType; $this->value = $value; } + /** * @return void */ @@ -62,6 +71,7 @@ public function compareExpression() { // Input value 3. $_SESSION['survey_563168'][$this->sgqa] = $this->value; + $em = new \ExpressionManager(); $lem = \LimeExpressionManager::singleton(); $lem->setVariableAndTokenMappingsForExpressionManager('563168'); @@ -74,16 +84,23 @@ public function compareExpression() ] ] ); + $em->RDP_Evaluate($this->expression); + $emResult = $em->GetResult(); + if ($this->jsonEncodeEmResult) { $emResult = json_encode($emResult); } + $errors = $em->RDP_GetErrors(); $this->assertEmpty($errors, print_r($errors, true)); $jsOfExpression = $em->GetJavaScriptEquivalentOfExpression(); + $js = $this->getDummyNodeSetup() . $jsOfExpression; + $nodeOutput = $this->runNode($js); + $this->assertCount(1, $nodeOutput); $this->assertEquals( $emResult, @@ -98,8 +115,13 @@ public function compareExpression() ); } + /** * JS code to setup environment so LEMval() can run. + * @param string $sgqa + * @param mixed $value + * @param string $alias + * @param int $onlynum * @return string */ public function getDummyNodeSetup() @@ -109,6 +131,7 @@ public function getDummyNodeSetup() } else { $value = $this->value; } + list($surveyId, $groupId, /* questionId */) = explode('X', $this->sgqa, 3); return << 2, 2 => 'NUMBER' ]; + $dqString = [ 0 => ' ', 1 => 26, 2 => 'DQ_STRING' ]; + $em->RDP_StackPush($number); $em->RDP_StackPush($dqString); + $compare = [ 0 => '>=', 1 => 23, @@ -78,12 +84,15 @@ public function notes() ]; $noErrors = $em->RDP_EvaluateBinary($compare); $this->assertTrue($noErrors); + $result = $em->RDP_StackPop(); + $em->RDP_StackPush($number); $em->RDP_StackPush($dqString); $em->RDP_StackPush($compare); $em->SetJsVarsUsed([]); */ + /* $pageInfo = [ 'qid' => '5377', @@ -100,6 +109,7 @@ public function notes() ]; */ } + /** * @group me */ @@ -115,6 +125,7 @@ public function testNumericalQuestion() $test->compareExpression(); } } + /** * @group me2 */ @@ -129,4 +140,4 @@ public function testShortTextQuestion() $test->compareExpression(); } } -} \ No newline at end of file +} diff --git a/tests/acceptance/surveys/GroupRandomizationTest.php b/tests/helpers/GroupRandomizationTest.php similarity index 83% rename from tests/acceptance/surveys/GroupRandomizationTest.php rename to tests/helpers/GroupRandomizationTest.php index dc1b574afbe..fe9ba91d363 100644 --- a/tests/acceptance/surveys/GroupRandomizationTest.php +++ b/tests/helpers/GroupRandomizationTest.php @@ -1,21 +1,9 @@ connectToOriginalDatabase(); + \Yii::app()->session['loginID'] = 1; - $surveyFile = self::getSurveysFolder().'/limesurvey_survey_88881.lss'; + + $surveyFile = __DIR__ . '/../data/surveys/limesurvey_survey_88881.lss'; if (!file_exists($surveyFile)) { echo 'Fatal error: found no survey file'; exit(4); } + $translateLinksFields = false; $newSurveyName = null; try { @@ -54,6 +47,7 @@ public static function setupBeforeClass() 'Could not import survey limesurvey_survey_88881.lss: ' . $ex->getMessage() ); } + if ($result) { self::$surveyId = $result['newsid']; } else { @@ -61,6 +55,7 @@ public static function setupBeforeClass() exit(5); } } + /** * Selenium setup. */ @@ -71,11 +66,13 @@ public function setUp() echo 'Must specify DOMAIN environment variable to run this test, like "DOMAIN=localhost/limesurvey" or "DOMAIN=limesurvey.localhost".'; exit(6); } + //$capabilities = DesiredCapabilities::phantomjs(); //$this->webDriver = RemoteWebDriver::create('http://localhost:4444/', $capabilities); } + /** - * + * */ public static function teardownAfterClass() { @@ -85,6 +82,7 @@ public static function teardownAfterClass() exit(8); } } + /** * Tear down fixture. */ @@ -93,16 +91,20 @@ public function tearDown() // Close Firefox. self::$webDriver->quit(); } + + /** - * + * */ public function testRunSurvey() { self::$testHelper->activateSurvey(self::$surveyId); + $domain = getenv('DOMAIN'); if (empty($domain)) { $domain = ''; } + $urlMan = \Yii::app()->urlManager; $urlMan->setBaseUrl('http://' . $domain . '/index.php'); $url = $urlMan->createUrl( @@ -113,6 +115,7 @@ public function testRunSurvey() 'lang' => 'pt' ) ); + self::$webDriver->get($url); $submit = self::$webDriver->findElement(WebDriverBy::id('ls-button-submit')); $this->assertNotEmpty($submit); @@ -120,13 +123,17 @@ public function testRunSurvey() WebDriverExpectedCondition::visibilityOf($submit) ); $submit->click(); + $body = self::$webDriver->findElement(WebDriverBy::tagName('body')); $text = $body->getText(); + // There should be no PHP notice. $this->assertTrue(strpos($text, 'PHP notice') === false, $text); + // NB: This is how to take a screenshot, if necessary. //$screenshot = self::$webDriver->takeScreenshot(); //file_put_contents(__DIR__ . '/screenshot.png', $screenshot); + self::$testHelper->deactivateSurvey(self::$surveyId); } -} \ No newline at end of file +} diff --git a/tests/functional/helpers/UpdateDbHelperTest.php b/tests/helpers/UpdateDbHelperTest.php similarity index 99% rename from tests/functional/helpers/UpdateDbHelperTest.php rename to tests/helpers/UpdateDbHelperTest.php index 6cc8f0e2834..3f6b6962f82 100644 --- a/tests/functional/helpers/UpdateDbHelperTest.php +++ b/tests/helpers/UpdateDbHelperTest.php @@ -1,7 +1,6 @@ teardownDatabase('__test_install_script'); self::$testHelper->teardownDatabase('__test_install_script_compare'); } + /** * Run the database PHP install script. * @group install @@ -28,9 +28,11 @@ public static function teardownAfterClass() public function testInstallPhp() { $db = \Yii::app()->getDb(); + $config = require(\Yii::app()->getBasePath() . '/config/config.php'); $connection = self::$testHelper->connectToNewDatabase('__test_install_script'); $this->assertNotEmpty($connection, 'Could connect to new database'); + // Get InstallerController. $inst = new \InstallerController('foobar'); $inst->connection = \Yii::app()->db; @@ -39,6 +41,7 @@ public function testInstallPhp() if ($result) { print_r($result); } + // Dump database to file. /* $output = array(); @@ -53,11 +56,13 @@ public function testInstallPhp() $this->assertEmpty($output, 'No output from mysqldump'); $this->assertEmpty($result, 'No last line output from mysqldump'); */ + // Connect to old database. $db->setActive(false); \Yii::app()->setComponent('db', $config['components']['db'], false); $db->setActive(true); } + /** * Run db_upgrade_all() from dbversion 258, to make sure * there are no conflicts or syntax errors. @@ -67,8 +72,10 @@ public function testInstallPhp() public function testDbUpgradeFrom258() { self::$testHelper->updateDbFromVersion(258); + $db = \Yii::app()->getDb(); $config = require(\Yii::app()->getBasePath() . '/config/config.php'); + // Dump database to file. /* $output = array(); @@ -83,11 +90,14 @@ public function testDbUpgradeFrom258() $this->assertEmpty($output, 'No output from mysqldump'); $this->assertEmpty($result, 'No last line output from mysqldump'); */ + // Connect to old database. \Yii::app()->setComponent('db', $config['components']['db'], false); $db->setActive(true); + // Database is deleted in teardownAfterClass(). } + /** * @group from315 * @throws \CException @@ -95,12 +105,15 @@ public function testDbUpgradeFrom258() public function testDbUpgradeFrom315() { self::$testHelper->updateDbFromVersion(315); + $db = \Yii::app()->getDb(); $config = require(\Yii::app()->getBasePath() . '/config/config.php'); + // Connect to old database. \Yii::app()->setComponent('db', $config['components']['db'], false); $db->setActive(true); } + /** * Compare database between upgrade and fresh install. * @group dbcompare @@ -111,10 +124,12 @@ public function testCompareUpgradeAndFreshInstall() $connection = self::$testHelper->updateDbFromVersion(258); $upgradeTables = $connection->schema->getTables(); $this->compareAux($upgradeTables, 258); + $connection = self::$testHelper->updateDbFromVersion(315); $upgradeTables = $connection->schema->getTables(); $this->compareAux($upgradeTables, 315); } + /** * @param array $upgradeTables * @return void @@ -123,7 +138,9 @@ public function testCompareUpgradeAndFreshInstall() protected function compareAux(array $upgradeTables, $upgradedFrom) { $config = require(\Yii::app()->getBasePath() . '/config/config.php'); + $dbo = \Yii::app()->getDb(); + /* $config = require(\Yii::app()->getBasePath() . '/config/config.php'); // Get database name. @@ -143,12 +160,15 @@ protected function compareAux(array $upgradeTables, $upgradedFrom) ); $connection->active = true; */ + \Yii::app()->cache->flush(); + self::$testHelper->teardownDatabase('__test_install_script_compare'); $connection = self::$testHelper->connectToNewDatabase('__test_install_script_compare'); $this->assertNotEmpty($connection, 'Could not connect to new database: ' . json_encode($connection)); $connection->schemaCachingDuration = 0; // Deactivate schema caching $connection->schema->refresh(); + // Get InstallerController. $db = \Yii::app()->getDb(); $inst = new \InstallerController('foobar'); @@ -167,8 +187,10 @@ protected function compareAux(array $upgradeTables, $upgradedFrom) } $inst->connection->schema->refresh(); $freshInstallTables = $inst->connection->schema->getTables(); + $this->assertEquals(count($upgradeTables), count($freshInstallTables), 'Same number of tables'); $this->assertEquals(array_keys($upgradeTables), array_keys($freshInstallTables), 'Same number of tables'); + // Loop tables. $upgradeKeys = array_keys($upgradeTables); $freshInstallKeys = array_keys($freshInstallTables); @@ -176,8 +198,10 @@ protected function compareAux(array $upgradeTables, $upgradedFrom) $this->assertEquals($upgradeKeys[$i], $freshInstallKeys[$i]); $upgradeTable = $upgradeTables[$upgradeKeys[$i]]; $freshTable = $freshInstallTables[$freshInstallKeys[$i]]; + $upgradeColumns = $upgradeTable->columns; $freshColumns = $freshTable->columns; + // Loop columns. foreach ($upgradeColumns as $columnName => $upgradeColumn) { $upgradeColumn = (array) $upgradeColumn; @@ -201,6 +225,7 @@ protected function compareAux(array $upgradeTables, $upgradedFrom) } } } + /* Code to dump diff, but nearly useless due to collate difference. $output = array(); exec( @@ -214,9 +239,10 @@ protected function compareAux(array $upgradeTables, $upgradedFrom) $output ); */ + // Connect to old database. $dbo->setActive(false); \Yii::app()->setComponent('db', $config['components']['db'], false); $dbo->setActive(true); } -} \ No newline at end of file +} diff --git a/tests/acceptance/admin/TemplateConfigurationTest.php b/tests/models/TemplateConfigurationTest.php similarity index 86% rename from tests/acceptance/admin/TemplateConfigurationTest.php rename to tests/models/TemplateConfigurationTest.php index b2d33e0b094..f744b8f756f 100644 --- a/tests/acceptance/admin/TemplateConfigurationTest.php +++ b/tests/models/TemplateConfigurationTest.php @@ -1,7 +1,6 @@ prepareTemplateRendering('default'); + // No PHP notices. $this->assertTrue(true); } -} \ No newline at end of file +} diff --git a/tests/acceptance/questions/DateTimeDefaultAnswerExpressionTest.php b/tests/questions/DateTimeDefaultAnswerExpressionTest.php similarity index 89% rename from tests/acceptance/questions/DateTimeDefaultAnswerExpressionTest.php rename to tests/questions/DateTimeDefaultAnswerExpressionTest.php index 080a943ba08..ff55851fc17 100644 --- a/tests/acceptance/questions/DateTimeDefaultAnswerExpressionTest.php +++ b/tests/questions/DateTimeDefaultAnswerExpressionTest.php @@ -1,22 +1,6 @@ getSgqa('G1Q00005', self::$surveyId); + $surveyOptions = self::$testHelper->getSurveyOptions(self::$surveyId); + \Yii::app()->setConfig('surveyID', self::$surveyId); \Yii::app()->setController(new DummyController('dummyid')); buildsurveysession(self::$surveyId); @@ -61,15 +50,19 @@ public function testDefaultAnswerExpressionFill() ], $result ); + // Qanda needs this. $_SESSION['survey_' . self::$surveyId]['maxstep'] = 2; $_SESSION['survey_' . self::$surveyId]['step'] = 1; + // Move one step to run expressions. $moveResult = \LimeExpressionManager::NavigateForwards(); + // Check result from qanda. $qanda = \retrieveAnswers( $_SESSION['survey_' . self::$surveyId]['fieldarray'][0] ); + $correctDate = date('d/m/Y'); $this->assertNotEquals( false, @@ -82,7 +75,9 @@ public function testDefaultAnswerExpressionFill() ), 'Showing todays date' ); + } + /** * Test full default answer expression, * date('Y-m-d H:i'). @@ -93,8 +88,11 @@ public function testCorrectDefaultAnswerExpression() global $thissurvey; $thissurvey = self::$surveyId; $survey = \Survey::model()->findByPk(self::$surveyId); + list($question, $group, $sgqa) = self::$testHelper->getSgqa('q2', self::$surveyId); + $surveyOptions = self::$testHelper->getSurveyOptions(self::$surveyId); + \Yii::app()->setConfig('surveyID', self::$surveyId); \Yii::app()->setController(new DummyController('dummyid')); buildsurveysession(self::$surveyId); @@ -114,16 +112,21 @@ public function testCorrectDefaultAnswerExpression() ], $result ); + // Qanda needs this. $_SESSION['survey_' . self::$surveyId]['maxstep'] = 2; $_SESSION['survey_' . self::$surveyId]['step'] = 1; + // Move one step to run expressions. $moveResult = \LimeExpressionManager::NavigateForwards(); + // Check result from qanda. $qanda = \retrieveAnswers( $_SESSION['survey_' . self::$surveyId]['fieldarray'][1] // 1 = second question (q2) ); + $correctDate = date('d/m/Y'); + $this->assertNotEquals( false, strpos( @@ -136,6 +139,7 @@ public function testCorrectDefaultAnswerExpression() 'Showing todays date' ); } + /** * Test default answer, date format HH:MM, expression * date('HH:ii'). Return empty value. @@ -144,8 +148,11 @@ public function testWrongDefaultAnswerExpression() { global $thissurvey; $thissurvey = self::$surveyId; + list($question, $group, $sgqa) = self::$testHelper->getSgqa('q3', self::$surveyId); + $surveyOptions = self::$testHelper->getSurveyOptions(self::$surveyId); + \Yii::app()->setConfig('surveyID', self::$surveyId); \Yii::app()->setController(new DummyController('dummyid')); buildsurveysession(self::$surveyId); @@ -165,23 +172,28 @@ public function testWrongDefaultAnswerExpression() ], $result ); + // Qanda needs this. $_SESSION['survey_' . self::$surveyId]['maxstep'] = 2; $_SESSION['survey_' . self::$surveyId]['step'] = 1; + // Move one step to run expressions. $moveResult = \LimeExpressionManager::NavigateForwards(); + // Check result from qanda. $qanda = \retrieveAnswers( $_SESSION['survey_' . self::$surveyId]['fieldarray'][2] // 2 = third question (q3) ); + // NB: Empty value, since default answer expression is not parsed by qanda. $this->assertNotEquals( false, strpos($qanda[0][1], "value=\"\""), 'Showing empty date due to wrong expression' ); + // NB: Value below is todays time in format H:i, which can't be // parsed by qanda (expects Y-m-d H:i). //print_r($_SESSION['survey_' . self::$surveyId][$sgqa]); } -} \ No newline at end of file +} diff --git a/tests/acceptance/questions/DateTimeForwardBackTest.php b/tests/questions/DateTimeForwardBackTest.php similarity index 82% rename from tests/acceptance/questions/DateTimeForwardBackTest.php rename to tests/questions/DateTimeForwardBackTest.php index f33fe2b94b2..2dd2b1c5974 100644 --- a/tests/acceptance/questions/DateTimeForwardBackTest.php +++ b/tests/questions/DateTimeForwardBackTest.php @@ -1,21 +1,6 @@ getSgqa('G1Q00001', self::$surveyId); $surveyMode = 'group'; $LEMdebugLevel = 0; + self::$testHelper->activateSurvey(self::$surveyId); + // Must fetch this AFTER survey is activated. $surveyOptions = self::$testHelper->getSurveyOptions(self::$surveyId); + \Yii::app()->setConfig('surveyID', self::$surveyId); \Yii::app()->setController(new DummyController('dummyid')); \buildsurveysession(self::$surveyId); @@ -64,6 +55,7 @@ public function testQ1() ], $result ); + $qid = $question->qid; $gseq = 0; $_POST['relevance' . $qid] = 1; @@ -75,22 +67,27 @@ public function testQ1() $_POST[$sgqa] = '10:00'; $_SESSION['survey_' . self::$surveyId]['maxstep'] = 2; $_SESSION['survey_' . self::$surveyId]['step'] = 1; + $moveResult = \LimeExpressionManager::NavigateForwards(); $result = \LimeExpressionManager::ProcessCurrentResponses(); $this->assertEquals($result[$sgqa]['value'], '1970-01-01 10:00'); + $moveResult = \LimeExpressionManager::NavigateForwards(); // Result is empty dummy text question. \LimeExpressionManager::ProcessCurrentResponses(); + // Check answer in database. $query = 'SELECT * FROM {{survey_' . self::$surveyId . '}}'; $result = \Yii::app()->db->createCommand($query)->queryAll(); $this->assertEquals($result[0][$sgqa], '1970-01-01 10:00:00', 'Answer in database is 10:00'); + // Check result from qanda. $qanda = \retrieveAnswers( $_SESSION['survey_' . self::$surveyId]['fieldarray'][0] ); $this->assertEquals(false, strpos($qanda[0][1], "value=\"11:00\""), 'No 11:00 value from qanda'); $this->assertNotEquals(false, strpos($qanda[0][1], "value=\"10:00\""), 'One 10:00 value from qanda'); + self::$testHelper->deactivateSurvey(self::$surveyId); } -} \ No newline at end of file +} diff --git a/tests/acceptance/questions/DateTimeTest.php b/tests/questions/DateTimeTest.php similarity index 68% rename from tests/acceptance/questions/DateTimeTest.php rename to tests/questions/DateTimeTest.php index 5eb7e7cccf0..93d99553154 100644 --- a/tests/acceptance/questions/DateTimeTest.php +++ b/tests/questions/DateTimeTest.php @@ -1,20 +1,7 @@ qid => array - ( - 'info' => array ( - 'relevance' => '1', - 'grelevance' => '', - 'qid' => $question->qid, - 'qseq' => 1, - 'gseq' => 0, - 'jsResultVar_on' => 'answer' . $sgqa, - 'jsResultVar' => 'java' . $sgqa, - 'type' => 'D', + 'info' => array + ( + 'relevance' => '1', + 'grelevance' => '', + 'qid' => $question->qid, + 'qseq' => 1, + 'gseq' => 0, + 'jsResultVar_on' => 'answer' . $sgqa, + 'jsResultVar' => 'java' . $sgqa, + 'type' => 'D', + 'hidden' => false, + 'gid' => $group->gid, + 'mandatory' => 'N', + 'eqn' => '', + 'help' => '', + 'qtext' => '', + 'code' => 'q2', + 'other' => 'N', + 'default' => null, + 'rootVarName' => 'q2', + 'rowdivid' => '', + 'aid' => '', + 'sqid' => '', + ), + 'relevant' => true, 'hidden' => false, - 'gid' => $group->gid, - 'mandatory' => 'N', - 'eqn' => '', - 'help' => '', - 'qtext' => '', - 'code' => 'q2', - 'other' => 'N', - 'default' => null, - 'rootVarName' => 'q2', - 'rowdivid' => '', - 'aid' => '', - 'sqid' => '', - ), - 'relevant' => true, - 'hidden' => false, - 'relEqn' => '', - 'sgqa' => $sgqa, - 'unansweredSQs' => $sgqa, - 'valid' => true, - 'validEqn' => '', - 'prettyValidEqn' => '', - 'validTip' => '', - 'prettyValidTip' => '', - 'validJS' => '', - 'invalidSQs' => '', - 'relevantSQs' => $sgqa, - 'irrelevantSQs' => '', - 'subQrelEqn' => '', - 'mandViolation' => false, - 'anyUnanswered' => true, - 'mandTip' => '', - 'message' => '', - 'updatedValues' => array(), - 'sumEqn' => '', - 'sumRemainingEqn' => '' - ) + 'relEqn' => '', + 'sgqa' => $sgqa, + 'unansweredSQs' => $sgqa, + 'valid' => true, + 'validEqn' => '', + 'prettyValidEqn' => '', + 'validTip' => '', + 'prettyValidTip' => '', + 'validJS' => '', + 'invalidSQs' => '', + 'relevantSQs' => $sgqa, + 'irrelevantSQs' => '', + 'subQrelEqn' => '', + 'mandViolation' => false, + 'anyUnanswered' => true, + 'mandTip' => '', + 'message' => '', + 'updatedValues' => array(), + 'sumEqn' => '', + 'sumRemainingEqn' => '' + ) ); return $qset; } + /** * Test wrong date input and error message. * @group datewronginput @@ -98,10 +91,14 @@ public function testWrongInput() { $contr = new DummyController('dummyid'); \Yii::app()->setController($contr); + list($question, $group, $sgqa) = self::$testHelper->getSgqa('q2', self::$surveyId); + $qset = $this->getQuestionSetForQ2($question, $group, $sgqa); + $em = \LimeExpressionManager::singleton(); $em->setCurrentQset($qset); + $surveyMode = 'group'; $LEMdebugLevel = 0; $surveyOptions = self::$testHelper->getSurveyOptions(self::$surveyId); @@ -112,31 +109,40 @@ public function testWrongInput() false, $LEMdebugLevel ); + $qid = $question->qid; $gseq = 0; $_POST['relevance' . $qid] = 1; $_POST['relevanceG' . $gseq] = 1; $_POST[$sgqa] = 'asd'; + $result = \LimeExpressionManager::ProcessCurrentResponses(); $this->assertNotEmpty($result); $this->assertEquals(1, count($result), 'One question from ProcessCurrentResponses'); $this->assertEquals('INVALID', $result[$sgqa]['value']); + $originalPrefix = \Yii::app()->user->getStateKeyPrefix(); \Yii::app()->user->setStateKeyPrefix('frontend' . self::$surveyId); $flashes = \Yii::app()->user->getFlashes(); + $this->assertNotEmpty($flashes); $this->assertEquals(1, count($flashes), 'One error message'); + \Yii::app()->user->setStateKeyPrefix($originalPrefix); } + /** * Test correct date. */ public function testCorrectDateFormat() { list($question, $group, $sgqa) = self::$testHelper->getSgqa('q2', self::$surveyId); + $qset = $this->getQuestionSetForQ2($question, $group, $sgqa); + $em = \LimeExpressionManager::singleton(); $em->setCurrentQset($qset); + $surveyMode = 'group'; $LEMdebugLevel = 0; $surveyOptions = self::$testHelper->getSurveyOptions(self::$surveyId); @@ -147,21 +153,27 @@ public function testCorrectDateFormat() false, $LEMdebugLevel ); + $qid = $question->qid; $gseq = 0; $_POST['relevance' . $qid] = 1; $_POST['relevanceG' . $gseq] = 1; $_POST[$sgqa] = '23/12/2016'; + $result = \LimeExpressionManager::ProcessCurrentResponses(); $this->assertNotEmpty($result); $this->assertEquals(1, count($result), 'One question from ProcessCurrentResponses'); $this->assertEquals('2016-12-23 00:00', $result[$sgqa]['value']); + $originalPrefix = \Yii::app()->user->getStateKeyPrefix(); \Yii::app()->user->setStateKeyPrefix('frontend' . self::$surveyId); $flashes = \Yii::app()->user->getFlashes(); + $this->assertEmpty($flashes, 'No error message'); + \Yii::app()->user->setStateKeyPrefix($originalPrefix); } + /** * q1 is hidden question with default answer "now". */ @@ -186,4 +198,4 @@ public function testQ1() $result = \LimeExpressionManager::ProcessCurrentResponses(); $this->assertEquals(date('Y-m-d'), $_SESSION['survey_' . self::$surveyId][$sgqa]); } -} \ No newline at end of file +} diff --git a/tests/acceptance/questions/DateTimeValidationTest.php b/tests/questions/DateTimeValidationTest.php similarity index 77% rename from tests/acceptance/questions/DateTimeValidationTest.php rename to tests/questions/DateTimeValidationTest.php index 3606ddb2bda..3bcba3534f8 100644 --- a/tests/acceptance/questions/DateTimeValidationTest.php +++ b/tests/questions/DateTimeValidationTest.php @@ -1,24 +1,11 @@ enablePreview(); } + /** - * + * */ public function testBasic() { @@ -51,7 +40,9 @@ public function testBasic() 'lang' => 'pt' ] ); + self::$webDriver->get($url); + try { $submit = self::$webDriver->findElement(WebDriverBy::id('ls-button-submit')); } catch (NoSuchElementException $ex) { @@ -64,13 +55,15 @@ public function testBasic() 'Screenshot in ' . $filename . PHP_EOL . $ex->getMessage() ); } + $this->assertNotEmpty($submit); self::$webDriver->wait(5)->until( WebDriverExpectedCondition::elementToBeClickable( - WebDriverBy::id('ls-button-submit') - ) + WebDriverBy::id('ls-button-submit') + ) ); $submit->click(); + // After submit we should see the complete page. try { // Wait max 10 second to find this div. @@ -92,14 +85,14 @@ public function testBasic() ); } catch (TimeOutException $ex) { $body = self::$webDriver->findElement(WebDriverBy::tagName('body')); - var_dump($body->getText()); - $reflect = new \ReflectionClass($this); - //if ($reflect->getShortName() === 'Name') { + var_dump($body->getText()); + $reflect = new \ReflectionClass($this); + //if ($reflect->getShortName() === 'Name') { self::$testHelper->takeScreenshot(self::$webDriver, $reflect->getShortName() . '_' . __FUNCTION__); $this->assertFalse( true, self::$testHelper->javaTrace($ex) ); - } + } } -} \ No newline at end of file +} diff --git a/tests/acceptance/questions/MultipleChoiceNextPreviousTest.php b/tests/questions/MultipleChoiceNextPreviousTest.php similarity index 82% rename from tests/acceptance/questions/MultipleChoiceNextPreviousTest.php rename to tests/questions/MultipleChoiceNextPreviousTest.php index b65e9a5ed1d..c140266c718 100644 --- a/tests/acceptance/questions/MultipleChoiceNextPreviousTest.php +++ b/tests/questions/MultipleChoiceNextPreviousTest.php @@ -1,21 +1,9 @@ urlManager; $urlMan->setBaseUrl('http://' . self::$domain . '/index.php'); @@ -49,6 +39,7 @@ public function testNextPrevious() 'lang' => 'pt' ] ); + // Get questions. $survey = \Survey::model()->findByPk(self::$surveyId); $questionObjects = $survey->groups[0]->questions; @@ -56,29 +47,38 @@ public function testNextPrevious() foreach ($questionObjects as $q) { $questions[$q->title] = $q; } + try { + self::$webDriver->get($url); + // Click first checkbox. $lis = self::$webDriver->findElements(WebDriverBy::cssSelector('li label')); $this->assertCount(3, $lis); $lis[0]->click(); + // Click next. $submit = self::$webDriver->findElement(WebDriverBy::id('ls-button-submit')); $submit->click(); + // Click previous.. $prev = self::$webDriver->findElement(WebDriverBy::id('ls-button-previous')); $prev->click(); sleep(1); // TODO: Does not work without this. + // Click next. $submit = self::$webDriver->findElement(WebDriverBy::id('ls-button-submit')); $submit->click(); + // Click previous.. $prev = self::$webDriver->findElement(WebDriverBy::id('ls-button-previous')); $prev->click(); + // Check value of checkbox. $sgqa = self::$surveyId . 'X' . $survey->groups[0]->gid . 'X' . $questions['q2']->qid; $checkbox = self::$webDriver->findElement(WebDriverBy::id('java' . $sgqa . 'SQ001')); $this->assertEquals('Y', $checkbox->getAttribute('value')); + } catch (NoSuchElementException $ex) { $screenshot = self::$webDriver->takeScreenshot(); $filename = self::$screenshotsFolder.'/MultipleChoiceNextPreviousTest.png'; @@ -90,4 +90,4 @@ public function testNextPrevious() ); } } -} \ No newline at end of file +} diff --git a/tests/resources/README.md b/tests/resources/README.md deleted file mode 100644 index 23d7ee42c17..00000000000 --- a/tests/resources/README.md +++ /dev/null @@ -1 +0,0 @@ -# Test resources diff --git a/tests/acceptance/surveys/MultipleChoiceWithExpressionTest.php b/tests/surveys/MultipleChoiceWithExpressionTest.php similarity index 96% rename from tests/acceptance/surveys/MultipleChoiceWithExpressionTest.php rename to tests/surveys/MultipleChoiceWithExpressionTest.php index c14cf355869..4d44989d5a9 100644 --- a/tests/acceptance/surveys/MultipleChoiceWithExpressionTest.php +++ b/tests/surveys/MultipleChoiceWithExpressionTest.php @@ -1,8 +1,8 @@ urlManager; $urlMan->setBaseUrl('http://' . self::$domain . '/index.php'); @@ -29,6 +30,7 @@ public function testBasic() 'lang' => 'pt' ] ); + // Get questions. $survey = \Survey::model()->findByPk(self::$surveyId); $questionObjects = $survey->groups[0]->questions; @@ -41,9 +43,11 @@ public function testBasic() $subquestions[$subq->title] = $subq; } $sgqa = self::$surveyId . 'X' . $survey->groups[0]->gid . 'X' . $questions['Q1']->qid . '123'; // 123 = first subquestion title. + try { // Get first page. self::$webDriver->get($url); + // Click on first multiple choice checkbox. $label = self::$webDriver->findElement( WebDriverBy::cssSelector( @@ -54,11 +58,13 @@ public function testBasic() ) ); $label->click(); + // Check that equation reacts. $equation = self::$webDriver->findElement(WebDriverBy::id('question' . $questions['equation1']->qid)); $equestionText = $equation->getText(); $trues = substr_count($equestionText, 'true'); $this->assertEquals(2, $trues, 'Found two "true"'); + $label->click(); $equestionText = $equation->getText(); $trues = substr_count($equestionText, 'true'); @@ -71,4 +77,4 @@ public function testBasic() ); } } -} \ No newline at end of file +} diff --git a/tests/acceptance/surveys/ScreenOutTest.php b/tests/surveys/ScreenOutTest.php similarity index 97% rename from tests/acceptance/surveys/ScreenOutTest.php rename to tests/surveys/ScreenOutTest.php index 6512b48e8a6..db01740812f 100644 --- a/tests/acceptance/surveys/ScreenOutTest.php +++ b/tests/surveys/ScreenOutTest.php @@ -1,13 +1,12 @@ 'pt' ] ); + try { self::$webDriver->get($url); + // Click next. $nextButton = self::$webDriver->findElement(WebDriverBy::id('ls-button-submit')); $nextButton->click(); + // Check that we see completed text. $completed = self::$webDriver->findElement(WebDriverBy::cssSelector('div.completed-text')); $this->assertNotEmpty($completed); + } catch (NoSuchElementException $ex) { $screenshot = self::$webDriver->takeScreenshot(); $filename = self::$screenshotsFolder.'/ScreenOutTest.png'; @@ -59,8 +64,9 @@ public function testNoAnswer() ); } } + /** - * + * */ public function testYes() { @@ -75,6 +81,7 @@ public function testYes() 'lang' => 'pt' ] ); + // Get questions. $survey = \Survey::model()->findByPk(self::$surveyId); $questionObjects = $survey->groups[0]->questions; @@ -82,25 +89,32 @@ public function testYes() foreach ($questionObjects as $q) { $questions[$q->title] = $q; } + try { self::$webDriver->get($url); + //javatbd186734X355X1911Y $answerId = 'javatbd' . self::$surveyId . 'X' . $survey->groups[0]->gid . 'X' . $questions['q1']->qid . 'Y'; $yesButton = self::$webDriver->findElement(WebDriverBy::id($answerId)); $yesButton->click(); + // Click next. $nextButton = self::$webDriver->findElement(WebDriverBy::id('ls-button-submit')); $nextButton->click(); + // answer186734X355X1912 $question2Id = 'answer' . self::$surveyId . 'X' . $survey->groups[0]->gid . 'X' . $questions['q2']->qid; $question2 = self::$webDriver->findElement(WebDriverBy::id($question2Id)); $this->assertNotEmpty($question2); + // Click next again. $nextButton = self::$webDriver->findElement(WebDriverBy::id('ls-button-submit')); $nextButton->click(); + // Check that we see completed text. $completed = self::$webDriver->findElement(WebDriverBy::cssSelector('div.completed-text')); $this->assertNotEmpty($completed); + } catch (NoSuchElementException $ex) { $screenshot = self::$webDriver->takeScreenshot(); $filename = self::$screenshotsFolder.'/ScreenOutTest.png'; @@ -112,4 +126,4 @@ public function testYes() ); } } -} \ No newline at end of file +} diff --git a/tests/travis/travis-ci-apache b/tests/travis/travis-ci-apache new file mode 100644 index 00000000000..fa2370a815c --- /dev/null +++ b/tests/travis/travis-ci-apache @@ -0,0 +1,25 @@ + + # [...] + + DocumentRoot %TRAVIS_BUILD_DIR% + + + Options FollowSymLinks MultiViews ExecCGI + AllowOverride All + Require all granted + + + # Wire up Apache to use Travis CI's php-fpm. + + AddHandler php7.1-fcgi .php + Action php7.1-fcgi /php7.1-fcgi + Alias /php7.1-fcgi /usr/lib/cgi-bin/php7.1-fcgi + FastCgiExternalServer /usr/lib/cgi-bin/php7.1-fcgi -host 127.0.0.1:9000 -pass-header Authorization + + + Require all granted + + + + # [...] + diff --git a/tests/unit/README.md b/tests/unit/README.md deleted file mode 100644 index ff60f5fa178..00000000000 --- a/tests/unit/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# Unit tests -from: -https://stackoverflow.com/questions/4904096/whats-the-difference-between-unit-functional-acceptance-and-integration-test - > Unit tests should be focussed on one particular feature (e.g., calling the pop method when the stack is empty should throw an InvalidOperationException). Everything it touches should be done in memory; this means that the test code and the code under test shouldn't: - >- Call out into (non-trivial) collaborators - >- Access the network - >- Hit a database - >- Use the file system - >- Spin up a thread - > - >Any kind of dependency that is slow / hard to understand / initialise / manipulate should be stubbed/mocked/whatevered using the appropriate techniques so you can focus on what the unit of code is doing, not what its dependencies do. From eae53dd8541e1126503a2e5ac49392a21da029d6 Mon Sep 17 00:00:00 2001 From: markusfluer Date: Wed, 17 Jan 2018 13:37:18 +0100 Subject: [PATCH 44/84] Dev: some visual fixes for token send invitation --- application/controllers/admin/tokens.php | 6 ++- application/views/admin/token/emailpost.php | 21 +++++---- .../views/admin/token/emailwarning.php | 47 ++++++++++++++++--- 3 files changed, 57 insertions(+), 17 deletions(-) diff --git a/application/controllers/admin/tokens.php b/application/controllers/admin/tokens.php index 3b031ceba8d..fa7c3fa541a 100644 --- a/application/controllers/admin/tokens.php +++ b/application/controllers/admin/tokens.php @@ -1488,7 +1488,7 @@ public function email($iSurveyId, $tokenids = null) unset($fieldsarray); } - $aViewUrls = array('emailpost'); + $aViewUrls = array(); $aData['tokenoutput'] = $tokenoutput; if ($ctcount > $emcount) { @@ -1502,7 +1502,9 @@ public function email($iSurveyId, $tokenids = null) } $aData['lefttosend'] = $ctcount - $iMaxEmails; + $aData['nosidebodyblock'] = true; $aViewUrls[] = 'emailwarning'; + } else { if (!$bInvalidDate && !$bSendError) { $aData['tokenoutput'] .= "".gT("All emails were sent.").""; @@ -1518,7 +1520,7 @@ public function email($iSurveyId, $tokenids = null) $aData['tokenoutput'] .= '

    '.gT("Ok").'

    '; } } - + $aViewUrls[] = 'emailpost'; $this->_renderWrappedTemplate('token', $aViewUrls, $aData); } else { $aData['sidemenu']['state'] = false; diff --git a/application/views/admin/token/emailpost.php b/application/views/admin/token/emailpost.php index 42a3a6be863..f96a487f12e 100644 --- a/application/views/admin/token/emailpost.php +++ b/application/views/admin/token/emailpost.php @@ -4,16 +4,19 @@ * @var $title string * @var $message html */ -?> -
    -
    -
    -
    -

    -
    - -
    + +if(isset($nosidebodyblock) && $nosidebodyblock === true ){ ?> +
    + + +
    +
    +
    +

    +
    +
    + diff --git a/application/views/admin/token/emailwarning.php b/application/views/admin/token/emailwarning.php index 10ef524792d..6ed05d987d2 100644 --- a/application/views/admin/token/emailwarning.php +++ b/application/views/admin/token/emailwarning.php @@ -1,15 +1,15 @@
    -
    +

    - - - + 'tokenSubmitInviteForm']); ?> + 20'); ?>



    - + +     @@ -43,5 +43,40 @@ } ?> -
    +
    +
    + 20 seconds to go +
    +
    +getClientScript()->registerScript('TokenInviteLooper', " + $('#countdown-progress').css('-webkit-animation-duration', '1s'); + $('#countdown-progress').css('-moz-animation-duration', '1s'); + $('#countdown-progress').css('animation-duration', '1s'); + window.countdownTimerTokenSend = 20; + var intervaltoRenew = window.setInterval(function(){ + if(window.countdownTimerTokenSend === 0){ + $('body').append('
    '); + $('#sendTokenInvitationsNow').after('

    '); + $('#cancelAutomaticSubmission').remove(); + $('#sendTokenInvitationsNow').remove(); + $('#tokenSubmitInviteForm').trigger('submit'); + clearInterval(intervaltoRenew); + return; + } + window.countdownTimerTokenSend--; + $('#countdown-progress').css('width', (window.countdownTimerTokenSend*5)+'%'); + $('#tokensendcounter').text(window.countdownTimerTokenSend); + },1000); + + $('#cancelAutomaticSubmission').on('click', function(evt){ + evt.preventDefault(); + clearInterval(intervaltoRenew); + $('#countdown-progress').css('width', '0%'); + $('#tokensendcounter').text('X'); + }); + +", LSYii_ClientScript::POS_POSTSCRIPT); + From 004e4fa71679ede5a833a9692fc1481fd4e51093 Mon Sep 17 00:00:00 2001 From: Olle Haerstedt Date: Wed, 17 Jan 2018 14:13:43 +0100 Subject: [PATCH 45/84] Dev: Replace exit() with assert(false) in test helper --- tests/TestBaseClass.php | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/tests/TestBaseClass.php b/tests/TestBaseClass.php index 6b36fe5266f..dc102a03e27 100644 --- a/tests/TestBaseClass.php +++ b/tests/TestBaseClass.php @@ -54,8 +54,7 @@ protected static function importSurvey($fileName) \Yii::app()->session['loginID'] = 1; $surveyFile = $fileName; if (!file_exists($surveyFile)) { - echo 'Fatal error: found no survey file'; - exit(1); + self::assertTrue(false, 'Found no survey file ' . $fileName); } $translateLinksFields = false; @@ -70,8 +69,7 @@ protected static function importSurvey($fileName) self::$testSurvey = \Survey::model()->findByPk($result['newsid']); self::$surveyId = $result['newsid']; } else { - echo 'Fatal error: Could not import survey'; - exit(2); + self::assertTrue(false, 'Could not import survey file ' . $fileName); } } @@ -85,8 +83,13 @@ public static function tearDownAfterClass() if (self::$testSurvey) { if (!self::$testSurvey->delete()) { - echo 'Fatal error: Could not clean up survey ' . self::$testSurvey->sid . '; errors: ' . json_encode(self::$testSurvey->errors); - exit(3); + self::assertTrue( + false, + 'Fatal error: Could not clean up survey ' + . self::$testSurvey->sid + . '; errors: ' + . json_encode(self::$testSurvey->errors) + ); } self::$testSurvey = null; } From f94d21d23a2b84156edce081a4b732a005ae0df9 Mon Sep 17 00:00:00 2001 From: Olle Haerstedt Date: Wed, 17 Jan 2018 14:54:33 +0100 Subject: [PATCH 46/84] Dev: Subclass Facebook web driver to LimeSurveyWebDriver --- tests/LimeSurveyWebDriver.php | 42 +++++++++++++++++++++++++++++++++++ tests/TestBaseClassWeb.php | 2 +- tests/TestHelper.php | 2 +- tests/bootstrap.php | 1 + 4 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 tests/LimeSurveyWebDriver.php diff --git a/tests/LimeSurveyWebDriver.php b/tests/LimeSurveyWebDriver.php new file mode 100644 index 00000000000..0ce718721b4 --- /dev/null +++ b/tests/LimeSurveyWebDriver.php @@ -0,0 +1,42 @@ +findElement( + WebDriverBy::cssSelector( + sprintf( + '#langchangerSelectMain option[value="%s"]', + $newLang + ) + ) + ); + $langSelectOption->click(); + } + + /** + * Go to next question/question group. + * @return void + */ + public function next() + { + $nextButton = $this->findElement(WebDriverBy::id('ls-button-submit')); + $nextButton->click(); + } +} diff --git a/tests/TestBaseClassWeb.php b/tests/TestBaseClassWeb.php index 4b04f54dc7f..477c4666b2f 100644 --- a/tests/TestBaseClassWeb.php +++ b/tests/TestBaseClassWeb.php @@ -32,7 +32,7 @@ class TestBaseClassWeb extends TestBaseClass public static $webPort = 4444; /** - * @var WebDriver $webDriver + * @var LimeSurveyWebDriver $webDriver */ protected static $webDriver; diff --git a/tests/TestHelper.php b/tests/TestHelper.php index 7008d64d317..96ad1e1dc53 100644 --- a/tests/TestHelper.php +++ b/tests/TestHelper.php @@ -397,7 +397,7 @@ public function getWebDriver() // Open target="_blank" in new tab. $profile->setPreference('browser.link.open_newwindow', 3); $capabilities->setCapability(FirefoxDriver::PROFILE, $profile); - $webDriver = RemoteWebDriver::create($host, $capabilities, 5000); + $webDriver = LimeSurveyWebDriver::create($host, $capabilities, 5000); $success = true; } catch (WebDriverException $ex) { $tries++; diff --git a/tests/bootstrap.php b/tests/bootstrap.php index 6535649c8ad..e92015f1d9e 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -224,6 +224,7 @@ throw new ErrorException($msg, 0, $no, $file, $line); }, E_ERROR & E_WARNING & E_PARSE & E_NOTICE); +require_once(__DIR__ . '/LimeSurveyWebDriver.php'); require_once(__DIR__ . '/TestHelper.php'); require_once(__DIR__ . '/TestBaseClass.php'); require_once(__DIR__ . '/TestBaseClassWeb.php'); From fbe3cb8a1eed4f928c729db05fb3dd8708a3d8df Mon Sep 17 00:00:00 2001 From: Olle Haerstedt Date: Wed, 17 Jan 2018 15:27:47 +0100 Subject: [PATCH 47/84] Dev: Add some more helper methods to LimeSurveyWebDriver --- tests/LimeSurveyWebDriver.php | 47 ++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/tests/LimeSurveyWebDriver.php b/tests/LimeSurveyWebDriver.php index 0ce718721b4..ab63d99d3f4 100644 --- a/tests/LimeSurveyWebDriver.php +++ b/tests/LimeSurveyWebDriver.php @@ -4,6 +4,7 @@ use Facebook\WebDriver\Remote\RemoteWebDriver; use Facebook\WebDriver\WebDriverBy; +use Facebook\WebDriver\Exception\NoSuchElementException; /** * Subclass of Facebook webdriver. @@ -14,11 +15,14 @@ class LimeSurveyWebDriver extends RemoteWebDriver { /** + * Change language using the -     +     From 9c9eb04192fe0bac552e127368739dc1539dcab2 Mon Sep 17 00:00:00 2001 From: LimeSurvey Translations Bot Date: Thu, 18 Jan 2018 16:43:46 +0100 Subject: [PATCH 64/84] Updated translation: German by c_schmitz --- locale/_template/limesurvey.pot | 51 ++++++++++++++++---------------- locale/de/de.mo | Bin 386872 -> 399708 bytes 2 files changed, 25 insertions(+), 26 deletions(-) diff --git a/locale/_template/limesurvey.pot b/locale/_template/limesurvey.pot index de59a9bd579..e3dd8be7dea 100644 --- a/locale/_template/limesurvey.pot +++ b/locale/_template/limesurvey.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: LimeSurvey language file\n" "Report-Msgid-Bugs-To: http://translate.limesurvey.org/\n" -"POT-Creation-Date: 2018-01-18 14:53:28+00:00\n" +"POT-Creation-Date: 2018-01-18 15:43:43+00:00\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -2360,7 +2360,7 @@ msgstr "" #: application/views/admin/survey/subview/addPanelIntegrationParameter_view.php:41 #: application/views/admin/survey/surveybar_view.php:643 #: application/views/admin/themeoptions/update.php:34 -#: application/views/admin/themeoptions/update.php:245 +#: application/views/admin/themeoptions/update.php:246 #: application/views/admin/themes/templateeditorbar_view.php:208 #: application/views/admin/token/browse.php:98 #: application/views/admin/token/managetokenattributes.php:118 @@ -3868,7 +3868,7 @@ msgstr "" #: application/controllers/admin/surveypermission.php:465 #: application/views/admin/survey/subview/tab_survey_view.php:29 -#: application/views/admin/themeoptions/update.php:245 +#: application/views/admin/themeoptions/update.php:246 #: application/views/admin/user/setuserpermissions.php:26 msgid "Create" msgstr "" @@ -4951,7 +4951,7 @@ msgid "Email to %s failed. Error Message:" msgstr "" #: application/controllers/admin/usergroups.php:128 -msgid "Successfully deleted usergroup." +msgid "Successfully deleted user group." msgstr "" #: application/controllers/admin/usergroups.php:130 @@ -10603,17 +10603,7 @@ msgid "An non-recoverable error happened during the update. Error details:" msgstr "" #: application/helpers/update/updatedb_helper.php:1135 -#: application/views/admin/labels/importlabelresources_view.php:47 -#: application/views/admin/labels/importlabelresources_view.php:61 -#: application/views/admin/survey/importSurveyResources_view.php:24 -#: application/views/admin/survey/importSurveyResources_view.php:60 -#: application/views/admin/survey/importSurveyResources_view.php:72 -#: application/views/admin/survey/importSurveyResources_view.php:107 -msgid "File" -msgstr "" - -#: application/helpers/update/updatedb_helper.php:1135 -msgid "line" +msgid "File %s, line %s." msgstr "" #: application/helpers/update/updatedb_helper.php:1160 @@ -14078,6 +14068,15 @@ msgstr "" msgid "Total errors" msgstr "" +#: application/views/admin/labels/importlabelresources_view.php:47 +#: application/views/admin/labels/importlabelresources_view.php:61 +#: application/views/admin/survey/importSurveyResources_view.php:24 +#: application/views/admin/survey/importSurveyResources_view.php:60 +#: application/views/admin/survey/importSurveyResources_view.php:72 +#: application/views/admin/survey/importSurveyResources_view.php:107 +msgid "File" +msgstr "" + #: application/views/admin/labels/labelsets_view.php:16 msgid "Label sets list" msgstr "" @@ -14416,7 +14415,7 @@ msgid "Filter blank email addresses:" msgstr "" #: application/views/admin/participants/importCSV_view.php:89 -#: application/views/admin/themeoptions/update.php:149 +#: application/views/admin/themeoptions/update.php:150 #: application/views/admin/themes/templatesummary_view.php:205 #: application/views/admin/token/csvupload.php:122 #: application/views/admin/token/ldapform.php:71 @@ -16193,7 +16192,7 @@ msgid "Preview" msgstr "" #: application/views/admin/survey/_activation_error.php:10 -msgid "Activate survey error" +msgid "Survey activation error" msgstr "" #: application/views/admin/survey/_activation_error.php:13 @@ -16779,7 +16778,7 @@ msgstr "" #: application/views/admin/survey/subview/_survey_quickaction.php:44 #: application/views/admin/survey/subview/_survey_quickaction.php:52 -#: application/views/admin/themeoptions/update.php:115 +#: application/views/admin/themeoptions/update.php:116 #: application/views/admin/token/invite.php:19 #: application/views/admin/token/remind.php:16 msgid "Warning!" @@ -17879,31 +17878,31 @@ msgstr "" msgid "Survey options for theme %s" msgstr "" -#: application/views/admin/themeoptions/update.php:55 +#: application/views/admin/themeoptions/update.php:56 msgid " global level" msgstr "" -#: application/views/admin/themeoptions/update.php:66 +#: application/views/admin/themeoptions/update.php:67 msgid "Simple options" msgstr "" -#: application/views/admin/themeoptions/update.php:67 +#: application/views/admin/themeoptions/update.php:68 msgid "Advanced options" msgstr "" -#: application/views/admin/themeoptions/update.php:90 +#: application/views/admin/themeoptions/update.php:91 msgid "There are no simple options in this survey theme." msgstr "" -#: application/views/admin/themeoptions/update.php:110 +#: application/views/admin/themeoptions/update.php:111 msgid "All fields below (except CSS framework name) must be either a valid JSON array or the string \"inherit\"." msgstr "" -#: application/views/admin/themeoptions/update.php:115 +#: application/views/admin/themeoptions/update.php:116 msgid "Don't touch the values below unless you know what you're doing." msgstr "" -#: application/views/admin/themeoptions/update.php:142 +#: application/views/admin/themeoptions/update.php:143 msgid "Upload an image (maximum size: %d MB):" msgstr "" @@ -18364,7 +18363,7 @@ msgid "There are {EMAILCOUNT} emails still to be sent." msgstr "" #: application/views/admin/token/emailwarning.php:12 -msgid "Cancel automatic continue" +msgid "Cancel automatic sending" msgstr "" #: application/views/admin/token/exportdialog.php:3 diff --git a/locale/de/de.mo b/locale/de/de.mo index 81814d9d0657767722386cd726c62dff5e66ff94..fb051772a4ea25f6d4eab62f41961f41aec6ebe0 100644 GIT binary patch delta 99243 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 Date: Thu, 18 Jan 2018 16:55:31 +0100 Subject: [PATCH 65/84] Removed translation: Papiamento (Aruba) --- application/helpers/surveytranslator_helper.php | 12 ++---------- locale/pap-AW/index.html | 0 locale/pap-AW/pap-AW.mo | Bin 409 -> 0 bytes 3 files changed, 2 insertions(+), 10 deletions(-) delete mode 100644 locale/pap-AW/index.html delete mode 100644 locale/pap-AW/pap-AW.mo diff --git a/application/helpers/surveytranslator_helper.php b/application/helpers/surveytranslator_helper.php index d0d575387b3..26d37d3ee73 100644 --- a/application/helpers/surveytranslator_helper.php +++ b/application/helpers/surveytranslator_helper.php @@ -508,21 +508,13 @@ function getLanguageData($bOrderByNative = false, $sLanguageCode = 'en') $supportedLanguages['fa']['dateformat'] = 6; $supportedLanguages['fa']['radixpoint'] = 0; - // Papiamento (Aruba) - $supportedLanguages['pap-AW']['description'] = gT('Papiamento (Aruba)'); - $supportedLanguages['pap-AW']['nativedescription'] = 'Papiamento'; - $supportedLanguages['pap-AW']['rtl'] = false; - $supportedLanguages['pap-AW']['dateformat'] = 2; - $supportedLanguages['pap-AW']['radixpoint'] = 1; - $supportedLanguages['pap-AW']['cldr'] = 'en'; // Fix me - Yii does not provice Papiamento support, yet - // Papiamento (Curacao and Bonaire) - $supportedLanguages['pap-CW']['description'] = gT('Papiamento (Curaçao and Bonaire)'); + $supportedLanguages['pap-CW']['description'] = gT('Papiamento (Curaçao & Bonaire)'); $supportedLanguages['pap-CW']['nativedescription'] = 'Papiamentu'; $supportedLanguages['pap-CW']['rtl'] = false; $supportedLanguages['pap-CW']['dateformat'] = 2; $supportedLanguages['pap-CW']['radixpoint'] = 1; - $supportedLanguages['pap-CW']['cldr'] = 'en'; // Fix me - Yii does not provice Papiamento support, yet + $supportedLanguages['pap-CW']['cldr'] = 'en'; // Fix me - Yii does not provide Papiamento support, yet // Polish $supportedLanguages['pl']['description'] = gT('Polish'); diff --git a/locale/pap-AW/index.html b/locale/pap-AW/index.html deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/locale/pap-AW/pap-AW.mo b/locale/pap-AW/pap-AW.mo deleted file mode 100644 index 42b6dca9af3d64f6a3660f135714fcabfa8cce2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 409 zcma)&%TB{E5JdxmjhC!h3_`5HX_5-4T(W|;s?>@U3Sx&$GK8Sij{NB3L-;*@1*Qej zEq8n*k9|kFn$Ls1kASpG91>^5K5<2?l@Z6pg!m%-Z|`@4fX<)R^BYY(T32ZWxh@b+ zEG(o2-xShe0Z!9P7-YBn4(F968^56s0Z9~J@;Ktj1;nw4645?CjYw=f9QXJmnzdIz z97gO~D~HPQ>8hbYhfCLLYFVi+Dpd;Tyi|^5wKuZn zeQjn|fND0aO_MJCTvG){Da2j�RL*NT-c}L9Jb8(AriKQn8U#rI#foX=L-vGNa!y acYIiELyxK%-g`606|}=;xMab9cJvLyFK=xC From 853baf91d4cabff45537771d5ff15812a21d3e48 Mon Sep 17 00:00:00 2001 From: markusfluer Date: Thu, 18 Jan 2018 17:53:19 +0100 Subject: [PATCH 66/84] Fixed issue: Captcha not showing --- application/config/internal.php | 1 + application/config/questiontypes.php | 3 +- application/controllers/SurveyController.php | 3 +- application/core/LSCaptcha.php | 31 ++++ application/core/LS_Twig_Extension.php | 3 +- .../captchaExtended/CaptchaExtendedAction.php | 22 ++- application/helpers/SurveyRuntimeHelper.php | 1 - application/helpers/frontend_helper.php | 9 +- assets/scripts/survey_runtime.js | 5 +- .../protected/controllers/SiteController.php | 6 +- index.php | 1 - themes/survey/vanilla/scripts/theme.js | 1 + .../vanilla/views/layout_user_forms.twig | 167 ------------------ .../views/subviews/content/userforms.twig | 30 ++++ .../subviews/logincomponents/captcha.twig | 75 ++++++++ .../views/subviews/logincomponents/token.twig | 89 ++++++++++ 16 files changed, 254 insertions(+), 193 deletions(-) create mode 100644 application/core/LSCaptcha.php create mode 100644 themes/survey/vanilla/views/subviews/content/userforms.twig create mode 100644 themes/survey/vanilla/views/subviews/logincomponents/captcha.twig create mode 100644 themes/survey/vanilla/views/subviews/logincomponents/token.twig diff --git a/application/config/internal.php b/application/config/internal.php index 96035acf439..f1808d54b24 100644 --- a/application/config/internal.php +++ b/application/config/internal.php @@ -260,6 +260,7 @@ 'ETwigViewRendererStaticClassProxy' => array("encode", "textfield", "form", "link", "emailField", "beginForm", "endForm", "dropDownList", "htmlButton", "passwordfield"), 'Survey' => array("getAllLanguages", "localizedtitle"), 'LSHttpRequest' => array("getParam"), + 'LSCaptcha' => array("renderOut") ), 'properties' => array( 'ETwigViewRendererYiiCoreStaticClassesProxy' => array("Html"), diff --git a/application/config/questiontypes.php b/application/config/questiontypes.php index a3059f2ac49..2d6779ec533 100644 --- a/application/config/questiontypes.php +++ b/application/config/questiontypes.php @@ -1,5 +1,4 @@ - - + * @link http://www.limesurvey.org/ + * @copyright 2008-2018 LimeSurvey GmbH + * @license GPLv3 + */ + +class LSCaptcha extends CCaptcha +{ + + public function renderOut(){ + $html = $this->renderImage(); + return $html; + } + + /** + * Renders the CAPTCHA image. + */ + protected function renderImage() + { + if(!isset($this->imageOptions['id'])) + $this->imageOptions['id']=$this->getId(); + + $url=$this->getController()->createUrl($this->captchaAction,array('v'=>uniqid())); + $alt=isset($this->imageOptions['alt'])?$this->imageOptions['alt']:''; + return CHtml::image($url,$alt,$this->imageOptions); + } +} diff --git a/application/core/LS_Twig_Extension.php b/application/core/LS_Twig_Extension.php index bd3acd5d3fe..aabd57662d4 100644 --- a/application/core/LS_Twig_Extension.php +++ b/application/core/LS_Twig_Extension.php @@ -215,7 +215,8 @@ public static function getAllQuestionClasses($iQid) public static function renderCaptcha() { - App()->getController()->widget('CCaptcha', array( + return App()->getController()->createWidget('LSCaptcha', array( + 'captchaAction'=>'captcha', 'buttonOptions'=>array('class'=> 'btn btn-xs btn-info'), 'buttonType' => 'button', 'buttonLabel' => gt('Reload image', 'unescaped') diff --git a/application/extensions/captchaExtended/CaptchaExtendedAction.php b/application/extensions/captchaExtended/CaptchaExtendedAction.php index bd2b011787f..b9b6752b93b 100644 --- a/application/extensions/captchaExtended/CaptchaExtendedAction.php +++ b/application/extensions/captchaExtended/CaptchaExtendedAction.php @@ -98,7 +98,6 @@ class CaptchaExtendedAction extends CCaptchaAction{ * Run action */ public function run(){ - if(!extension_loaded('mbstring')){ throw new CHttpException(500, Yii::t('main','Missing extension "{ext}"', array('{ext}' => 'mbstring'))); } @@ -451,9 +450,7 @@ public function getVerifyResult($regenerate=false){ * @return string image content */ protected function renderImage($code){ - $image = imagecreatetruecolor($this->width,$this->height); - $backColor = imagecolorallocate($image, (int)($this->backColor % 0x1000000 / 0x10000), (int)($this->backColor % 0x10000 / 0x100), @@ -466,7 +463,8 @@ protected function renderImage($code){ } if($this->fontFile === null){ - $this->fontFile = dirname(__FILE__) . '/Duality.ttf'; + $this->fontFile = realname(Yii::app()->basePath."/../assets/fonts/font-src/lato-v11-latin-700.ttf"); + } $length = strlen($code); @@ -538,15 +536,15 @@ protected function renderImage($code){ } } - imagecolordeallocate($image,$foreColor); + imagecolordeallocate($image,$foreColor); - header('Pragma: public'); - header('Expires: 0'); - header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); - header('Content-Transfer-Encoding: binary'); - header("Content-type: image/png"); - imagepng($image); + header('Pragma:public'); + header('Expires:0'); + header('Cache-Control:must-revalidate,post-check=0,pre-check=0'); + header('Content-Transfer-Encoding:binary'); + header("Content-type:image/png"); + imagepng($image); //This will normally output the image, but because of ob_start(), it won't. imagedestroy($image); } -} \ No newline at end of file +} diff --git a/application/helpers/SurveyRuntimeHelper.php b/application/helpers/SurveyRuntimeHelper.php index f7c129abc50..91bb94ad9be 100644 --- a/application/helpers/SurveyRuntimeHelper.php +++ b/application/helpers/SurveyRuntimeHelper.php @@ -468,7 +468,6 @@ public function run($surveyid, $args) Yii::app()->twigRenderer->renderTemplateFromFile("layout_global.twig", array('oSurvey'=> Survey::model()->findByPk($this->iSurveyid), 'aSurveyInfo'=>$this->aSurveyInfo), false); } - public function getShowNumAndCode() { diff --git a/application/helpers/frontend_helper.php b/application/helpers/frontend_helper.php index 9dd247b2cc6..ca7e551494a 100644 --- a/application/helpers/frontend_helper.php +++ b/application/helpers/frontend_helper.php @@ -1255,12 +1255,15 @@ function renderRenderWayForm($renderWay, array $scenarios, $sTemplateViewPath, $ $aForm['token'] = array_key_exists('token', $aEnterTokenData) ? $aEnterTokenData['token'] : null; $aForm['aEnterErrors'] = $aEnterTokenData['aEnterErrors']; $aForm['bCaptchaEnabled'] = (isset($aEnterTokenData['bCaptchaEnabled'])) ? $aEnterTokenData['bCaptchaEnabled'] : ''; - + if($aForm['bCaptchaEnabled']) { + Yii::app()->getController()->createAction('captcha'); + } // Rendering layout_user_forms.twig $thissurvey["aForm"] = $aForm; $thissurvey['surveyUrl'] = App()->createUrl("/survey/index", array("sid"=>$surveyid)); - - Yii::app()->twigRenderer->renderTemplateFromFile("layout_user_forms.twig", array('oSurvey'=>Survey::model()->findByPk($surveyid), 'aSurveyInfo'=>$thissurvey), false); + $thissurvey['include_content'] = 'userforms.twig'; + + Yii::app()->twigRenderer->renderTemplateFromFile("layout_global.twig", array('oSurvey'=>Survey::model()->findByPk($surveyid), 'aSurveyInfo'=>$thissurvey), false); break; case "register": //Register new user diff --git a/assets/scripts/survey_runtime.js b/assets/scripts/survey_runtime.js index 2e272834591..37b6cd6bc22 100644 --- a/assets/scripts/survey_runtime.js +++ b/assets/scripts/survey_runtime.js @@ -124,8 +124,9 @@ function checkconditions(value, name, type, evt_type) if($.isFunction(window.ExprMgr_process_relevance_and_tailoring ) && $isRelevant!=-1) { ExprMgr_process_relevance_and_tailoring(evt_type,name,type); }*/ - - ExprMgr_process_relevance_and_tailoring(evt_type,name,type); + try{ + ExprMgr_process_relevance_and_tailoring(evt_type,name,type); + } catch(e) { console.ls.error(e); } } /** diff --git a/framework/cli/views/webapp/protected/controllers/SiteController.php b/framework/cli/views/webapp/protected/controllers/SiteController.php index a6a790e22c0..d55c03a1b9f 100644 --- a/framework/cli/views/webapp/protected/controllers/SiteController.php +++ b/framework/cli/views/webapp/protected/controllers/SiteController.php @@ -10,8 +10,8 @@ public function actions() return array( // captcha action renders the CAPTCHA image displayed on the contact page 'captcha'=>array( - 'class'=>'CCaptchaAction', - 'backColor'=>0xFFFFFF, + 'class' => 'CaptchaExtendedAction', + 'mode'=>CaptchaExtendedAction::MODE_MATH ), // page action renders "static" pages stored under 'protected/views/site/pages' // They can be accessed via: index.php?r=site/page&view=FileName @@ -106,4 +106,4 @@ public function actionLogout() Yii::app()->user->logout(); $this->redirect(Yii::app()->homeUrl); } -} \ No newline at end of file +} diff --git a/index.php b/index.php index ea4b5d1f9d5..9180c1bdefe 100644 --- a/index.php +++ b/index.php @@ -1,5 +1,4 @@

    - -
    - - -
    - -
    -
    - {# OLD FORMHEADING #} - {% if aSurveyInfo.aForm.sType == 'token' %} - {{ "To participate in this restricted survey, you need a valid token." | t }} - {% endif %} - - {% if aSurveyInfo.aForm.sType == 'captcha' %} - {{ "Before you start, please prove you are human." | t }} - {% endif %} -
    - -
    - - {# TOKEN #} - {% if aSurveyInfo.aForm.sType == 'token' %} -

    - {% if aSurveyInfo.aForm.token == null %} - {{ "If you have been issued a token, please enter it in the box below and click continue." | t }} - {% else %} - {{ "Please confirm the token by answering the security question below and click continue." | t }} - {% endif %} -

    - {% endif %} - - {% if not empty(aSurveyInfo.aForm.aEnterErrors) %} -
      - {% for key, error in aSurveyInfo.aForm.aEnterErrors %} -
    • {{ error }}
    • - {% endfor %} -
    - {% endif %} - -
    - {# - array of attributes of the form tag. - To add a new attribute, just add an entry: - 'attribute' : 'value', - #} - {% - set htmlOptions = { - 'id' : 'form-' ~ aSurveyInfo.aForm.sType , - 'name' : 'limesurvey', - 'class' : 'ls-form form form-horizontal', - } - %} - - {# TOKEN FORM #} - - {{ - C.Html.form( - ( aSurveyInfo.surveyUrl ), - 'post', - (htmlOptions) - ) - }} - - {% if aSurveyInfo.aForm.sType == 'token' %} - -
    - - -
    - {% if aSurveyInfo.aForm.token == null %} - - {% else %} - - {% set passwordFieldHtmlOptions = { - 'id' : 'token', - 'required' : true, - 'readonly' : true, - } - %} - - {{ - C.Html.passwordField( - 'token', - (( aSurveyInfo.aForm.token )), - (passwordFieldHtmlOptions) - ) - }} - {% endif %} -
    -
    - - {# CAPTACHA INSIDE TOKEN FORM #} - {% if ( aSurveyInfo.aForm.bCaptchaEnabled == true ) %} -
    - - - - -
    -
    -
    - {# see: LS_Twig_Extension::renderCaptcha() in application/core/LS_Twig_Extension.php #} - {{ renderCaptcha() }} -
    - -
    -
    -
    - {% endif %} - - {{ aSurveyInfo.aForm.hiddenFields }} - -
    -
    - -
    -
    - {% endif %} - - {% if aSurveyInfo.aForm.sType == 'captcha' %} -
    -
    - -
    -
    -
    - {{ renderCaptcha() }} -
    - -
    -
    -
    - - {{ aSurveyInfo.aForm.hiddenFields }} - -
    -
    - -
    -
    -
    - {% endif %} - -
    -
    -
    -
    -
    {# Bootstrap alert modal #} diff --git a/themes/survey/vanilla/views/subviews/content/userforms.twig b/themes/survey/vanilla/views/subviews/content/userforms.twig new file mode 100644 index 00000000000..fc88fa92955 --- /dev/null +++ b/themes/survey/vanilla/views/subviews/content/userforms.twig @@ -0,0 +1,30 @@ +{# + LimeSurvey + Copyright (C) 2007-2017 The LimeSurvey Project Team / Louis Gac + All rights reserved. + License: GNU/GPL License v2 or later, see LICENSE.php + LimeSurvey is free software. This version may have been modified pursuant + to the GNU General Public License, and as distributed it includes or + is derivative of works licensed under the GNU General Public License or + other free or open source software licenses. + See COPYRIGHT.php for copyright notices and details. + + (¯`·._.·(¯`·._.· User Forms Layout ·._.·´¯)·._.·´¯) + + This file renders the user forms such as: token (survey participant), and register. + + NOTE: see layout_global.twig for more infos +#} + + +
    + + +
    + +
    + {% set sUserformContent = './subviews/logincomponents/' ~ aSurveyInfo.aForm.sType ~ '.twig' %} + {% include sUserformContent %} +
    +
    +
    diff --git a/themes/survey/vanilla/views/subviews/logincomponents/captcha.twig b/themes/survey/vanilla/views/subviews/logincomponents/captcha.twig new file mode 100644 index 00000000000..7ecd21863a1 --- /dev/null +++ b/themes/survey/vanilla/views/subviews/logincomponents/captcha.twig @@ -0,0 +1,75 @@ +
    + {% block formheading %} + {{ "Before you start, please prove you are human." | t }} + {% endblock %} +
    +
    + + {% block description %} + + {% endblock %} + + {% if not empty(aSurveyInfo.aForm.aEnterErrors) %} +
      + {% for key, error in aSurveyInfo.aForm.aEnterErrors %} +
    • {{ error }}
    • + {% endfor %} +
    + {% endif %} + +
    + {# + array of attributes of the form tag. + To add a new attribute, just add an entry: + 'attribute' : 'value', + #} + {% + set htmlOptions = { + 'id' : 'form-' ~ aSurveyInfo.aForm.sType , + 'name' : 'limesurvey', + 'class' : 'ls-form form form-horizontal', + } + %} + + {# TOKEN FORM #} + + {{ + C.Html.form( + ( aSurveyInfo.surveyUrl ), + 'post', + (htmlOptions) + ) + }} + + {% block formcontent %} + +
    +
    + +
    +
    +
    + {{ renderCaptcha.render() }} +
    + +
    +
    +
    + + {{ aSurveyInfo.aForm.hiddenFields }} + +
    +
    + +
    +
    +
    + + {% endblock %} + +
    +
    diff --git a/themes/survey/vanilla/views/subviews/logincomponents/token.twig b/themes/survey/vanilla/views/subviews/logincomponents/token.twig new file mode 100644 index 00000000000..d2352059a1e --- /dev/null +++ b/themes/survey/vanilla/views/subviews/logincomponents/token.twig @@ -0,0 +1,89 @@ +{% extends "./subviews/logincomponents/captcha.twig" %} + + {% block formheading %} + {{ "To participate in this restricted survey, you need a valid token." | t }} + {% endblock %} + + {% block description %} +

    + {% if aSurveyInfo.aForm.token == null %} + {{ "If you have been issued a token, please enter it in the box below and click continue." | t }} + {% else %} + {{ "Please confirm the token by answering the security question below and click continue." | t }} + {% endif %} +

    + {% endblock %} + + + {% block formcontent %} + +
    + + +
    + {% if aSurveyInfo.aForm.token == null %} + + {% else %} + + {% set passwordFieldHtmlOptions = { + 'id' : 'token', + 'required' : true, + 'readonly' : true, + 'class' : 'form-control' + } + %} + + {{ + C.Html.passwordField( + 'token', + (( aSurveyInfo.aForm.token )), + (passwordFieldHtmlOptions) + ) + }} + {% endif %} +
    +
    + + {# CAPTACHA INSIDE TOKEN FORM #} + {% if ( aSurveyInfo.aForm.bCaptchaEnabled == true ) %} +
    + + + +
    +
    + {# see: LS_Twig_Extension::renderCaptcha() in application/core/LS_Twig_Extension.php #} + {{ renderCaptcha().renderOut() }} +
    +
    +
    +
    + +
    +
    +
    + {% endif %} + + {{ aSurveyInfo.aForm.hiddenFields }} + +
    +
    + +
    +
    + {% endblock %} From cad8150e02c796821afbd04e3f8348701290fb84 Mon Sep 17 00:00:00 2001 From: LimeSurvey Translations Bot Date: Fri, 19 Jan 2018 08:40:17 +0100 Subject: [PATCH 67/84] =?UTF-8?q?Updated=20translation:=20German=20by=20c?= =?UTF-8?q?=5Fschmitz=20Updated=20translation:=20Hungarian=20by=20kkd=20Up?= =?UTF-8?q?dated=20translation:=20Japanese=20by=20nomoto=20Updated=20trans?= =?UTF-8?q?lation:=20Norwegian=20(Bokm=C3=A5l)=20by=20pmonstad=20Updated?= =?UTF-8?q?=20translation:=20Romanian=20by=20cdorin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- locale/_template/limesurvey.pot | 100 +++++++++++++++----------------- locale/de/de.mo | Bin 399708 -> 403498 bytes locale/hu/hu.mo | Bin 404761 -> 405059 bytes locale/ja/ja.mo | Bin 395768 -> 395516 bytes locale/nb/nb.mo | Bin 379776 -> 380048 bytes locale/ro/ro.mo | Bin 225266 -> 239513 bytes 6 files changed, 48 insertions(+), 52 deletions(-) diff --git a/locale/_template/limesurvey.pot b/locale/_template/limesurvey.pot index e3dd8be7dea..6332610e6f2 100644 --- a/locale/_template/limesurvey.pot +++ b/locale/_template/limesurvey.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: LimeSurvey language file\n" "Report-Msgid-Bugs-To: http://translate.limesurvey.org/\n" -"POT-Creation-Date: 2018-01-18 15:43:43+00:00\n" +"POT-Creation-Date: 2018-01-19 07:40:10+00:00\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -467,7 +467,7 @@ msgid "ID" msgstr "" #: application/controllers/RegisterController.php:165 -#: application/helpers/SurveyRuntimeHelper.php:1619 +#: application/helpers/SurveyRuntimeHelper.php:1618 msgid "Your answer to the security question was not correct - please try again." msgstr "" @@ -2819,7 +2819,7 @@ msgstr "" #: application/controllers/admin/surveyadmin.php:1811 #: application/controllers/admin/themes.php:219 #: application/core/Survey_Common_Action.php:1217 -#: application/helpers/frontend_helper.php:2104 +#: application/helpers/frontend_helper.php:2107 #: application/views/admin/homepagesettings/index.php:11 #: application/views/admin/participants/participantsPanel_view.php:6 #: application/views/admin/survey/Question/question_subviews/_modals.php:113 @@ -5163,7 +5163,7 @@ msgstr "" msgid "Invalid email address." msgstr "" -#: application/core/LS_Twig_Extension.php:221 +#: application/core/LS_Twig_Extension.php:222 #: application/views/survey/frontpage/captchaForm/form.php:17 #: application/views/survey/frontpage/registerForm/form.php:39 #: application/views/survey/frontpage/tokenForm/form.php:34 @@ -6615,41 +6615,41 @@ msgstr "" msgid "Unknown view!" msgstr "" -#: application/helpers/SurveyRuntimeHelper.php:753 +#: application/helpers/SurveyRuntimeHelper.php:752 msgid "Please use the LimeSurvey navigation buttons or index. It appears you attempted to use the browser back button to re-submit a page." msgstr "" -#: application/helpers/SurveyRuntimeHelper.php:1432 +#: application/helpers/SurveyRuntimeHelper.php:1431 #: application/helpers/qanda_helper.php:421 msgid "One or more mandatory questions have not been answered. You cannot proceed until these have been completed." msgstr "" -#: application/helpers/SurveyRuntimeHelper.php:1437 +#: application/helpers/SurveyRuntimeHelper.php:1436 #: application/helpers/qanda_helper.php:443 msgid "One or more questions have not been answered in a valid manner. You cannot proceed until these answers are valid." msgstr "" -#: application/helpers/SurveyRuntimeHelper.php:1442 +#: application/helpers/SurveyRuntimeHelper.php:1441 msgid "One or more uploaded files are not in proper format/size. You cannot proceed until these files are valid." msgstr "" -#: application/helpers/SurveyRuntimeHelper.php:1622 +#: application/helpers/SurveyRuntimeHelper.php:1621 msgid "Your have to answer the security question - please try again." msgstr "" -#: application/helpers/SurveyRuntimeHelper.php:1723 +#: application/helpers/SurveyRuntimeHelper.php:1722 msgid "Invalid group number for this survey: " msgstr "" -#: application/helpers/SurveyRuntimeHelper.php:1729 +#: application/helpers/SurveyRuntimeHelper.php:1728 msgid "This group contains no questions. You must add questions to this group before you can preview it" msgstr "" -#: application/helpers/SurveyRuntimeHelper.php:1753 +#: application/helpers/SurveyRuntimeHelper.php:1752 msgid "Submit your answers" msgstr "" -#: application/helpers/SurveyRuntimeHelper.php:1754 +#: application/helpers/SurveyRuntimeHelper.php:1753 msgid "There are no more questions. Please press the button to finish this survey." msgstr "" @@ -8537,28 +8537,28 @@ msgstr "" msgid "The token you have provided is either not valid, or has already been used." msgstr "" -#: application/helpers/frontend_helper.php:1334 -#: application/helpers/frontend_helper.php:1359 +#: application/helpers/frontend_helper.php:1337 +#: application/helpers/frontend_helper.php:1362 msgid "This survey cannot be tested or completed for the following reason(s):" msgstr "" -#: application/helpers/frontend_helper.php:1338 +#: application/helpers/frontend_helper.php:1341 msgid "There are no questions in this survey." msgstr "" -#: application/helpers/frontend_helper.php:1342 +#: application/helpers/frontend_helper.php:1345 msgid "There are empty question groups in this survey - please create at least one question within a question group." msgstr "" -#: application/helpers/frontend_helper.php:2103 +#: application/helpers/frontend_helper.php:2106 msgid "This website uses cookies. By continuing this survey you approve the data protection policy of the service provider." msgstr "" -#: application/helpers/frontend_helper.php:2105 +#: application/helpers/frontend_helper.php:2108 msgid "View policy" msgstr "" -#: application/helpers/frontend_helper.php:2106 +#: application/helpers/frontend_helper.php:2109 msgid "Please be patient until you are forwarded to the final URL." msgstr "" @@ -10465,122 +10465,118 @@ msgid "Persian" msgstr "" #: application/helpers/surveytranslator_helper.php:512 -msgid "Papiamento (Aruba)" +msgid "Papiamento (Curaçao & Bonaire)" msgstr "" #: application/helpers/surveytranslator_helper.php:520 -msgid "Papiamento (Curaçao and Bonaire)" -msgstr "" - -#: application/helpers/surveytranslator_helper.php:528 msgid "Polish" msgstr "" -#: application/helpers/surveytranslator_helper.php:535 +#: application/helpers/surveytranslator_helper.php:527 msgid "Polish (Informal)" msgstr "" -#: application/helpers/surveytranslator_helper.php:543 +#: application/helpers/surveytranslator_helper.php:535 msgid "Portuguese" msgstr "" -#: application/helpers/surveytranslator_helper.php:550 +#: application/helpers/surveytranslator_helper.php:542 msgid "Portuguese (Brazilian)" msgstr "" -#: application/helpers/surveytranslator_helper.php:557 +#: application/helpers/surveytranslator_helper.php:549 msgid "Punjabi" msgstr "" -#: application/helpers/surveytranslator_helper.php:564 +#: application/helpers/surveytranslator_helper.php:556 msgid "Romanian" msgstr "" -#: application/helpers/surveytranslator_helper.php:571 +#: application/helpers/surveytranslator_helper.php:563 msgid "Russian" msgstr "" -#: application/helpers/surveytranslator_helper.php:578 +#: application/helpers/surveytranslator_helper.php:570 msgid "Sinhala" msgstr "" -#: application/helpers/surveytranslator_helper.php:585 +#: application/helpers/surveytranslator_helper.php:577 msgid "Slovak" msgstr "" -#: application/helpers/surveytranslator_helper.php:592 +#: application/helpers/surveytranslator_helper.php:584 msgid "Slovenian" msgstr "" -#: application/helpers/surveytranslator_helper.php:599 +#: application/helpers/surveytranslator_helper.php:591 msgid "Serbian (Cyrillic)" msgstr "" -#: application/helpers/surveytranslator_helper.php:606 +#: application/helpers/surveytranslator_helper.php:598 msgid "Serbian (Latin)" msgstr "" -#: application/helpers/surveytranslator_helper.php:613 +#: application/helpers/surveytranslator_helper.php:605 msgid "Spanish" msgstr "" -#: application/helpers/surveytranslator_helper.php:620 +#: application/helpers/surveytranslator_helper.php:612 msgid "Spanish (Argentina)" msgstr "" -#: application/helpers/surveytranslator_helper.php:627 +#: application/helpers/surveytranslator_helper.php:619 msgid "Spanish (Argentina) (Informal)" msgstr "" -#: application/helpers/surveytranslator_helper.php:635 +#: application/helpers/surveytranslator_helper.php:627 msgid "Spanish (Chile)" msgstr "" -#: application/helpers/surveytranslator_helper.php:642 +#: application/helpers/surveytranslator_helper.php:634 msgid "Spanish (Mexico)" msgstr "" -#: application/helpers/surveytranslator_helper.php:649 +#: application/helpers/surveytranslator_helper.php:641 msgid "Swahili" msgstr "" -#: application/helpers/surveytranslator_helper.php:657 +#: application/helpers/surveytranslator_helper.php:649 msgid "Swedish" msgstr "" -#: application/helpers/surveytranslator_helper.php:664 +#: application/helpers/surveytranslator_helper.php:656 msgid "Tamil" msgstr "" -#: application/helpers/surveytranslator_helper.php:671 +#: application/helpers/surveytranslator_helper.php:663 msgid "Turkish" msgstr "" -#: application/helpers/surveytranslator_helper.php:678 +#: application/helpers/surveytranslator_helper.php:670 msgid "Thai" msgstr "" -#: application/helpers/surveytranslator_helper.php:685 +#: application/helpers/surveytranslator_helper.php:677 msgid "Ukrainian" msgstr "" -#: application/helpers/surveytranslator_helper.php:692 +#: application/helpers/surveytranslator_helper.php:684 msgid "Urdu" msgstr "" -#: application/helpers/surveytranslator_helper.php:699 +#: application/helpers/surveytranslator_helper.php:691 msgid "Vietnamese" msgstr "" -#: application/helpers/surveytranslator_helper.php:706 +#: application/helpers/surveytranslator_helper.php:698 msgid "Zulu" msgstr "" -#: application/helpers/surveytranslator_helper.php:733 +#: application/helpers/surveytranslator_helper.php:725 msgid "Dot (.)" msgstr "" -#: application/helpers/surveytranslator_helper.php:734 +#: application/helpers/surveytranslator_helper.php:726 msgid "Comma (,)" msgstr "" diff --git a/locale/de/de.mo b/locale/de/de.mo index fb051772a4ea25f6d4eab62f41961f41aec6ebe0..7b20ddb1ac04d331268090d6c3de71a4f1274447 100644 GIT binary patch delta 91387 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
  • 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 D+=iZC delta 78416 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 diff --git a/locale/nb/nb.mo b/locale/nb/nb.mo index 1e6d4b18b23ac26da6aa62c1becd4c2a1fe6b5e0..c00ec9dc544ab16a20d81a47d6cb91bf19b07a7e 100644 GIT binary patch delta 86445 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

    bt@S#~BT(o0HdN&Ip&WY+wMV`}DU9*c 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

    SwVUVmE27Q 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 From 6818fa2f82687d41f6d72d414fce01ac2edc14db Mon Sep 17 00:00:00 2001 From: LimeSurvey Translations Bot Date: Fri, 19 Jan 2018 08:44:50 +0100 Subject: [PATCH 68/84] Updated translation: Danish by abc99 Updated translation: Georgian by zch5368 --- locale/da/da.mo | Bin 232757 -> 225485 bytes locale/ka/ka.mo | Bin 13131 -> 14866 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/locale/da/da.mo b/locale/da/da.mo index ef4b5e17044afe18fdfbb27234ec8093fe4ca4dd..f3170e1ab408c9968eda7187a0d0e6bfab2561da 100644 GIT binary patch delta 54708 zcmX`!2i(rp|M>CizVB=q*@WBPd+)tvB&+NZl@O_{E@=o!v@O_^18E3rD`<&}?r@kAX$g}JFOOxMTcFDsDe(lJSNL-GidL$Bg zFHI!YF7aw2aqP21q6q$s-cS2Hk!Xaausrs|>Np+q;%dyqH?Tc^jWw~s9Y9YsfE$~YDs*djEtPaYs%zPOqTCev$J47Z~L`5w)M(`d&z zzDXo%V;OY7SEA34K$ma^7RTji2XCY8?1=Sm(D!~u2ljW8f}u%27)F*K?XU#eKy7qj zE#mba=<_4djwfLOybtZ@=~!QnKDQm6@t2qd58+LC6dgcvz_(#dhGQ)*j7Hb?VKj^1 zL1+9kR>k7qk@?sGYvKfS`z}M5Vk_3c&!XvvLS*V=J+2Q#-(P@Nn6Ix>Xv~Ey--m2% zi9UD>+VJz}5`B(7_Z>RGqK89=tXXviN&pI?b4>3S@OJJEssikW!HPho-;&~|HJ z(gyodFm$8wDx8Haa4%+Hfn#ChMbHjQVRo#7Zr{3iIkv=Ucn!A4FR=lZ_&F?TZ>&oF zZZy|k`I+^1jSj^dxqk^a8llNG22H+4@M_$S=0e%yAriGQ3-#9M%sXOX9D=2A3Od1u z(DzniQG7LC-+7$)yS)x@!8JL7Ht;vP#`#W!nU}*x)T^S`N1)G5iS_%?cAkp9g1M-F z5Z#3i=xfZ4=P)Z~NuCT1N zm*Oon33p=&{0r^yvfsk}BFOW}L@f%2vJKkN0K61OpaYwT&LD{;@iENA*RVY9LqmBX zn(;erQO}7vu{-*He{|pzu_oSwCFwu0kwP~ve1YAu^dBK~P&RfqjK8%`cdVdC!J5uZ>2mGhT+h&JzC$6h?BvwVI0_JP%M1X z{aiSpilNWdM+e#}+6@a*?;r1vLnCo38v0de#~aaY_zv3dH|L1IFQ)$;wp|hQfhOo$ z4nQMtZM;4Yi&I~NzV{)zTfRmQqN7*{PoTRc{d^ceExeI>EA+V+(f8ITW8r-?iFTng z+l@Z>ZM^>jI)mTQf&GnklToYFL7LJ#C+@{u z?*GRqT+W4+=nOwVXYeVy6o=6)KZQo>4ElVYL|Q6It6>f5*PtEE#bUS|o$)5L<9%qy zC(xz6fa8-C($msXfAF{oyHQ_>1MxSsB03JqjVHp~sRp{EU!|QQ7(qA%BH*dJn4oh-lAll)rXap9a zpB<5RTZdZj`{+M)v*h@Noc&;x1(y7rsU zq}z*rsQig`{5KlnoTbA)FN)SHqmgcir7?L01wRyS#0q#H`rxbRiTFNx5^hBY@)`Q! za|GQ+XVLd^XNG~-jkZCPuot?0$D!xPUFdsH1(S&l6zpI}ys;lyprP4-uHg=Jru)%> z978)eiw^LT@?nMr(QVckyW%z21E0k*cm{2+NQIF7mC>X58cf>Y2nvR50{Y-=bYDM+ z-d}>wcnvnjb=U}hiS@D-(^B6FuR%|?JFyk6#l3g}zrf9v(o#Pud8BeUANE&f|KH7x zAyq)tZtw2Y-5gp*$=zw;i1Ko>;_}h5@hv*qJS+iCPku8oUYc2c- z`&LVa5%sQ~mKef?htZBtqsdaOMmXtup=bBq*aY8<{u!^=s2K(_9R0k%9zC#bMkDw# zrUs5K-7a)s2a^;`hTr1@m(~gomO_`L7P?Q{qWgUWdZ5felW{Q`@}*bkMhq}+=>SBS4q#oYguDYzDG(S6$w9pMyoKnvpa)o7%)qX)~kn2G82 z!!|32-tT~(2ZPWYnu3P>iRcQIyVSQ zFaXVg>(KXaMk6&F&GP&3Q+yR&y4elG0Pjb4%PLG-c!7c)u0un+4V}RcXk;#;$(O%T z2xT>N&HG^syaipd4d{XMIU3?W(FtX3oR<2LYf&^w`$z9?%>H+z>$#ALU!w=i`S?J+ zCSfgyqahrNCgVhO<}=acx)+_uGOUOzu>2pchX>K~

    @`=4=rLPyiihaWsd@qR%Jm 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�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 L@Z7Mdt9kw(<2BaR diff --git a/locale/ka/ka.mo b/locale/ka/ka.mo index dae71ae0b876fc9022b6b6f7a3a6a610aa071e28..83a89d9e9d6cd6d20f75d1b06807bd9a8689d7a4 100644 GIT binary patch delta 3626 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 GY5V_Uxo5@z From fd57054cdb0388b8f816c65a9e63f7ea44c31ce4 Mon Sep 17 00:00:00 2001 From: KLLam Date: Fri, 19 Jan 2018 16:26:28 +0800 Subject: [PATCH 69/84] Fixed issue #13190 : Remove text or uncheck checkbox automatically not work --- assets/scripts/multiplechoice_withcomments.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/scripts/multiplechoice_withcomments.js b/assets/scripts/multiplechoice_withcomments.js index 9feb68f7be0..88946f1106d 100644 --- a/assets/scripts/multiplechoice_withcomments.js +++ b/assets/scripts/multiplechoice_withcomments.js @@ -1,6 +1,6 @@ var doMultipleChoiceWithComments = function(qID,when) { - var question=$("#question"+qID+" .questions-list"); + var question=$("#question"+qID+" .ls-answers"); if (jQuery.inArray(when, ['checked','unchecked'])<0){when='checked'} if(!question) return; From ea543a5d4a1f184e9763cc31c46d61b545b2052e Mon Sep 17 00:00:00 2001 From: Denis Chenu Date: Fri, 19 Jan 2018 10:17:05 +0100 Subject: [PATCH 70/84] New feature #12240: Validation settings for "array by column" question type New feature : Add em_validation_q to list of choice (dropdown and radio) Fixed issue : EM expression on other for list dropdown didn't work --- .../helpers/expressions/em_manager_helper.php | 57 ++++++++++++------- application/helpers/questionHelper.php | 4 +- .../answer/list_dropdown/rows/othertext.php | 16 +++--- .../listradio/rows/answer_row_other.php | 5 +- 4 files changed, 49 insertions(+), 33 deletions(-) diff --git a/application/helpers/expressions/em_manager_helper.php b/application/helpers/expressions/em_manager_helper.php index 5d83a70befe..d5a46eb4609 100644 --- a/application/helpers/expressions/em_manager_helper.php +++ b/application/helpers/expressions/em_manager_helper.php @@ -2974,23 +2974,22 @@ public function _CreateSubQLevelRelevanceAndValidationEqns($onlyThisQseq=NULL) $em_validation_q_tip = ''; } - // em_validation_q - an EM validation equation that must be satisfied for the whole question. Uses 'this' in the equation if (isset($qattr['em_validation_q']) && !is_null($qattr['em_validation_q']) && trim($qattr['em_validation_q']) != '') { $em_validation_q = $qattr['em_validation_q']; + $sq_names = array(); if ($hasSubqs) { $subqs = $qinfo['subqs']; - $sq_names = array(); foreach ($subqs as $sq) { $sq_name = NULL; - switch ($type) - { + switch ($type) { case 'A': //ARRAY (5 POINT CHOICE) radio-buttons case 'B': //ARRAY (10 POINT CHOICE) radio-buttons case 'C': //ARRAY (YES/UNCERTAIN/NO) radio-buttons case 'E': //ARRAY (Increase/Same/Decrease) radio-buttons case 'F': //ARRAY (Flexible) - Row Format + case 'H': //ARRAY (Flexible) - Col Format case 'K': //MULTIPLE NUMERICAL QUESTION case 'Q': //MULTIPLE SHORT TEXT case ';': //ARRAY (Multi Flexi) Text @@ -3004,16 +3003,16 @@ public function _CreateSubQLevelRelevanceAndValidationEqns($onlyThisQseq=NULL) case 'T': //LONG FREE TEXT case 'U': //HUGE FREE TEXT case 'D': //DATE - if ($this->sgqaNaming) - { + if ($this->sgqaNaming) { $sq_name = '!(' . preg_replace('/\bthis\b/',(string)substr($sq['jsVarName'],4), $em_validation_q) . ')'; - } - else - { + } else { $sq_name = '!(' . preg_replace('/\bthis\b/',$sq['varName'], $em_validation_q) . ')'; } break; + case 'L': + case '!': default: + // Nothing to do : no realsubq, set it after break; } if (!is_null($sq_name)) { @@ -3034,6 +3033,21 @@ public function _CreateSubQLevelRelevanceAndValidationEqns($onlyThisQseq=NULL) ); } } + // No subqs or false subqs (L and !) + if (empty($sq_names)) { + if ($this->sgqaNaming) { + $eqn = '(' . preg_replace('/\bthis\b/',$qinfo['sgqa'], $em_validation_q) . ')'; + } else { + $eqn = '(' . preg_replace('/\bthis\b/',$qinfo['varName'], $em_validation_q) . ')'; + } + $validationEqn[$questionNum][] = array( + 'qtype' => $type, + 'type' => 'em_validation_q', + 'class' => 'q_fn_validation', + 'eqn' => $eqn, + 'qid' => $questionNum, + ); + } } else { @@ -3880,7 +3894,6 @@ public function setVariableAndTokenMappingsForExpressionManager($surveyid,$force case 'C': //ARRAY (YES/UNCERTAIN/NO) radio-buttons case 'E': //ARRAY (Increase/Same/Decrease) radio-buttons case 'F': //ARRAY (Flexible) - Row Format - case 'H': //ARRAY (Flexible) - Column Format // note does not have javatbd equivalent - so array filters don't work on it case 'K': //MULTIPLE NUMERICAL QUESTION // note does not have javatbd equivalent - so array filters don't work on it, but need rowdivid to process validations case 'M': //Multiple choice checkbox case 'P': //Multiple choice with comments checkbox + text @@ -3890,16 +3903,21 @@ public function setVariableAndTokenMappingsForExpressionManager($surveyid,$force $varName = $fielddata['title'] . '_' . $fielddata['aid']; $question = $fielddata['subquestion']; // $question = $fielddata['question'] . ': ' . $fielddata['subquestion']; - if ($type != 'H') { - if ($type == 'P' && preg_match("/comment$/", $sgqa)) { - // $rowdivid = substr($sgqa,0,-7); - } - else { - $sqsuffix = '_' . $fielddata['aid']; - $rowdivid = $sgqa; - } + if ($type == 'P' && preg_match("/comment$/", $sgqa)) { + // $rowdivid = substr($sgqa,0,-7); + } + else { + $sqsuffix = '_' . $fielddata['aid']; + $rowdivid = $sgqa; } break; + case 'H': //ARRAY (Flexible) - Column Format + $csuffix = $fielddata['aid']; + $varName = $fielddata['title'] . '_' . $fielddata['aid']; + $question = $fielddata['subquestion']; + $sqsuffix = '_' . $fielddata['aid']; + $rowdivid = $sgqa; // Really bad name here … because row are subquestion not row … + break; case ':': //ARRAY (Multi Flexi) 1 to 10 case ';': //ARRAY (Multi Flexi) Text $csuffix = $fielddata['aid']; @@ -4043,7 +4061,6 @@ public function setVariableAndTokenMappingsForExpressionManager($surveyid,$force if($hidden && $type!="*"){ $jsVarName_on = ''; } - if (!is_null($rowdivid) || $type == 'L' || $type == 'N' || $type == '!' || $type == 'O' || !is_null($preg) || $type == 'S' || $type == 'D' || $type == 'T' || $type == 'U' || $type == '|') { if (!isset($q2subqInfo[$questionNum])) { @@ -4137,7 +4154,6 @@ public function setVariableAndTokenMappingsForExpressionManager($surveyid,$force } $ansList = ",'answers':{ " . implode(",",$answers) . "}"; } - // Set mappings of variable names to needed attributes $varInfo_Code = array( 'jsName_on'=>$jsVarName_on, @@ -4164,7 +4180,6 @@ public function setVariableAndTokenMappingsForExpressionManager($surveyid,$force 'rowdivid'=>(is_null($rowdivid) ? '' : $rowdivid), 'onlynum'=>$onlynum, ); - $this->questionSeq2relevance[$questionSeq] = array( 'relevance'=>$relevance, 'grelevance'=>$grelevance, diff --git a/application/helpers/questionHelper.php b/application/helpers/questionHelper.php index f349cfc3043..334d8fe53ec 100644 --- a/application/helpers/questionHelper.php +++ b/application/helpers/questionHelper.php @@ -291,7 +291,7 @@ public static function getAttributesDefinitions() ); self::$attributes["em_validation_q"] = array( - "types"=>":;ABCDEFKMNOPQRSTU", + "types"=>":;ABCDEFHKMNOPQRSTU"."L!", // separate question with REAL subqs (in EM) and with FALSE subsq (where subqs are answer …) 'category'=>gT('Logic'), 'sortorder'=>200, 'inputtype'=>'textarea', @@ -301,7 +301,7 @@ public static function getAttributesDefinitions() ); self::$attributes["em_validation_q_tip"] = array( - "types"=>":;ABCDEFKMNOPQRSTU", + "types"=>":;ABCDEFHKMNOPQRSTU"."L!", // separate question with subqs (in EM) and without 'category'=>gT('Logic'), 'sortorder'=>210, 'inputtype'=>'textarea', diff --git a/application/views/survey/questions/answer/list_dropdown/rows/othertext.php b/application/views/survey/questions/answer/list_dropdown/rows/othertext.php index a1a2da9dd39..343b08aaeec 100644 --- a/application/views/survey/questions/answer/list_dropdown/rows/othertext.php +++ b/application/views/survey/questions/answer/list_dropdown/rows/othertext.php @@ -11,26 +11,26 @@ +

    diff --git a/application/views/survey/questions/answer/listradio/rows/answer_row_other.php b/application/views/survey/questions/answer/listradio/rows/answer_row_other.php index 484ef34d76d..6ae2d9586a4 100644 --- a/application/views/survey/questions/answer/listradio/rows/answer_row_other.php +++ b/application/views/survey/questions/answer/listradio/rows/answer_row_other.php @@ -39,8 +39,9 @@ class="form-control input-sm" id="answerothertext" name="other" - title="" - onkeyup="if($.trim($(this).val())!=''){ $('#SOTH').click(); }; ", + title="" + + onkeyup="if($.trim($(this).val())!=''){ $('#SOTH').click(); };" aria-labelledby="label-id-" />

    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 Nv+tIv%?Y}v{(q23Yj^+v delta 53617 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

  • 0 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 diff --git a/locale/hu/hu.mo b/locale/hu/hu.mo index 0dcd6878c2310a86bbb03e3b742f1e4eaa015b50..29f006c6e5c21db6a7915629178cf0e915e618e8 100644 GIT binary patch delta 86505 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 F{s*i!9rFMH diff --git a/locale/ja/ja.mo b/locale/ja/ja.mo index 672100c5b6b5b7da28f96c07a49160a4eaa0983a..3db36ab453f761c0122123108f47147296bf289c 100644 GIT binary patch delta 78188 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

    From 392a04577569f44111300a58663533908cd5e3f7 Mon Sep 17 00:00:00 2001 From: markusfluer Date: Fri, 19 Jan 2018 11:29:55 +0100 Subject: [PATCH 71/84] Fixed issue: Demo rendered unusable with wipe command --- application/commands/WipeCommand.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/application/commands/WipeCommand.php b/application/commands/WipeCommand.php index 003b3fce5fb..561aa001664 100644 --- a/application/commands/WipeCommand.php +++ b/application/commands/WipeCommand.php @@ -56,6 +56,8 @@ public function run($sArgument) Yii::app()->db->createCommand($actquery)->execute(); $actquery = "truncate table {{templates}}"; Yii::app()->db->createCommand($actquery)->execute(); + $actquery = "truncate table {{template_configuration}}"; + Yii::app()->db->createCommand($actquery)->execute(); $actquery = "truncate table {{participants}}"; Yii::app()->db->createCommand($actquery)->execute(); $actquery = "truncate table {{participant_attribute_names}}"; @@ -93,6 +95,13 @@ public function run($sArgument) $actquery = "update {{settings_global}} set stg_value='Sea_Green' where stg_name='admintheme'"; Yii::app()->db->createCommand($actquery)->execute(); + foreach($templateData=LsDefaultDataSets::getTemplatesData() as $template){ + Yii::app()->db->createCommand()->insert("{{templates}}", $template ); + } + foreach($templateConfigurationData=LsDefaultDataSets::getTemplateConfigurationData() as $templateConfiguration){ + Yii::app()->db->createCommand()->insert("{{template_configuration}}", $templateConfiguration ); + } + $surveyidresult = dbGetTablesLike("tokens%"); foreach ($surveyidresult as $sv) { Yii::app()->db->createCommand("drop table ".$sv)->execute(); @@ -113,6 +122,8 @@ public function run($sArgument) SureRemoveDir($sBaseUploadDir.DIRECTORY_SEPARATOR.'surveys', false); SureRemoveDir($sBaseUploadDir.DIRECTORY_SEPARATOR.'templates', false); + SureRemoveDir($sBaseUploadDir.DIRECTORY_SEPARATOR.'themes'.DIRECTORY_SEPARATOR.'survey', false); + SureRemoveDir($sBaseUploadDir.DIRECTORY_SEPARATOR.'themes'.DIRECTORY_SEPARATOR.'question', false); } else { // TODO: a valid error process echo 'This CLI command wipes a LimeSurvey installation clean (including all user except for the user ID 1 and user-uploaded content). For security reasons this command can only started if you add the parameter \'yes\' to the command line.'; From d3168a800f4f720cb17b840c1829c10c263c35cd Mon Sep 17 00:00:00 2001 From: markusfluer Date: Fri, 19 Jan 2018 13:10:25 +0100 Subject: [PATCH 72/84] Dev: added a demomode command to not only restore mint status but also install some demo surveys --- application/commands/DemomodeCommand.php | 139 +++++++++++++++++++++++ application/commands/console.php | 4 + application/core/ConsoleHttpSession.php | 12 ++ upload/surveys/index.html | 12 -- upload/surveys/readme.txt | 1 - upload/templates/index.html | 12 -- upload/templates/readme.txt | 1 - upload/themes/question/index.html | 12 -- upload/themes/survey/index.html | 12 -- 9 files changed, 155 insertions(+), 50 deletions(-) create mode 100644 application/commands/DemomodeCommand.php create mode 100644 application/core/ConsoleHttpSession.php delete mode 100644 upload/surveys/index.html delete mode 100755 upload/surveys/readme.txt delete mode 100644 upload/templates/index.html delete mode 100755 upload/templates/readme.txt delete mode 100644 upload/themes/question/index.html delete mode 100644 upload/themes/survey/index.html diff --git a/application/commands/DemomodeCommand.php b/application/commands/DemomodeCommand.php new file mode 100644 index 00000000000..393168df601 --- /dev/null +++ b/application/commands/DemomodeCommand.php @@ -0,0 +1,139 @@ +_resetDatabase(); + echo "|| Resetting Files\n"; + $this->_resetFiles(); + echo "|| Installing demo surveys\n"; + $this->_createDemo(); + echo "##### Done recreating demo state #####\n"; + } else { + // TODO: a valid error process + echo 'This CLI command wipes a LimeSurvey installation clean (including all user except for the user ID 1 and user-uploaded content). For security reasons this command can only started if you add the parameter \'yes\' to the command line.'; + } + + } + + private function _resetDatabase(){ + Yii::import('application.helpers.common_helper', true); + Yii::import('application.helpers.database_helper', true); + + //Truncate most of the tables + $truncatableTables = ['{{assessments}}','{{answers}}','{{conditions}}','{{defaultvalues}}','{{labels}}','{{labelsets}}','{{groups}}','{{questions}}','{{surveys}}','{{surveys_languagesettings}}','{{quota}}','{{quota_members}}','{{quota_languagesettings}}','{{question_attributes}}','{{quota}}','{{quota_members}}','{{quota_languagesettings}}','{{question_attributes}}','{{user_groups}}','{{user_in_groups}}','{{templates}}','{{template_configuration}}','{{participants}}','{{participant_attribute_names}}','{{participant_attribute_names_lang}}','{{participant_attribute_values}}','{{participant_shares}}','{{settings_user}}','{{failed_login_attempts}}','{{saved_control}}','{{survey_links}}']; + foreach($truncatableTables as $table){ + $actquery = "truncate table ".$table; + Yii::app()->db->createCommand($actquery)->execute(); + } + //Now delete the basics in all other tables + $actquery = "delete from {{permissions}} where uid<>1"; + Yii::app()->db->createCommand($actquery)->execute(); + $actquery = "delete from {{users}} where uid<>1"; + Yii::app()->db->createCommand($actquery)->execute(); + $actquery = "update {{users}} set lang='en'"; + Yii::app()->db->createCommand($actquery)->execute(); + $actquery = "update {{users}} set lang='auto'"; + Yii::app()->db->createCommand($actquery)->execute(); + $actquery = "delete from {{settings_global}} where stg_name LIKE 'last_question%'"; + Yii::app()->db->createCommand($actquery)->execute(); + $actquery = "delete from {{settings_global}} where stg_name LIKE 'last_survey%'"; + Yii::app()->db->createCommand($actquery)->execute(); + $actquery = "update {{users}} set email = 'test@domain.test', full_name='Administrator'"; + Yii::app()->db->createCommand($actquery)->execute(); + $actquery = "update {{settings_global}} set stg_value='' where stg_name='googleanalyticsapikey' or stg_name='googleMapsAPIKey' or stg_name='googletranslateapikey' or stg_name='ipInfoDbAPIKey' or stg_name='pdfheadertitle' or stg_name='pdfheaderstring'"; + Yii::app()->db->createCommand($actquery)->execute(); + $actquery = "update {{settings_global}} set stg_value='test@domain.test' where stg_name='siteadminbounce' or stg_name='siteadminemail'"; + Yii::app()->db->createCommand($actquery)->execute(); + $actquery = "update {{settings_global}} set stg_value='Administrator' where stg_name='siteadminname'"; + Yii::app()->db->createCommand($actquery)->execute(); + $actquery = "update {{settings_global}} set stg_value='Sea_Green' where stg_name='admintheme'"; + Yii::app()->db->createCommand($actquery)->execute(); + + $surveyidresult = dbGetTablesLike("tokens%"); + foreach ($surveyidresult as $sv) { + Yii::app()->db->createCommand("drop table ".$sv)->execute(); + } + + $surveyidresult = dbGetTablesLike("old\_%"); + foreach ($surveyidresult as $sv) { + Yii::app()->db->createCommand("drop table ".$sv)->execute(); + } + + $surveyidresult = dbGetTablesLike("survey\_%"); + foreach ($surveyidresult as $sv) { + if (strpos($sv, 'survey_links') === false && strpos($sv, 'survey_url_parameters') === false) { + Yii::app()->db->createCommand("drop table ".$sv)->execute(); + } + } + + // At last reset the basic themes + foreach($templateData=LsDefaultDataSets::getTemplatesData() as $template){ + Yii::app()->db->createCommand()->insert("{{templates}}", $template ); + } + foreach($templateConfigurationData=LsDefaultDataSets::getTemplateConfigurationData() as $templateConfiguration){ + Yii::app()->db->createCommand()->insert("{{template_configuration}}", $templateConfiguration ); + } + } + + private function _resetFiles(){ + + $sBaseUploadDir = dirname(dirname(dirname(__FILE__))).DIRECTORY_SEPARATOR.'upload'; + + SureRemoveDir($sBaseUploadDir.DIRECTORY_SEPARATOR.'surveys', false); + SureRemoveDir($sBaseUploadDir.DIRECTORY_SEPARATOR.'templates', false); + SureRemoveDir($sBaseUploadDir.DIRECTORY_SEPARATOR.'themes'.DIRECTORY_SEPARATOR.'survey', false); + SureRemoveDir($sBaseUploadDir.DIRECTORY_SEPARATOR.'themes'.DIRECTORY_SEPARATOR.'question', false); + } + + private function _createDemo(){ + Yii::app()->loadHelper('admin/import'); + require_once(dirname(dirname(dirname(__FILE__))).'/application/helpers/expressions/em_manager_helper.php'); + + Yii::app()->session->add( 'loginID', 1 ); + $documentationSurveyPath = dirname(dirname(dirname(__FILE__))).DIRECTORY_SEPARATOR.'docs'.DIRECTORY_SEPARATOR.'demosurveys'.DIRECTORY_SEPARATOR; + $aSamplesurveys = scandir($documentationSurveyPath); + foreach($aSamplesurveys as $sSamplesurvey) { + @XMLImportSurvey($documentationSurveyPath.$sSamplesurvey); + } + } + +} + + +function SureRemoveDir($dir, $DeleteMe) +{ + if (!$dh = @opendir($dir)) { + return; + } + while (false !== ($obj = readdir($dh))) { + if ($obj == '.' || $obj == '..') { + continue; + } + if (!@unlink($dir.'/'.$obj)) { + SureRemoveDir($dir.'/'.$obj, true); + } + } + closedir($dh); + if ($DeleteMe) { + if (!@rmdir($dir)) { + echo "Error: could not delete ".$dir; + } + + } +} diff --git a/application/commands/console.php b/application/commands/console.php index 52b618d3c27..e58458cc3fc 100644 --- a/application/commands/console.php +++ b/application/commands/console.php @@ -25,6 +25,10 @@ $sCurrentDir = dirname(__FILE__); $settings = require (dirname($sCurrentDir).DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR.'config-defaults.php'); $config = require (dirname($sCurrentDir).DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR.'internal.php'); + $config['components']['session']['class'] = 'ConsoleHttpSession'; + $config['components']['session']['cookieMode'] = 'none'; + $config['components']['session']['cookieParams'] = []; + $core = dirname($sCurrentDir).DIRECTORY_SEPARATOR.'core'.DIRECTORY_SEPARATOR; if (isset($config['config'])) { $settings = array_merge($settings, $config['config']); diff --git a/application/core/ConsoleHttpSession.php b/application/core/ConsoleHttpSession.php new file mode 100644 index 00000000000..edde40a9dd2 --- /dev/null +++ b/application/core/ConsoleHttpSession.php @@ -0,0 +1,12 @@ + - - - -LimeSurvey - - - - - - - diff --git a/upload/surveys/readme.txt b/upload/surveys/readme.txt deleted file mode 100755 index 65c3103664e..00000000000 --- a/upload/surveys/readme.txt +++ /dev/null @@ -1 +0,0 @@ -This folder has to be writeable. Set file permissions to 775 or 777 depending on your webserver configuration. \ No newline at end of file diff --git a/upload/templates/index.html b/upload/templates/index.html deleted file mode 100644 index aa4602772ae..00000000000 --- a/upload/templates/index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - -LimeSurvey - - - - - - - diff --git a/upload/templates/readme.txt b/upload/templates/readme.txt deleted file mode 100755 index 65c3103664e..00000000000 --- a/upload/templates/readme.txt +++ /dev/null @@ -1 +0,0 @@ -This folder has to be writeable. Set file permissions to 775 or 777 depending on your webserver configuration. \ No newline at end of file diff --git a/upload/themes/question/index.html b/upload/themes/question/index.html deleted file mode 100644 index aa4602772ae..00000000000 --- a/upload/themes/question/index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - -LimeSurvey - - - - - - - diff --git a/upload/themes/survey/index.html b/upload/themes/survey/index.html deleted file mode 100644 index aa4602772ae..00000000000 --- a/upload/themes/survey/index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - -LimeSurvey - - - - - - - From 2bde7854740323754874263b40520a1dfd399854 Mon Sep 17 00:00:00 2001 From: markusfluer Date: Fri, 19 Jan 2018 14:31:36 +0100 Subject: [PATCH 73/84] Fixed issue #13193: Unable to update question type (simple selector) --- application/controllers/admin/questions.php | 11 +- .../views/admin/super/layout_insurvey.php | 2 +- .../survey/Question/editQuestion_view.php | 228 ++++++++++-------- .../question_subviews/_ajax_variables.php | 3 +- assets/scripts/admin/questions.js | 27 ++- 5 files changed, 146 insertions(+), 125 deletions(-) diff --git a/application/controllers/admin/questions.php b/application/controllers/admin/questions.php index 396236eef4e..cae9d1d3313 100644 --- a/application/controllers/admin/questions.php +++ b/application/controllers/admin/questions.php @@ -1035,7 +1035,6 @@ public function newquestion($surveyid) $eqrow['title'] = ''; $eqrow['question'] = ''; $eqrow['help'] = ''; - $eqrow['type'] = 'T'; $eqrow['lid'] = 0; $eqrow['lid1'] = 0; $eqrow['gid'] = null; @@ -1046,6 +1045,8 @@ public function newquestion($surveyid) $eqrow['group_name'] = ''; $eqrow['modulename'] = ''; $eqrow['conditions_number'] = false; + $eqrow['type'] = 'T'; + if (isset($_GET['gid'])) { $eqrow['gid'] = $_GET['gid']; } @@ -1070,6 +1071,7 @@ public function newquestion($surveyid) $aData['accordionDatas']['selectormodeclass'] = $selectormodeclass; $aData['selectormodeclass'] = $selectormodeclass; + $aData['ajaxDatas']['selectormodeclass'] = $selectormodeclass; $aData['accordionDatas']['eqrow'] = $eqrow; @@ -1305,6 +1307,7 @@ public function index($sa, $surveyid, $gid, $qid = null) } $aData['selectormodeclass'] = $selectormodeclass; + $aData['ajaxDatas']['selectormodeclass'] = $selectormodeclass; } /** @@ -1324,7 +1327,9 @@ public function index($sa, $surveyid, $gid, $qid = null) App()->getClientScript()->registerScriptFile(App()->getConfig('adminscripts').'questions.js', LSYii_ClientScript::POS_BEGIN); $aData['sValidateUrl'] = ($adding || $copying) ? $this->getController()->createUrl('admin/questions', array('sa' => 'ajaxValidate', 'surveyid'=>$surveyid)) : $this->getController()->createUrl('admin/questions', array('sa' => 'ajaxValidate', 'surveyid'=>$surveyid, 'qid'=>$qid)); - + $aData['ajaxDatas']['sValidateUrl'] = $aData['sValidateUrl']; + $aData['ajaxDatas']['qTypeOutput'] = $aData['qTypeOutput']; + $aData['addlanguages'] = Survey::model()->findByPk($surveyid)->additionalLanguages; $aViewUrls['editQuestion_view'][] = $aData; @@ -1333,7 +1338,7 @@ public function index($sa, $surveyid, $gid, $qid = null) include('accessDenied.php'); } - $aData['ajaxDatas']['sValidateUrl'] = (isset($aData['sValidateUrl'])) ? $aData['sValidateUrl'] : $this->getController()->createUrl('admin/questions', array('sa' => 'ajaxValidate', 'surveyid'=>$surveyid)); + $aData['ajaxDatas']['qTypeOutput'] = $aData['qTypeOutput']; /////////// diff --git a/application/views/admin/super/layout_insurvey.php b/application/views/admin/super/layout_insurvey.php index f1262be5255..1d32773a8e4 100644 --- a/application/views/admin/super/layout_insurvey.php +++ b/application/views/admin/super/layout_insurvey.php @@ -32,7 +32,7 @@ echo '
    '; diff --git a/application/views/admin/survey/Question/editQuestion_view.php b/application/views/admin/survey/Question/editQuestion_view.php index 82948df48ee..73659fe757d 100644 --- a/application/views/admin/survey/Question/editQuestion_view.php +++ b/application/views/admin/survey/Question/editQuestion_view.php @@ -29,9 +29,6 @@