From 727fed46f059c1a6775e298ac968da4e0521a58a Mon Sep 17 00:00:00 2001 From: Aaron Pfeifer Date: Mon, 13 Jan 2025 15:46:15 -0500 Subject: [PATCH] Add spec for testing logic branches when use_hashed_arguments is false --- spec/memery_spec.rb | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/spec/memery_spec.rb b/spec/memery_spec.rb index 0c3f44b..9d1e43a 100644 --- a/spec/memery_spec.rb +++ b/spec/memery_spec.rb @@ -153,6 +153,7 @@ class H before { CALLS.clear } before { B_CALLS.clear } + before { Memery.use_hashed_arguments = true } let(:unmemoized_class) do Class.new do @@ -357,6 +358,26 @@ class H end end + context "without hashed arguments" do + before { Memery.use_hashed_arguments = false } + + context "methods without args" do + specify do + values = [ a.m, a.m_nil, a.m, a.m_nil ] + expect(values).to eq([:m, nil, :m, nil]) + expect(CALLS).to eq([:m, nil]) + end + end + + context "method with args" do + specify do + values = [ a.m_args(1, 1), a.m_args(1, 1), a.m_args(1, 2) ] + expect(values).to eq([[1, 1], [1, 1], [1, 2]]) + expect(CALLS).to eq([[1, 1], [1, 2]]) + end + end + end + describe ":condition option" do before do a.environment = environment