Susumu Yata
null+****@clear*****
Wed Sep 13 18:30:20 JST 2017
Susumu Yata 2017-09-13 18:30:20 +0900 (Wed, 13 Sep 2017) New Revision: 9e4ac72793e425696815333e3dd0a462be1033c6 https://github.com/groonga/grnci/commit/9e4ac72793e425696815333e3dd0a462be1033c6 Message: Add tests for DB.RubyEval. Ref: #39 Modified files: v2/libgrn/db_test.go Modified: v2/libgrn/db_test.go (+32 -0) =================================================================== --- v2/libgrn/db_test.go 2017-09-13 13:45:24 +0900 (bd73775) +++ v2/libgrn/db_test.go 2017-09-13 18:30:20 +0900 (c6e04bb) @@ -773,6 +773,38 @@ true } } +func TestRubyEval(t *testing.T) { + db, dir := makeDB(t) + defer removeDB(db, dir) + + if err := db.PluginRegister("ruby/eval"); err != nil { + t.Skipf("db.PluginRegister failed: %v", err) + } + result, err := db.RubyEval("1 + 2") + if err != nil { + t.Fatalf("db.RubyEval failed: %v", err) + } + value := reflect.ValueOf(result) + if kind, want := value.Kind(), reflect.Float64; kind != want { + t.Fatalf("db.RubyEval failed: kind = %v, want = %v", kind, want) + } + if float, want := value.Float(), 3.0; float != want { + t.Fatalf("db.RubyEval failed: value = %f, want = %f", float, want) + } +} + +func TestRubyEvalInvalidScript(t *testing.T) { + db, dir := makeDB(t) + defer removeDB(db, dir) + + if err := db.PluginRegister("ruby/eval"); err != nil { + t.Skipf("db.PluginRegister failed: %v", err) + } + if _, err := db.RubyEval(""); err == nil { + t.Fatalf("db.RubyEval wrongly succeeded") + } +} + func TestDBSchema(t *testing.T) { db, dir := makeDB(t) defer removeDB(db, dir) -------------- next part -------------- HTML����������������������������... URL: https://lists.osdn.me/mailman/archives/groonga-commit/attachments/20170913/73ae2acd/attachment-0001.htm