MDL-50259 behat: Use strict activity name checking
authorRajesh Taneja <rajesh@moodle.com>
Mon, 18 May 2015 07:03:57 +0000 (15:03 +0800)
committerRajesh Taneja <rajesh@moodle.com>
Tue, 19 May 2015 06:20:05 +0000 (14:20 +0800)
contains might select wrong activity
so using strict activity text checking

course/tests/behat/behat_course.php

index ddc1cf6..9996533 100644 (file)
@@ -180,7 +180,7 @@ class behat_course extends behat_base {
             // Clicks the selected activity if it exists.
             $activityxpath = "//div[@id='chooseform']/descendant::label" .
                 "/descendant::span[contains(concat(' ', normalize-space(@class), ' '), ' typename ')]" .
-                "[contains(., $activityliteral)]" .
+                "[normalize-space(.)=$activityliteral]" .
                 "/parent::label/child::input";
             $activitynode = $this->find('xpath', $activityxpath);
             $activitynode->doubleClick();
@@ -190,7 +190,7 @@ class behat_course extends behat_base {
 
             // Selecting the option from the select box which contains the option.
             $selectxpath = $sectionxpath . "/descendant::div[contains(concat(' ', normalize-space(@class), ' '), ' section_add_menus ')]" .
-                "/descendant::select[contains(., $activityliteral)]";
+                "/descendant::select[option[normalize-space(.)=$activityliteral]]";
             $selectnode = $this->find('xpath', $selectxpath);
             $selectnode->selectOption($activity);