getMockBuilder('Cake\Console\ConsoleOutput')->getMock(); $message = ' Error: oh noes'; $output->expects($this->at(0)) ->method('write') ->with($this->stringContains($message)); $log = new ConsoleLog([ 'stream' => $output, ]); $log->log('error', 'oh noes'); } /** * Test writing to a file stream * * @return void */ public function testlogToFileStream() { $filename = tempnam(sys_get_temp_dir(), 'cake_log_test'); $log = new ConsoleLog([ 'stream' => $filename, ]); $log->log('error', 'oh noes'); $fh = fopen($filename, 'r'); $line = fgets($fh); $this->assertContains('Error: oh noes', $line); } /** * test value of stream 'outputAs' */ public function testDefaultOutputAs() { $output = $this->getMockBuilder(ConsoleOutput::class)->getMock(); $output->expects($this->at(0)) ->method('setOutputAs') ->with(ConsoleOutput::RAW); $log = new ConsoleLog([ 'stream' => $output, 'outputAs' => ConsoleOutput::RAW, ]); $this->assertEquals(ConsoleOutput::RAW, $log->getConfig('outputAs')); } }