summaryrefslogtreecommitdiff
path: root/spec/logic/helpers/hash_spec.rb
diff options
context:
space:
mode:
authoricebaker <113217272+icebaker@users.noreply.github.com>2024-01-10 22:02:42 -0300
committerGitHub <noreply@github.com>2024-01-10 22:02:42 -0300
commit50677c9b2ab6ce8f6fe232834f139f1e16f0e079 (patch)
tree866218debc763547818de0099098bc5fe2ae29c7 /spec/logic/helpers/hash_spec.rb
parent819381e7bd3e3ca5d310ad0a29b6925dcfa26720 (diff)
parentaabf3d9b711f66fe4195a8c850856826c7ad5580 (diff)
Merge pull request #15 from icebaker/ib-markdown
Adding support to Markdown Cartridges
Diffstat (limited to 'spec/logic/helpers/hash_spec.rb')
-rw-r--r--spec/logic/helpers/hash_spec.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/spec/logic/helpers/hash_spec.rb b/spec/logic/helpers/hash_spec.rb
index 09012c8..0da92fb 100644
--- a/spec/logic/helpers/hash_spec.rb
+++ b/spec/logic/helpers/hash_spec.rb
@@ -7,7 +7,24 @@ RSpec.describe NanoBot::Logic::Helpers::Hash do
expect(described_class.symbolize_keys({ 'a' => 'b', 'c' => { 'd' => ['e'] } })).to eq(
{ a: 'b', c: { d: ['e'] } }
)
+ end
+
+ it 'deep merges' do
+ expect(described_class.deep_merge(
+ { a: { x: 1, y: 2 }, b: 3 },
+ { a: { y: 99, z: 4 }, c: 5 }
+ )).to eq(
+ { a: { x: 1, y: 99, z: 4 }, b: 3, c: 5 }
+ )
+ end
+
+ it 'stringify keys' do
+ expect(described_class.stringify_keys({ a: 'b', c: { d: [:e] } })).to eq(
+ { 'a' => 'b', 'c' => { 'd' => [:e] } }
+ )
+ end
+ it 'fetch a path of keys' do
expect(described_class.fetch({ a: 'b', c: { d: ['e'] } }, %i[c d])).to eq(
['e']
)