summaryrefslogtreecommitdiff
path: root/spec/ruby/library/singleton/load_spec.rb
blob: 4c753f9e7a49d8e61093ce21ce730fd2afaaf580 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
require_relative '../../spec_helper'
require_relative 'fixtures/classes'

# 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