28                                            : Generator
   29    {
   30        yield 'Subject without reply prefix' => [
   31            'subject' => 'This is a subject',
   32            'prefix' => 'Re:',
   33            'repetition_prefix' => 'Re (%s):',
   34            'expected' => 'Re: This is a subject'
   35        ];
   36 
   37        yield 'Subject without reply prefix and prefix without expected end character' => [
   38            'subject' => 'This is a subject',
   39            'prefix' => 'Re',
   40            'repetition_prefix' => 'Re (%s):',
   41            'expected' => 'Re: This is a subject'
   42        ];
   43 
   44        yield 'Subject with repeated reply prefix' => [
   45            'subject' => 'Re: Re: Re: This is a subject',
   46            'prefix' => 'Re:',
   47            'repetition_prefix' => 'Re (%s):',
   48            'expected' => 'Re (4): This is a subject'
   49        ];
   50 
   51        yield 'Subject with optimized repeated reply prefix' => [
   52            'subject' => 'Re (3): This is a subject',
   53            'prefix' => 'Re:',
   54            'repetition_prefix' => 'Re (%s):',
   55            'expected' => 'Re (4): This is a subject'
   56        ];
   57 
   58        yield 'Subject with optimized repeated reply prefix (without spaces)' => [
   59            'subject' => 'Re(3): This is a subject',
   60            'prefix' => 'Re:',
   61            'repetition_prefix' => 'Re (%s):',
   62            'expected' => 'Re(4): This is a subject'
   63        ];
   64 
   65        yield 'Subject with repeated reply prefix and repetition-prefix without expected end character' => [
   66            'subject' => 'Re: Re: Re: This is a subject',
   67            'prefix' => 'Re:',
   68            'repetition_prefix' => 'Re (%s)',
   69            'expected' => 'Re (4): This is a subject'
   70        ];
   71 
   72        yield 'Subject with optimized repeated reply prefix and repetition-prefix without expected end character' => [
   73            'subject' => 'Re (3): This is a subject',
   74            'prefix' => 'Re:',
   75            'repetition_prefix' => 'Re (%s)',
   76            'expected' => 'Re (4): This is a subject'
   77        ];
   78 
   79        yield 'Subject with optimized repeated reply prefix (without spaces) and repetition-prefix without expected end character' => [
   80            'subject' => 'Re(3): This is a subject',
   81            'prefix' => 'Re:',
   82            'repetition_prefix' => 'Re (%s)',
   83            'expected' => 'Re(4): This is a subject'
   84        ];
   85    }