Skip to content

Commit e8e146f

Browse files
committed
Test for SplayTree#get when empty
1 parent 90c214a commit e8e146f

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

ext/containers/splaytree_map/splaytree.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,10 @@ static splaytree_node* insert(splaytree *tree, splaytree_node *n, VALUE key, VAL
168168
static VALUE get(splaytree *tree, VALUE key) {
169169
int cmp;
170170
splaytree_node *n;
171-
171+
172+
if (!tree->root)
173+
return Qnil;
174+
172175
n = splay(tree, tree->root, key);
173176
cmp = tree->compare_function(key, n->key);
174177
if (cmp == 0) {

spec/splay_tree_map_spec.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@
1919
it "should return nil for #delete" do
2020
@tree.delete(:non_existing).should be_nil
2121
end
22+
23+
it "should return nil for #get" do
24+
@tree[4235].should be_nil
25+
end
2226
end
2327

2428
describe "non-empty splaytree", :shared => true do

0 commit comments

Comments
 (0)