static function testLoader() { $TimberLoader = new TimberLoader(); for ($i = 0; $i < 5000; $i++) { $loader = $TimberLoader->get_loader(); } }
function testWPCLIClearCacheAllArray() { $cache_dir = __DIR__ . '/../cache/twig'; if (is_dir($cache_dir)) { TimberLoader::rrmdir($cache_dir); } $this->assertFileNotExists($cache_dir); Timber::$cache = true; $pid = $this->factory->post->create(); $post = new TimberPost($pid); Timber::compile('assets/single-post.twig', array('post' => $post)); sleep(1); $this->assertFileExists($cache_dir); Timber::compile('assets/single.twig', array('data' => 'foobar'), 600); $success = TimberCommand::clear_cache(array('all')); $this->assertTrue($success); Timber::$cache = false; $success = TimberCommand::clear_cache('bunk'); $this->assertNull($success); }
static function clear_cache_twig() { $loader = new TimberLoader(); return $loader->clear_cache_twig(); }
/** * Get sidebar from PHP * * @param string $sidebar * @param array $data * @return string */ public static function get_sidebar_from_php($sidebar = '', $data) { $caller = self::get_calling_script_dir(); $loader = new TimberLoader(); $uris = $loader->get_locations($caller); ob_start(); $found = false; foreach ($uris as $uri) { if (file_exists(trailingslashit($uri) . $sidebar)) { include trailingslashit($uri) . $sidebar; $found = true; break; } } if (!$found) { TimberHelper::error_log('error loading your sidebar, check to make sure the file exists'); } $ret = ob_get_contents(); ob_end_clean(); return $ret; }
function testTimberLoaderCache() { global $wp_object_cache; $pid = $this->factory->post->create(); $post = new TimberPost($pid); $str_old = Timber::compile('assets/single-post.twig', array('post' => $post), 600); sleep(1); $str_new = Timber::compile('assets/single-post.twig', array('post' => $post), 600); $this->assertEquals($str_old, $str_new); $loader = new TimberLoader(); $clear = $loader->clear_cache_timber(); $this->assertTrue($clear); global $wpdb; $query = "SELECT * FROM {$wpdb->options} WHERE option_name LIKE '_transient_timberloader_%'"; $wpdb->query($query); $this->assertEquals(0, $wpdb->num_rows); }
function render_twig_string($string, $data = array()) { $timber_loader = new TimberLoader(); $timber_loader->get_twig(); $loader = new Twig_Loader_String(); $twig = new Twig_Environment($loader); return $twig->render($string, $data); }
function twig_this($template, $data) { $loader = new TimberLoader(Timber::get_calling_script_dir()); return $loader->get_twig()->createTemplate($template)->render($data); }