Susumu Yata
null+****@clear*****
Tue Sep 12 16:10:49 JST 2017
Susumu Yata 2017-09-12 16:10:49 +0900 (Tue, 12 Sep 2017) New Revision: 4176a933ae45ff7abb3235e46801b599535088e4 https://github.com/groonga/grnci/commit/4176a933ae45ff7abb3235e46801b599535088e4 Message: Simplify DB.Normalize. Ref: #42 Modified files: v2/db.go v2/libgrn/db_test.go Modified: v2/db.go (+9 -10) =================================================================== --- v2/db.go 2017-09-12 16:05:13 +0900 (9106f3e) +++ v2/db.go 2017-09-12 16:10:49 +0900 (1d1977f) @@ -965,7 +965,7 @@ type DBNormalizedText struct { } // Normalize executes normalize. -func (db *DB) Normalize(normalizer, str string, flags []string) (*DBNormalizedText, Response, error) { +func (db *DB) Normalize(normalizer, str string, flags []string) (*DBNormalizedText, error) { params := map[string]interface{}{ "normalizer": normalizer, "string": str, @@ -975,23 +975,22 @@ func (db *DB) Normalize(normalizer, str string, flags []string) (*DBNormalizedTe } resp, err := db.Invoke("normalize", params, nil) if err != nil { - return nil, nil, err + return nil, err } defer resp.Close() jsonData, err := ioutil.ReadAll(resp) if err != nil { - return nil, resp, err + return nil, err } var result DBNormalizedText - if err := json.Unmarshal(jsonData, &result); err != nil { - if resp.Err() != nil { - return nil, resp, nil + if len(jsonData) != 0 { + if err := json.Unmarshal(jsonData, &result); err != nil { + return nil, NewError(ResponseError, "json.Unmarshal failed.", map[string]interface{}{ + "error": err.Error(), + }) } - return nil, resp, NewError(ResponseError, "json.Unmarshal failed.", map[string]interface{}{ - "error": err.Error(), - }) } - return &result, resp, nil + return &result, resp.Err() } // DBNormalizer is a result of tokenizer_list. Modified: v2/libgrn/db_test.go (+3 -13) =================================================================== --- v2/libgrn/db_test.go 2017-09-12 16:05:13 +0900 (8cd15fa) +++ v2/libgrn/db_test.go 2017-09-12 16:10:49 +0900 (a28c0df) @@ -623,10 +623,7 @@ func TestDBNormalize(t *testing.T) { db, dir := makeDB(t) defer removeDB(db, dir) - result, resp, err := db.Normalize("NormalizerAuto", "ウォーター Two \t\r\n㍑", nil) - if err == nil { - err = resp.Err() - } + result, err := db.Normalize("NormalizerAuto", "ウォーター Two \t\r\n㍑", nil) if err != nil { t.Fatalf("db.Tokenize failed: %v", err) } @@ -645,11 +642,7 @@ func TestDBNormalizeInvalidNormalizer(t *testing.T) { db, dir := makeDB(t) defer removeDB(db, dir) - _, resp, err := db.Normalize("", "ウォーター Two \t\r\n㍑", nil) - if err != nil { - t.Fatalf("db.Normalize failed: %v", err) - } - if resp.Err() == nil { + if _, err := db.Normalize("", "ウォーター Two \t\r\n㍑", nil); err == nil { t.Fatalf("db.Normalize wrongly succeeded") } } @@ -659,10 +652,7 @@ func TestDBNormalizeWithFlags(t *testing.T) { defer removeDB(db, dir) flags := []string{"WITH_TYPES", "WITH_CHECKS"} - result, resp, err := db.Normalize("NormalizerAuto", "ウォーター Two \t\r\n㍑", flags) - if err == nil { - err = resp.Err() - } + result, err := db.Normalize("NormalizerAuto", "ウォーター Two \t\r\n㍑", flags) if err != nil { t.Fatalf("db.Tokenize failed: %v", err) } -------------- next part -------------- HTML����������������������������... URL: https://lists.osdn.me/mailman/archives/groonga-commit/attachments/20170912/f7a527a4/attachment-0001.htm