diff options
author | Shraya Ramani <shraya.ramani@10gen.com> | 2015-08-11 17:52:49 -0400 |
---|---|---|
committer | Shraya Ramani <shraya.ramani@10gen.com> | 2015-08-17 14:41:18 -0400 |
commit | 4ae50163a8af7d52d0ce199003977443d70d8da3 (patch) | |
tree | 9ea713a52f1cd35b8bf75f17f00a53dd9af8cd15 | |
parent | 7588eb887549bd5d2fc7bbc08f7c62d4b29b9d75 (diff) | |
download | mongo-4ae50163a8af7d52d0ce199003977443d70d8da3.tar.gz |
TOOLS-848 fix for exporting regexes
-rw-r--r-- | common/json/json_format.go | 8 | ||||
-rw-r--r-- | test/qa-tests/jstests/import/import_types.js | 1 | ||||
-rw-r--r-- | test/qa-tests/jstests/import/testdata/types.json | 3 |
3 files changed, 9 insertions, 3 deletions
diff --git a/common/json/json_format.go b/common/json/json_format.go index b6abff535dd..4db0cacddfa 100644 --- a/common/json/json_format.go +++ b/common/json/json_format.go @@ -137,8 +137,12 @@ func (o ObjectId) MarshalJSON() ([]byte, error) { } func (r RegExp) MarshalJSON() ([]byte, error) { - data := fmt.Sprintf(`{ "$regex": "%v", "$options": "%v" }`, - r.Pattern, r.Options) + pattern, err := Marshal(r.Pattern) + if err != nil { + return nil, err + } + data := fmt.Sprintf(`{ "$regex": %v, "$options": "%v" }`, + string(pattern), r.Options) return []byte(data), nil } diff --git a/test/qa-tests/jstests/import/import_types.js b/test/qa-tests/jstests/import/import_types.js index d3a0b370eaf..e192ab9b52e 100644 --- a/test/qa-tests/jstests/import/import_types.js +++ b/test/qa-tests/jstests/import/import_types.js @@ -43,6 +43,7 @@ "number_long_type" :18, "minkey_type" : -1, "maxkey_type" : 127, + "regex_type" : 11, }; diff --git a/test/qa-tests/jstests/import/testdata/types.json b/test/qa-tests/jstests/import/testdata/types.json index 5975248b245..9a0cf0f3946 100644 --- a/test/qa-tests/jstests/import/testdata/types.json +++ b/test/qa-tests/jstests/import/testdata/types.json @@ -22,5 +22,6 @@ "int64_negative_type" : -214748364765, "number_long_type" : NumberLong(5000), "minkey_type" : { "$minKey" : 1 }, - "maxkey_type" : { "$maxKey" : 1 } + "maxkey_type" : { "$maxKey" : 1 }, + "regex_type" : { "$regex" : "\\.", "$options" : "" } } } |