aboutsummaryrefslogtreecommitdiffstats
path: root/spec/ruby/library/singleton/load_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/library/singleton/load_spec.rb')
-rw-r--r--spec/ruby/library/singleton/load_spec.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/spec/ruby/library/singleton/load_spec.rb b/spec/ruby/library/singleton/load_spec.rb
new file mode 100644
index 0000000000..fa5868693b
--- /dev/null
+++ b/spec/ruby/library/singleton/load_spec.rb
@@ -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