From 2e7e618763ecbe2e4c982c5d7c933e7e17493396 Mon Sep 17 00:00:00 2001 From: "Erik S. Chang" Date: Tue, 1 Dec 2009 23:11:09 +0000 Subject: [PATCH] raise argument errors if a non-string is given to TypeDB.new git-svn-id: https://lwes.svn.sourceforge.net/svnroot/lwes/lwes-ruby/trunk@343 a2f82657-cdd2-4550-bd36-68a8e7111808 --- ext/lwes/type_db.c | 3 +++ test/unit/test_type_db.rb | 3 +++ 2 files changed, 6 insertions(+) diff --git a/ext/lwes/type_db.c b/ext/lwes/type_db.c index 5dbaf5e..31f695e 100644 --- a/ext/lwes/type_db.c +++ b/ext/lwes/type_db.c @@ -26,6 +26,9 @@ static VALUE tdb_init(VALUE self, VALUE path) { struct _tdb *tdb; + if (TYPE(path) != T_STRING) + rb_raise(rb_eArgError, "path must be a string"); + Data_Get_Struct(self, struct _tdb, tdb); if (tdb->db) rb_raise(rb_eRuntimeError, "ESF already initialized"); diff --git a/test/unit/test_type_db.rb b/test/unit/test_type_db.rb index 497ec15..2f2a152 100644 --- a/test/unit/test_type_db.rb +++ b/test/unit/test_type_db.rb @@ -70,4 +70,7 @@ class TestTypeDB < Test::Unit::TestCase assert_equal expect, classes.map { |i| i.to_s } end + def test_invalid_file_arg_error + assert_raises(ArgumentError) { LWES::TypeDB.new(nil) } + end end -- 2.11.4.GIT