forked from LeenkxTeam/LNXSDK
		
	
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
package tests;
 | 
						|
import externs.RGB;
 | 
						|
 | 
						|
class TestRgb extends haxe.unit.TestCase
 | 
						|
{
 | 
						|
   public function testCreate()
 | 
						|
   {
 | 
						|
      // Pointer-like sysntax
 | 
						|
      var rgbPtr = RGB.create(255,0,128);
 | 
						|
      assertTrue( rgbPtr.ptr.toInt() == 0xff0080 );
 | 
						|
      rgbPtr.ptr.deleteMe();
 | 
						|
 | 
						|
 | 
						|
      // Structure-like syntax
 | 
						|
      var rgbStruct:RGBStruct = null;
 | 
						|
      rgbStruct.r = 1;
 | 
						|
      rgbStruct = null;
 | 
						|
      rgbStruct.r = 1;
 | 
						|
      rgbStruct.g = 2;
 | 
						|
      rgbStruct.b = 3;
 | 
						|
      assertTrue( rgbStruct.toInt() == 0x010203 );
 | 
						|
      // Store in dynamic
 | 
						|
      var d:Dynamic = rgbStruct;
 | 
						|
      
 | 
						|
      // Reference (pointer) like syntax
 | 
						|
      var rgbRef:RGBRef = rgbStruct;
 | 
						|
      rgbRef.g = 255;
 | 
						|
      assertTrue( rgbStruct.toInt() == 0x01ff03 );
 | 
						|
 | 
						|
      // Get from dynamic
 | 
						|
      rgbStruct = d;
 | 
						|
      assertTrue( rgbStruct.toInt() == 0x010203 );
 | 
						|
 | 
						|
      var rgbStruct2:RGBStruct = cast rgbRef;
 | 
						|
      assertTrue( rgbStruct2.toInt() == 0x010203 );
 | 
						|
 | 
						|
      // Reference refers to rgbStruct, not rgbStruct2
 | 
						|
      rgbRef.b = 0;
 | 
						|
      assertTrue( rgbStruct2.toInt() == 0x010203 );
 | 
						|
      assertTrue( rgbStruct.toInt() == 0x010200 );
 | 
						|
 | 
						|
      
 | 
						|
      // TODO - non-dynamic versions
 | 
						|
      var d2:Dynamic = rgbStruct2;
 | 
						|
      // == dynamic
 | 
						|
      assertTrue( d2==d );
 | 
						|
      // != dynamic
 | 
						|
      var d0:Dynamic = rgbStruct;
 | 
						|
      assertTrue( d0!=d );
 | 
						|
 | 
						|
   }
 | 
						|
}
 | 
						|
 |