Skip to content

Commit 021f7eb

Browse files
committed
update readme and normalize message casing
1 parent fec21c3 commit 021f7eb

File tree

3 files changed

+18
-3
lines changed

3 files changed

+18
-3
lines changed

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,17 @@ $this->specify('this assertion is failing', function() {
179179
?>
180180
```
181181

182+
In both cases, you can optionally test the exception message
183+
184+
``` php
185+
<?php
186+
187+
$this->specify('some exception with a message', function() {
188+
throw new NotFoundException("my error message');
189+
}, ['throws' => ['NotFoundException', 'my error message']]);
190+
?>
191+
```
192+
182193
## Examples
183194

184195
DataProviders alternative. Quite useful for basic data providers.

src/Codeception/Specify.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ private function specifyExecute($test, $throws = false, $examples = array())
108108
$message = false;
109109

110110
if (is_array($throws)) {
111-
$message = $throws[1];
111+
$message = ($throws[1]) ? strtolower($throws[1]) : false;
112112
$throws = $throws[0];
113113
}
114114

@@ -120,7 +120,7 @@ private function specifyExecute($test, $throws = false, $examples = array())
120120
$result->addFailure(clone($this), $e, $result->time());
121121
}
122122

123-
if ($message !==false && $message !== $e->getMessage()) {
123+
if ($message !==false && $message !== strtolower($e->getMessage())) {
124124
$f = new \PHPUnit_Framework_AssertionFailedError("exception message '$message' was expected, but '" . $e->getMessage() . "' was received");
125125
$result->addFailure(clone($this), $f, $result->time());
126126
}
@@ -131,7 +131,7 @@ private function specifyExecute($test, $throws = false, $examples = array())
131131
$result->addFailure(clone($this), $f, $result->time());
132132
}
133133

134-
if ($message !==false && $message !== $e->getMessage()) {
134+
if ($message !==false && $message !== strtolower($e->getMessage())) {
135135
$f = new \PHPUnit_Framework_AssertionFailedError("exception message '$message' was expected, but '" . $e->getMessage() . "' was received");
136136
$result->addFailure(clone($this), $f, $result->time());
137137
}

tests/SpecifyTest.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,10 @@ public function testExceptionsWithMessages()
125125
$this->specify('ignores an empty message', function() {
126126
$this->fail("test message");
127127
}, ['throws' => ['fail']]);
128+
129+
$this->specify('mixed case exception messages', function() {
130+
throw new RuntimeException("teSt mESSage");
131+
}, ['throws' => ['RuntimeException', 'Test MessaGE']]);
128132
}
129133

130134
/**

0 commit comments

Comments
 (0)