mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	 1d15d5f080
			
		
	
	
		1d15d5f080
		
	
	
	
	
		
			
			* Other ruby implementations use the spec/ruby directory. [Misc #13792] [ruby-core:82287] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			136 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			136 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| module ClassSpecs
 | |
| 
 | |
|   def self.sclass_with_block
 | |
|     class << self
 | |
|       yield
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   def self.sclass_with_return
 | |
|     class << self
 | |
|       return :inner
 | |
|     end
 | |
|     return :outer
 | |
|   end
 | |
| 
 | |
|   class A; end
 | |
| 
 | |
|   def self.string_class_variables(obj)
 | |
|     obj.class_variables.map { |x| x.to_s }
 | |
|   end
 | |
| 
 | |
|   def self.string_instance_variables(obj)
 | |
|     obj.instance_variables.map { |x| x.to_s }
 | |
|   end
 | |
| 
 | |
|   class B
 | |
|     @@cvar = :cvar
 | |
|     @ivar = :ivar
 | |
| 
 | |
|   end
 | |
| 
 | |
|   class C
 | |
|     def self.make_class_variable
 | |
|       @@cvar = :cvar
 | |
|     end
 | |
| 
 | |
|     def self.make_class_instance_variable
 | |
|       @civ = :civ
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   class D
 | |
|     def make_class_variable
 | |
|       @@cvar = :cvar
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   class E
 | |
|     def self.cmeth() :cmeth end
 | |
|     def meth() :meth end
 | |
| 
 | |
|     class << self
 | |
|       def smeth() :smeth end
 | |
|     end
 | |
| 
 | |
|     CONSTANT = :constant!
 | |
|   end
 | |
| 
 | |
|   class F; end
 | |
|   class F
 | |
|     def meth() :meth end
 | |
|   end
 | |
|   class F
 | |
|     def another() :another end
 | |
|   end
 | |
| 
 | |
|   class G
 | |
|     def override() :nothing end
 | |
|     def override() :override end
 | |
|   end
 | |
| 
 | |
|   class Container
 | |
|     class A; end
 | |
|     class B; end
 | |
|   end
 | |
| 
 | |
|   O = Object.new
 | |
|   class << O
 | |
|     def smeth
 | |
|       :smeth
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   class H
 | |
|     def self.inherited(sub)
 | |
|       track_inherited << sub
 | |
|     end
 | |
| 
 | |
|     def self.track_inherited
 | |
|       @inherited_modules ||= []
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   class K < H; end
 | |
| 
 | |
|   class I
 | |
|     class J < self
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   class K
 | |
|     def example_instance_method
 | |
|     end
 | |
|     def self.example_class_method
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   class L; end
 | |
| 
 | |
|   class M < L; end
 | |
| 
 | |
|   # Can't use a method here because of class definition in method body error
 | |
|   ANON_CLASS_FOR_NEW = lambda do
 | |
|     Class.new do
 | |
|       class NamedInModule
 | |
|       end
 | |
| 
 | |
|       def self.get_class_name
 | |
|         NamedInModule.name
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| end
 | |
| 
 | |
| class Class
 | |
|   def example_instance_method_of_class; end
 | |
|   def self.example_class_method_of_class; end
 | |
| end
 | |
| class << Class
 | |
|   def example_instance_method_of_singleton_class; end
 | |
|   def self.example_class_method_of_singleton_class; end
 | |
| end
 | |
| class Object
 | |
|   def example_instance_method_of_object; end
 | |
|   def self.example_class_method_of_object; end
 | |
| end
 |