Merge branch 'wip-mdl-56211' of https://github.com/rajeshtaneja/moodle
authorDan Poltawski <dan@moodle.com>
Mon, 9 Jan 2017 09:58:57 +0000 (09:58 +0000)
committerDan Poltawski <dan@moodle.com>
Mon, 9 Jan 2017 09:58:57 +0000 (09:58 +0000)
1  2 
lib/tests/behat/behat_hooks.php

@@@ -386,6 -386,28 +386,6 @@@ class behat_hooks extends behat_base 
          $this->resize_window('medium');
      }
  
 -    /**
 -     * Executed after scenario to go to a page where no JS is executed.
 -     * This will ensure there are no unwanted ajax calls from browser and
 -     * site can be reset safely.
 -     *
 -     * @param AfterScenarioScope $scope scope passed by event fired after scenario.
 -     * @AfterScenario
 -     */
 -    public function after_scenario(AfterScenarioScope $scope) {
 -        try {
 -            $this->wait_for_pending_js();
 -            $this->getSession()->reset();
 -        } catch (DriverException $e) {
 -            // Try restart session, if DriverException caught.
 -            try {
 -                $this->getSession()->restart();
 -            } catch (DriverException $e) {
 -                // Do nothing, as this will be caught while starting session in before_scenario.
 -            }
 -        }
 -    }
 -
      /**
       * Wait for JS to complete before beginning interacting with the DOM.
       *
          // The scenario title + the failed step text.
          // We want a i-am-the-scenario-title_i-am-the-failed-step.$filetype format.
          $filename = $scope->getFeature()->getTitle() . '_' . $scope->getStep()->getText();
-         $filename = preg_replace('/([^a-zA-Z0-9\_]+)/', '-', $filename);
  
-         // File name limited to 255 characters. Leaving 5 chars for line number and 4 chars for the file.
+         // As file name is limited to 255 characters. Leaving 5 chars for line number and 4 chars for the file.
          // extension as we allow .png for images and .html for DOM contents.
-         $filename = substr($filename, 0, 245) . '_' . $scope->getStep()->getLine() . '.' . $filetype;
+         $filenamelen = 245;
+         // Suffix suite name to faildump file, if it's not default suite.
+         $suitename = $scope->getSuite()->getName();
+         if ($suitename != 'default') {
+             $suitename = '_' . $suitename;
+             $filenamelen = $filenamelen - strlen($suitename);
+         } else {
+             // No need to append suite name for default.
+             $suitename = '';
+         }
+         $filename = preg_replace('/([^a-zA-Z0-9\_]+)/', '-', $filename);
+         $filename = substr($filename, 0, $filenamelen) . $suitename . '_' . $scope->getStep()->getLine() . '.' . $filetype;
  
          return array($dir, $filename);
      }