Sha256: d5ae18fe93bebd501a8c9163e83e5c26fa1a0d9c60088c91d8e851ff59096b71

Contents?: true

Size: 1.47 KB

Versions: 1

Compression:

Stored size: 1.47 KB

Contents

require_relative "helper"

# Creating namespaces.
scope do
  test "return the namespace" do
    n1 = Nest.new("foo", Redic.new)
    assert "foo" == n1.to_s
  end

  test "prepend the namespace" do
    n1 = Nest.new("foo")
    assert "foo:bar" == n1["bar"].to_s
  end

  test "work in more than one level" do
    n1 = Nest.new("foo")
    n2 = Nest.new(n1["bar"])
    assert "foo:bar:baz" == n2["baz"].to_s
  end

  test "be chainable" do
    n1 = Nest.new("foo")
    assert "foo:bar:baz" == n1["bar"]["baz"].to_s
  end

  test "accept symbols" do
    n1 = Nest.new(:foo)
    assert "foo:bar" == n1[:bar].to_s
  end

  test "accept numbers" do
    n1 = Nest.new("foo")
    assert "foo:3" == n1[3].to_s
  end
end

# Operating with Redis.
scope do
  prepare do
    @redis = Redic.new
    @redis.call("FLUSHDB")
  end

  test "work if no redis instance was passed" do
    n1 = Nest.new("foo")
    n1.call("SET", "s1")

    assert "s1" == n1.call("GET")
  end

  test "work if a redis instance is supplied" do
    n1 = Nest.new("foo", @redis)
    n1.call("SET", "s1")

    assert "s1" == n1.call("GET")
  end

  test "pass the redis instance to new keys" do
    n1 = Nest.new("foo", @redis)

    assert @redis.object_id == n1["bar"].redis.object_id
  end
end


# Operating with Redis with dynamic methods.
scope do
  prepare do
    @redis = Redic.new
    @redis.call("FLUSHDB")
  end

  test "relay missing methods as Redis commands" do
    n1 = Nest.new("foo")
    n1.set("s1")

    assert "s1" == n1.get
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
nest-3.1.0 test/nest_test.rb