diff options
author | eregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-09-20 20:18:52 +0000 |
---|---|---|
committer | eregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-09-20 20:18:52 +0000 |
commit | 1d15d5f08032acf1b7bceacbb450d617ff6e0931 (patch) | |
tree | a3785a79899302bc149e4a6e72f624ac27dc1f10 /spec/ruby/fixtures/class.rb | |
parent | 75bfc6440d595bf339007f4fb280fd4d743e89c1 (diff) |
Move spec/rubyspec to spec/ruby for consistency
* 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
Diffstat (limited to 'spec/ruby/fixtures/class.rb')
-rw-r--r-- | spec/ruby/fixtures/class.rb | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/spec/ruby/fixtures/class.rb b/spec/ruby/fixtures/class.rb new file mode 100644 index 0000000000..9609eb6f3c --- /dev/null +++ b/spec/ruby/fixtures/class.rb @@ -0,0 +1,136 @@ +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 |