zoe Tue Jun 30 13:34:56 2009 UTC
Modified files:
/phpruntests/src/testcase rtPhpTestFile.php
Log:
Changes to discard empty test sections
http://cvs.php.net/viewvc.cgi/phpruntests/src/testcase/rtPhpTestFile.php?r1=1.4r2=1.5diff_format=u
Index: phpruntests/src/testcase/rtPhpTestFile.php
diff -u phpruntests/src/testcase/rtPhpTestFile.php:1.4
phpruntests/src/testcase/rtPhpTestFile.php:1.5
--- phpruntests/src/testcase/rtPhpTestFile.php:1.4 Mon May 25 12:46:57 2009
+++ phpruntests/src/testcase/rtPhpTestFile.php Tue Jun 30 13:34:56 2009
@@ -28,71 +28,81 @@
'rtHasNoDuplicateSections',
'rtIsValidSectionName',
'rtIsSectionImplemented'
-);
+);
-/**
- * Reads the contents of the test file and creates an array of the
contents.
- *
- * @param string $testFile (file name)
- */
-public function doRead($testFile)
-{
-$this-testFileName = realpath($testFile);
-$this-testName=
dirname($this-testFileName).DIRECTORY_SEPARATOR.basename($this-testFileName,
.phpt);
-$this-testContents = file($this-testFileName);
-}
-
-public function normaliseLineEndings()
-{
-for ($i=0; $icount($this-testContents); $i++) {
-//This is not nice but there are a huge number of tests with
random spacs at the end of the section header
-if (preg_match(/--([A-Z]+(_[A-Z]+|))--/,
$this-testContents[$i], $matches)) {
-$this-sectionHeadings[] = $matches[1];
-$this-testContents[$i] = $matches[1];
-} else {
-$this-testContents[$i] = rtrim($this-testContents[$i],
$this-carriageReturn.$this-newLine);
+/**
+ * Reads the contents of the test file and creates an array of the
contents.
+ *
+ * @param string $testFile (file name)
+ */
+public function doRead($testFile)
+{
+$this-testFileName = realpath($testFile);
+$this-testName=
dirname($this-testFileName).DIRECTORY_SEPARATOR.basename($this-testFileName,
.phpt);
+$this-testContents = file($this-testFileName);
+}
+
+public function normaliseLineEndings()
+{
+$tempArray = array();
+for ($i=0; $icount($this-testContents); $i++) {
+//This is not nice but there are a huge number of tests with
random spacs at the end of the section header
+//and empty sections.
+if (preg_match(/--([A-Z]+(_[A-Z]+|))--/,
$this-testContents[$i], $matches)) {
+//look ahead to next section unless this is the last test
section.
+//if the EXPECT section is empty (missing) it will be
caught by preconditions.
+//If the next line is also a section heading than skip
adding it to the test case or headings.
+if($i count($this-testContents) - 1) {
+if (!preg_match(/--([A-Z]+(_[A-Z]+|))--/,
$this-testContents[$i+1])) {
+$this-sectionHeadings[] = $matches[1];
+$tempArray[] = $matches[1];
+}
+}
+} else {
+$tempArray[] = rtrim($this-testContents[$i],
$this-carriageReturn.$this-newLine);
+}
}
+$this-testContents = $tempArray;
}
-}
-
-public function arePreConditionsMet()
-{
-foreach ($this-preConditions as $preCondition) {
-$condition = new $preCondition;
-if (!$condition-isMet($this-sectionHeadings)) {
- $this-testExitMessage = $condition-getMessage();
- return false;
+
+public function arePreConditionsMet()
+{
+foreach ($this-preConditions as $preCondition) {
+$condition = new $preCondition;
+if (!$condition-isMet($this-sectionHeadings)) {
+$this-testExitMessage = $condition-getMessage();
+return false;
+}
}
+return true;
+}
+
+public function getContents()
+{
+return $this-testContents;
+}
+
+public function getSectionHeadings()
+{
+return $this-sectionHeadings;
}
-return true;
-}
-public function getContents()
-{
-return $this-testContents;
-}
-
-public function getSectionHeadings()
-{
-return $this-sectionHeadings;
-}
-
-
-public function getTestName()
-{
-return $this-testName;
-}
-
-
-public function getTestFileName()
-{
-return $this-testFileName;
-}
-
-
-public function getExitMessage()
-{
-return $this-testExitMessage;
-}
+
+public function getTestName()
+{
+