mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	 1dafd4ebf1
			
		
	
	
		1dafd4ebf1
		
	
	
	
	
		
			
			test/fiddle/test_c_union_entity.rb, test/fiddle/test_cparser.rb, test/fiddle/test_func.rb, test/fiddle/test_handle.rb, test/fiddle/test_import.rb, test/fiddle/test_pointer.rb: don't run test if the system don't support fiddle. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			34 lines
		
	
	
	
		
			771 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
	
		
			771 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| begin
 | |
|   require_relative 'helper'
 | |
|   require 'fiddle/struct'
 | |
| rescue LoadError
 | |
| end
 | |
| 
 | |
| 
 | |
| module Fiddle
 | |
|   class TestCUnionEntity < TestCase
 | |
|     def test_class_size
 | |
|       size = CUnionEntity.size([TYPE_DOUBLE, TYPE_CHAR])
 | |
| 
 | |
|       assert_equal SIZEOF_DOUBLE, size
 | |
|     end
 | |
| 
 | |
|     def test_class_size_with_count
 | |
|       size = CUnionEntity.size([[TYPE_DOUBLE, 2], [TYPE_CHAR, 20]])
 | |
| 
 | |
|       assert_equal SIZEOF_CHAR * 20, size
 | |
|     end
 | |
| 
 | |
|     def test_set_ctypes
 | |
|       union = CUnionEntity.malloc [TYPE_INT, TYPE_LONG]
 | |
|       union.assign_names %w[int long]
 | |
| 
 | |
|       # this test is roundabout because the stored ctypes are not accessible
 | |
|       union['long'] = 1
 | |
|       assert_equal 1, union['long']
 | |
| 
 | |
|       union['int'] = 1
 | |
|       assert_equal 1, union['int']
 | |
|     end
 | |
|   end
 | |
| end if defined?(Fiddle)
 |