1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

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
This commit is contained in:
eregon 2017-09-20 20:18:52 +00:00
parent 75bfc6440d
commit 1d15d5f080
4370 changed files with 0 additions and 0 deletions

View file

@ -0,0 +1,8 @@
require File.expand_path('../../../spec_helper', __FILE__)
require File.expand_path('../fixtures/classes', __FILE__)
describe "Singleton.allocate" do
it "is a private method" do
lambda { SingletonSpecs::MyClass.allocate }.should raise_error(NoMethodError)
end
end

View file

@ -0,0 +1,8 @@
require File.expand_path('../../../spec_helper', __FILE__)
require File.expand_path('../fixtures/classes', __FILE__)
describe "Singleton#clone" do
it "is prevented" do
lambda { SingletonSpecs::MyClass.instance.clone }.should raise_error(TypeError)
end
end

View file

@ -0,0 +1,14 @@
require File.expand_path('../../../spec_helper', __FILE__)
require File.expand_path('../fixtures/classes', __FILE__)
describe "Singleton#_dump" do
it "returns an empty string" do
SingletonSpecs::MyClass.instance.send(:_dump).should == ""
end
it "returns an empty string from a singleton subclass" do
SingletonSpecs::MyClassChild.instance.send(:_dump).should == ""
end
end

View file

@ -0,0 +1,8 @@
require File.expand_path('../../../spec_helper', __FILE__)
require File.expand_path('../fixtures/classes', __FILE__)
describe "Singleton#dup" do
it "is prevented" do
lambda { SingletonSpecs::MyClass.instance.dup }.should raise_error(TypeError)
end
end

View file

@ -0,0 +1,18 @@
require 'singleton'
module SingletonSpecs
class MyClass
attr_accessor :data
include Singleton
end
class NewSpec
include Singleton
end
class MyClassChild < MyClass
end
class NotInstantiated < MyClass
end
end

View file

@ -0,0 +1,30 @@
require File.expand_path('../../../spec_helper', __FILE__)
require File.expand_path('../fixtures/classes', __FILE__)
describe "Singleton.instance" do
it "returns an instance of the singleton class" do
SingletonSpecs::MyClass.instance.should be_kind_of(SingletonSpecs::MyClass)
end
it "returns the same instance for multiple calls to instance" do
SingletonSpecs::MyClass.instance.should equal(SingletonSpecs::MyClass.instance)
end
it "returns an instance of the singleton's subclasses" do
SingletonSpecs::MyClassChild.instance.should be_kind_of(SingletonSpecs::MyClassChild)
end
it "returns the same instance for multiple class to instance on subclasses" do
SingletonSpecs::MyClassChild.instance.should equal(SingletonSpecs::MyClassChild.instance)
end
it "returns an instance of the singleton's clone" do
klone = SingletonSpecs::MyClassChild.clone
klone.instance.should be_kind_of(klone)
end
it "returns the same instance for multiple class to instance on clones" do
klone = SingletonSpecs::MyClassChild.clone
klone.instance.should equal(klone.instance)
end
end

View file

@ -0,0 +1,21 @@
require File.expand_path('../../../spec_helper', __FILE__)
require File.expand_path('../fixtures/classes', __FILE__)
# TODO: change to a.should be_equal(b)
# TODO: write spec for cloning classes and calling private methods
# TODO: write spec for private_methods not showing up via extended
describe "Singleton._load" do
it "returns the singleton instance for anything passed in" do
klass = SingletonSpecs::MyClass
klass._load("").should equal(klass.instance)
klass._load("42").should equal(klass.instance)
klass._load(42).should equal(klass.instance)
end
it "returns the singleton instance for anything passed in to subclass" do
subklass = SingletonSpecs::MyClassChild
subklass._load("").should equal(subklass.instance)
subklass._load("42").should equal(subklass.instance)
subklass._load(42).should equal(subklass.instance)
end
end

View file

@ -0,0 +1,8 @@
require File.expand_path('../../../spec_helper', __FILE__)
require File.expand_path('../fixtures/classes', __FILE__)
describe "Singleton.new" do
it "is a private method" do
lambda { SingletonSpecs::NewSpec.new }.should raise_error(NoMethodError)
end
end