/** * test the Pug alias */ public function testPugAlias() { $jade = new Jade(); $pug = new Pug(); $this->assertSame($jade->getOption('stream'), 'jade.stream'); $this->assertSame($pug->getOption('stream'), 'pug.stream'); $this->assertSame($pug->render('p Hello'), '<p>Hello</p>'); $this->assertSame($pug->getExtension(), '.pug'); $this->assertTrue(in_array('.pug', $pug->getExtensions())); $jade = new Jade(array('extension' => '.foo')); $this->assertSame($jade->getExtension(), '.foo'); $this->assertFalse(in_array('.pug', $jade->getExtensions())); $this->assertTrue(in_array('.foo', $jade->getExtensions())); $jade->setOption('extension', array('.jade', '.pug')); $this->assertSame($jade->getExtension(), '.jade'); $this->assertFalse(in_array('.foo', $jade->getExtensions())); $this->assertTrue(in_array('.jade', $jade->getExtensions())); $this->assertTrue(in_array('.pug', $jade->getExtensions())); $jade->setOption('extension', array()); $this->assertSame($jade->getExtension(), ''); $this->assertFalse(in_array('', $jade->getExtensions())); $this->assertFalse(in_array('.foo', $jade->getExtensions())); $this->assertFalse(in_array('.jade', $jade->getExtensions())); $this->assertFalse(in_array('.pug', $jade->getExtensions())); $jade->setOption('extension', '.pug'); $this->assertSame($jade->getExtension(), '.pug'); $this->assertFalse(in_array('', $jade->getExtensions())); $this->assertFalse(in_array('.foo', $jade->getExtensions())); $this->assertFalse(in_array('.jade', $jade->getExtensions())); $this->assertTrue(in_array('.pug', $jade->getExtensions())); }
/** * Get an option from the jade engine if set or from the options array else. * * @param string $option * * @throws \InvalidArgumentException * * @return mixed */ public function getOption($option) { if (is_null($this->jade)) { if (!isset($this->options[$option])) { throw new \InvalidArgumentException("{$option} is not a valid option name.", 28); } return $this->options[$option]; } return $this->jade->getOption($option); }
protected function cacheTemplates(Jade $pug) { $success = 0; $errors = 0; $directories = array(); foreach ($pug->getOption('assetDirectory') as $assetDirectory) { $viewDirectory = $assetDirectory . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'views'; if (!is_dir($viewDirectory)) { continue; } $directories[] = $viewDirectory; $data = $pug->cacheDirectory($viewDirectory); $success += $data[0]; $errors += $data[1]; } return array($directories, $success, $errors); }
/** * @return string $environment */ public function getEnvironment() { return $this->pug->getOption('environment') ?: 'production'; }
/** * @expectedException \InvalidArgumentException * @expectedExceptionCode 2 */ public function testGetInvalidOption() { $jade = new Jade(); $jade->getOption('i-do-not-exists'); }
/** * setOptions test */ public function testSetCustomOptions() { $jade = new Jade(); $jade->setCustomOptions(array('prettyprint' => false, 'foo' => 'bar')); $this->assertFalse($jade->getOption('prettyprint')); $this->assertSame($jade->getOption('foo'), 'bar'); }