function testAvatar() { if (!TimberImageTest::is_connected()) { return; } $post_id = $this->factory->post->create(); $comment_id = $this->factory->comment->create(array('comment_post_ID' => $post_id)); $comment = new TimberComment($comment_id); # test default gravatr holding image $avatar = $comment->avatar(32, "mystery"); $this->assertTrue(substr($avatar, 0, 5) == "http:"); # does it work if its SSL? $_SERVER['HTTPS'] = 'on'; $avatar = $comment->avatar(32, "mystery"); $this->assertTrue(200 === $this->crawl($avatar)); $this->assertTrue(substr($avatar, 0, 6) == "https:"); $_SERVER['HTTPS'] = 'off'; # pass custom url on different domain. can't check by crawling as # i get a 302 regardless of default url # so just check it comes back with it in the url $this->valid_avatar($comment, "http://upload.wikimedia.org/wikipedia/en/b/bc/Wiki.png"); # same domain. $this->valid_avatar($comment, get_template_directory_uri() . "/images/default.png"); #relative $default_url = "/images/default.png"; $avatar = $comment->avatar(32, $default_url); if (strstr($avatar, '?')) { list($url, $params) = explode('?', $avatar); $default_url = get_template_directory_uri() . $default_url; # you get back the absoulte url to default in the avatar url? $this->assertEquals($params, "d={$default_url}&s=32"); } # you get back url? $this->assertTrue(substr(get_template_directory_uri() . $avatar, 0, 5) == "http:"); }
function testTimberImageInTwigToString() { $iid = TimberImageTest::get_image_attachment(); $str = '{{TimberImage(' . $iid . ')}}'; $compiled = Timber::compile_string($str); $this->assertEquals('http://example.org/wp-content/uploads/' . date('Y') . '/' . date('m') . '/arch.jpg', $compiled); }
function testDownloadURL() { if (TimberImageTest::is_connected()) { $url = 'http://i1.nyt.com/images/misc/nytlogo379x64.gif'; $result = TimberURLHelper::download_url($url); $this->assertStringStartsWith('/tmp/nytlogo379x64', $result); $this->assertStringEndsWith('.tmp', $result); } }
function testDownloadURL() { if (!TimberImageTest::is_connected()) { $this->markTestSkipped('Cannot test external images when not connected to internet'); return; } $url = 'http://i1.nyt.com/images/misc/nytlogo379x64.gif'; $result = TimberURLHelper::download_url($url); $this->assertContains('/nytlogo379x64', $result); $this->assertStringEndsWith('.tmp', $result); }
function testFalseParent() { $pid = $this->factory->post->create(); $filename = TimberImageTest::copyTestImage('arch.jpg'); $attachment = array('post_title' => 'The Arch', 'post_content' => ''); $iid = wp_insert_attachment($attachment, $filename, $pid); update_post_meta($iid, 'architect', 'Eero Saarinen'); $image = new TimberImage($iid); $parent = $image->parent(); $this->assertEquals($pid, $parent->ID); $this->assertFalse($parent->parent()); }
function testImageResizeRetinaFilter() { $filename = TimberImageTest::copyTestImage('eastern.jpg'); $wp_filetype = wp_check_filetype(basename($filename), null); $post_id = $this->factory->post->create(); $attachment = array('post_mime_type' => $wp_filetype['type'], 'post_title' => preg_replace('/\\.[^.]+$/', '', basename($filename)), 'post_excerpt' => '', 'post_status' => 'inherit'); $attach_id = wp_insert_attachment($attachment, $filename, $post_id); add_post_meta($post_id, '_thumbnail_id', $attach_id, true); $data = array(); $data['post'] = new TimberPost($post_id); $str = '{{post.thumbnail.src|resize(100, 50)|retina(3)}}'; $compiled = Timber::compile_string($str, $data); $img = new TimberImage($compiled); $this->assertContains('@3x', $compiled); $this->assertEquals(300, $img->width()); }
function testGetAttachment() { $upload_dir = wp_upload_dir(); $post_id = $this->factory->post->create(); $filename = TimberImageTest::copyTestImage('flag.png'); $destination_url = str_replace(ABSPATH, 'http://' . $_SERVER['HTTP_HOST'] . '/', $filename); $wp_filetype = wp_check_filetype(basename($filename), null); $attachment = array('post_mime_type' => $wp_filetype['type'], 'post_title' => preg_replace('/\\.[^.]+$/', '', basename($filename)), 'post_content' => '', 'post_status' => 'inherit'); $attach_id = wp_insert_attachment($attachment, $filename, $post_id); add_post_meta($post_id, '_thumbnail_id', $attach_id, true); $data = array(); $data['post'] = new TimberPost($post_id); $data['size'] = array('width' => 100, 'height' => 50); $data['crop'] = 'default'; Timber::compile('assets/thumb-test.twig', $data); $exists = file_exists($filename); $this->assertTrue($exists); $resized_path = $upload_dir['path'] . '/flag-' . $data['size']['width'] . 'x' . $data['size']['height'] . '-c-' . $data['crop'] . '.png'; $exists = file_exists($resized_path); $this->assertTrue($exists); $attachments = Timber::get_posts('post_type=attachment&post_status=inherit'); $this->assertGreaterThan(0, count($attachments)); }