@@ -233,6 +233,52 @@ function testPropertyRestore()
233233 $ this ->assertEquals (['hello ' , 'world ' ], $ this ->testOne ->prop );
234234 }
235235
236+ public function testExamplesIndexInName ()
237+ {
238+ $ name = $ this ->getName ();
239+
240+ $ this ->specify ('it appends index of an example to a test case name ' , function ($ idx , $ example ) use ($ name ) {
241+ $ name .= ' | it appends index of an example to a test case name ' ;
242+ $ this ->assertEquals ($ name . ' | examples index ' . $ idx , $ this ->getName ());
243+
244+ $ this ->specify ('nested specification without examples ' , function () use ($ idx , $ name ) {
245+ $ name .= ' | examples index ' . $ idx ;
246+ $ name .= ' | nested specification without examples ' ;
247+ $ this ->assertEquals ($ name , $ this ->getName ());
248+ });
249+
250+ $ this ->specify ('nested specification with examples ' , function () use ($ idx , $ name ) {
251+ $ name .= ' | examples index ' . $ idx ;
252+ $ name .= ' | nested specification with examples ' ;
253+ $ name .= ' | examples index 0 ' ;
254+ $ this ->assertEquals ($ name , $ this ->getName ());
255+ }, ['examples ' => [
256+ [$ example ]
257+ ]]);
258+ }, ['examples ' => [
259+ [0 , '' ],
260+ [1 , '0 ' ],
261+ [2 , null ],
262+ [3 , 'bye ' ],
263+ [4 , 'world ' ],
264+ ]]);
265+
266+ $ this ->specify ('it does not append index to a test case name if there are no examples ' , function () use ($ name ) {
267+ $ name .= ' | it does not append index to a test case name if there are no examples ' ;
268+ $ this ->assertEquals ($ name , $ this ->getName ());
269+
270+ $ this ->specify ('nested specification without examples ' , function () use ($ name ) {
271+ $ this ->assertEquals ($ name . ' | nested specification without examples ' , $ this ->getName ());
272+ });
273+
274+ $ this ->specify ('nested specification with examples ' , function () use ($ name ) {
275+ $ this ->assertEquals ($ name . ' | nested specification with examples | examples index 0 ' , $ this ->getName ());
276+ }, ['examples ' => [
277+ [null ]
278+ ]]);
279+ });
280+ }
281+
236282// public function testFail()
237283// {
238284// $this->specify('this will fail', function(){
0 commit comments