| 
					
				 | 
			
			
				@@ -38,22 +38,91 @@ class ImageTest extends \PHPUnit_Framework_TestCase 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public function rotateProvider() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            [__DIR__ . '/data/chainring.jpg', 90, __DIR__ . '/data/chainring-rotated-left.jpg'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            [__DIR__ . '/data/chainring.jpg', 270, __DIR__ . '/data/chainring-rotated-right.jpg'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                __DIR__ . '/data/color.png', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [0, 0, new colors\RGBA(0, 1, 0, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [1, 0, new colors\RGBA(0, 0, 1, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [3, 0, new colors\RGBA(0, 0, 0, 0)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [0, 1, new colors\RGBA(1, 0, 0, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [1, 1, new colors\RGBA(0, 0, 0, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [3, 2, new colors\RGBA(1, 1, 1, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                __DIR__ . '/data/color.png', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                90, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [0, 3, new colors\RGBA(0, 1, 0, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [0, 2, new colors\RGBA(0, 0, 1, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [0, 0, new colors\RGBA(0, 0, 0, 0)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [1, 3, new colors\RGBA(1, 0, 0, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [1, 2, new colors\RGBA(0, 0, 0, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [2, 0, new colors\RGBA(1, 1, 1, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                __DIR__ . '/data/color.png', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                180, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [3, 2, new colors\RGBA(0, 1, 0, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [2, 2, new colors\RGBA(0, 0, 1, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [0, 2, new colors\RGBA(0, 0, 0, 0)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [3, 1, new colors\RGBA(1, 0, 0, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [2, 1, new colors\RGBA(0, 0, 0, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [0, 0, new colors\RGBA(1, 1, 1, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                __DIR__ . '/data/color.png', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                270, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [2, 0, new colors\RGBA(0, 1, 0, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [2, 1, new colors\RGBA(0, 0, 1, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [2, 3, new colors\RGBA(0, 0, 0, 0)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [1, 0, new colors\RGBA(1, 0, 0, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [1, 1, new colors\RGBA(0, 0, 0, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [0, 3, new colors\RGBA(1, 1, 1, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                __DIR__ . '/data/color.png', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                360, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [0, 0, new colors\RGBA(0, 1, 0, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [1, 0, new colors\RGBA(0, 0, 1, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [3, 0, new colors\RGBA(0, 0, 0, 0)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [0, 1, new colors\RGBA(1, 0, 0, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [1, 1, new colors\RGBA(0, 0, 0, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [3, 2, new colors\RGBA(1, 1, 1, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                __DIR__ . '/data/color.png', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                360 + 90, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [0, 3, new colors\RGBA(0, 1, 0, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [0, 2, new colors\RGBA(0, 0, 1, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [0, 0, new colors\RGBA(0, 0, 0, 0)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [1, 3, new colors\RGBA(1, 0, 0, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [1, 2, new colors\RGBA(0, 0, 0, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    [2, 0, new colors\RGBA(1, 1, 1, 1)], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @dataProvider rotateProvider 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public function testRotate($source_path, $angle, $expected_path) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public function testRotate($source_path, $angle, $expected_pixels) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $img = Image::fromFile($source_path); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $tmp_path = tempnam(sys_get_temp_dir(), 'image'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $img->rotate($angle); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $img->saveJpeg($tmp_path); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertFileEquals($expected_path, $tmp_path); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        unlink($tmp_path); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        foreach($expected_pixels as $px) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertTrue($px[2]->equals($img->getColorAt($px[0], $px[1]))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public function rotateLeftProvider() 
			 |