require_relative '../../spec_helper' require_relative 'fixtures/common' describe "BasicObject" do it "raises NoMethodError for nonexistent methods after #method_missing is removed" do script = fixture __FILE__, "remove_method_missing.rb" ruby_exe(script).chomp.should == "NoMethodError" end it "raises NameError when referencing built-in constants" do -> { class BasicObjectSpecs::BOSubclass; Kernel; end }.should raise_error(NameError) end it "does not define built-in constants (according to const_defined?)" do BasicObject.const_defined?(:Kernel).should be_false end it "does not define built-in constants (according to defined?)" do BasicObjectSpecs::BOSubclass.kernel_defined?.should be_nil end it "is included in Object's list of constants" do Object.constants(false).should include(:BasicObject) end it "includes itself in its list of constants" do BasicObject.constants(false).should include(:BasicObject) end end describe "BasicObject metaclass" do before :each do @meta = class << BasicObject; self; end end it "is an instance of Class" do @meta.should be_an_instance_of(Class) end it "has Class as superclass" do @meta.superclass.should equal(Class) end it "contains methods for the BasicObject class" do @meta.class_eval do def rubyspec_test_method() :test end end BasicObject.rubyspec_test_method.should == :test end end describe "BasicObject instance metaclass" do before :each do @object = BasicObject.new @meta = class << @object; self; end end it "is an instance of Class" do @meta.should be_an_instance_of(Class) end it "has BasicObject as superclass" do @meta.superclass.should equal(BasicObject) end it "contains methods defined for the BasicObject instance" do @meta.class_eval do def test_method() :test end end @object.test_method.should == :test end end describe "BasicObject subclass" do it "contains Kernel methods when including Kernel" do obj = BasicObjectSpecs::BOSubclass.new obj.instance_variable_set(:@test, :value) obj.instance_variable_get(:@test).should == :value obj.respond_to?(:hash).should == true end describe "BasicObject references" do it "can refer to BasicObject from within itself" do -> { BasicObject::BasicObject }.should_not raise_error end end end t' action='/ruby.git/log/ext/Setup'>
path: root/ext/Setup
AgeCommit message (Collapse)Author
2020-06-19Removed sdbm entries from toolchaninsHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/3234
2017-04-20Removed deprecated extensions of mathn.hsbt
* ext/mathn/{complex,rational}: Removed from ruby core. [fix GH-1542][Feature #13334][ruby-core:80247] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-09* ext/tk: Tk is removed from stdlib. [Feature #8539]naruse
https://github.com/ruby/tk is the new upstream. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-30ext/thread: removenobu
* ext/thread: removed dummy extension library. thread_sync.c provides "thread.rb" already. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-20cgi/escape: Optimize CGI.escapeHTMLnobu
* cgi/escape/escape.c: Optimize CGI.escapeHTML for ASCII-compatible encodings. [Fix GH-1164] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-24ext/Setup: updatenobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-31* ext/dl/*: remove DL as it is replaced by Fiddle.tenderlove
[Feature #5458] Thanks to Jonan Scheffler <jonanscheffler@gmail.com> for this patch * test/dl/*: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e