start porting over objc query tests

This commit is contained in:
Ari Lazier 2015-11-16 15:05:50 -08:00
parent 2cc88b5a26
commit 5784bbe6ed
5 changed files with 2204 additions and 2 deletions

View File

@ -62,6 +62,7 @@
02D0F23B1BF6C95200B4FC45 /* binding_context.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 02D0F23A1BF6C95200B4FC45 /* binding_context.hpp */; }; 02D0F23B1BF6C95200B4FC45 /* binding_context.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 02D0F23A1BF6C95200B4FC45 /* binding_context.hpp */; };
02D456DA1B7E59A500EE1299 /* ArrayTests.js in Resources */ = {isa = PBXBuildFile; fileRef = 02D456D91B7E59A500EE1299 /* ArrayTests.js */; }; 02D456DA1B7E59A500EE1299 /* ArrayTests.js in Resources */ = {isa = PBXBuildFile; fileRef = 02D456D91B7E59A500EE1299 /* ArrayTests.js */; };
02D8D1F71B601984006DB49D /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 02B58CCD1AE99D4D009B348C /* JavaScriptCore.framework */; }; 02D8D1F71B601984006DB49D /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 02B58CCD1AE99D4D009B348C /* JavaScriptCore.framework */; };
02E9A9F11BFA84F100939F86 /* QueryTests.js in Resources */ = {isa = PBXBuildFile; fileRef = 02E9A9F01BFA84F100939F86 /* QueryTests.js */; };
F636F6C81BCDB3570023F35C /* RealmReact.h in Headers */ = {isa = PBXBuildFile; fileRef = 0270BCCF1B7D067300010E03 /* RealmReact.h */; settings = {ATTRIBUTES = (Public, ); }; }; F636F6C81BCDB3570023F35C /* RealmReact.h in Headers */ = {isa = PBXBuildFile; fileRef = 0270BCCF1B7D067300010E03 /* RealmReact.h */; settings = {ATTRIBUTES = (Public, ); }; };
F64426C51BCDB1E200A81210 /* RealmJS.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 02B58CB11AE99CEC009B348C /* RealmJS.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; F64426C51BCDB1E200A81210 /* RealmJS.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 02B58CB11AE99CEC009B348C /* RealmJS.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
F64E1EF11BC3510E00E0E150 /* util.js in Resources */ = {isa = PBXBuildFile; fileRef = F64E1EF01BC3510E00E0E150 /* util.js */; }; F64E1EF11BC3510E00E0E150 /* util.js in Resources */ = {isa = PBXBuildFile; fileRef = F64E1EF01BC3510E00E0E150 /* util.js */; };
@ -222,6 +223,7 @@
02C0864D1BCDB27000942F9C /* list.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = list.hpp; path = "src/object-store/list.hpp"; sourceTree = "<group>"; }; 02C0864D1BCDB27000942F9C /* list.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = list.hpp; path = "src/object-store/list.hpp"; sourceTree = "<group>"; };
02D0F23A1BF6C95200B4FC45 /* binding_context.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = binding_context.hpp; path = "src/object-store/binding_context.hpp"; sourceTree = "<group>"; }; 02D0F23A1BF6C95200B4FC45 /* binding_context.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = binding_context.hpp; path = "src/object-store/binding_context.hpp"; sourceTree = "<group>"; };
02D456D91B7E59A500EE1299 /* ArrayTests.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; name = ArrayTests.js; path = tests/ArrayTests.js; sourceTree = SOURCE_ROOT; }; 02D456D91B7E59A500EE1299 /* ArrayTests.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; name = ArrayTests.js; path = tests/ArrayTests.js; sourceTree = SOURCE_ROOT; };
02E9A9F01BFA84F100939F86 /* QueryTests.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; name = QueryTests.js; path = tests/QueryTests.js; sourceTree = SOURCE_ROOT; };
02EE6D781BD87E310016A82E /* ReactTests.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ReactTests.xcodeproj; path = tests/ReactTests/ios/ReactTests.xcodeproj; sourceTree = "<group>"; }; 02EE6D781BD87E310016A82E /* ReactTests.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ReactTests.xcodeproj; path = tests/ReactTests/ios/ReactTests.xcodeproj; sourceTree = "<group>"; };
F64E1EF01BC3510E00E0E150 /* util.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; name = util.js; path = tests/util.js; sourceTree = SOURCE_ROOT; }; F64E1EF01BC3510E00E0E150 /* util.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; name = util.js; path = tests/util.js; sourceTree = SOURCE_ROOT; };
F68A278A1BC2722A0063D40A /* RJSModuleLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RJSModuleLoader.h; path = tests/RJSModuleLoader.h; sourceTree = SOURCE_ROOT; }; F68A278A1BC2722A0063D40A /* RJSModuleLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RJSModuleLoader.h; path = tests/RJSModuleLoader.h; sourceTree = SOURCE_ROOT; };
@ -367,6 +369,7 @@
F64E1EF01BC3510E00E0E150 /* util.js */, F64E1EF01BC3510E00E0E150 /* util.js */,
02D456D91B7E59A500EE1299 /* ArrayTests.js */, 02D456D91B7E59A500EE1299 /* ArrayTests.js */,
0270BC791B7D020100010E03 /* ObjectTests.js */, 0270BC791B7D020100010E03 /* ObjectTests.js */,
02E9A9F01BFA84F100939F86 /* QueryTests.js */,
0270BC7C1B7D020100010E03 /* RealmTests.js */, 0270BC7C1B7D020100010E03 /* RealmTests.js */,
0270BC7D1B7D020100010E03 /* ResultsTests.js */, 0270BC7D1B7D020100010E03 /* ResultsTests.js */,
0270BC7A1B7D020100010E03 /* RealmJSTests.h */, 0270BC7A1B7D020100010E03 /* RealmJSTests.h */,
@ -623,6 +626,7 @@
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
F64E1EF11BC3510E00E0E150 /* util.js in Resources */, F64E1EF11BC3510E00E0E150 /* util.js in Resources */,
02E9A9F11BFA84F100939F86 /* QueryTests.js in Resources */,
0270BC851B7D020100010E03 /* asserts.js in Resources */, 0270BC851B7D020100010E03 /* asserts.js in Resources */,
0270BC811B7D020100010E03 /* ObjectTests.js in Resources */, 0270BC811B7D020100010E03 /* ObjectTests.js in Resources */,
02D456DA1B7E59A500EE1299 /* ArrayTests.js in Resources */, 02D456DA1B7E59A500EE1299 /* ArrayTests.js in Resources */,

View File

@ -62,10 +62,10 @@ std::string RJSStringForValue(JSContextRef ctx, JSValueRef value) {
std::string RJSValidatedStringForValue(JSContextRef ctx, JSValueRef value, const char * name) { std::string RJSValidatedStringForValue(JSContextRef ctx, JSValueRef value, const char * name) {
if (!JSValueIsString(ctx, value)) { if (!JSValueIsString(ctx, value)) {
if (name) { if (name) {
throw std::invalid_argument((std::string)"'" + name + "' must be of type 'STRING'"); throw std::invalid_argument((std::string)"'" + name + "' must be of type 'String'");
} }
else { else {
throw std::invalid_argument("JSValue must be of type 'STRING'"); throw std::invalid_argument("JSValue must be of type 'String'");
} }
} }

2165
tests/QueryTests.js Normal file

File diff suppressed because it is too large Load Diff

View File

@ -8,6 +8,7 @@ exports.ArrayTests = require('./ArrayTests');
exports.ObjectTests = require('./ObjectTests'); exports.ObjectTests = require('./ObjectTests');
exports.RealmTests = require('./RealmTests'); exports.RealmTests = require('./RealmTests');
exports.ResultsTests = require('./ResultsTests'); exports.ResultsTests = require('./ResultsTests');
exports.QueryTests = require('./QueryTests');
var SPECIAL_METHODS = { var SPECIAL_METHODS = {
beforeEach: true, beforeEach: true,

View File

@ -103,3 +103,35 @@ exports.DefaultValues = {
{name: 'arrayCol', type: Realm.Types.LIST, objectType: 'TestObject', default: [[2]]}, {name: 'arrayCol', type: Realm.Types.LIST, objectType: 'TestObject', default: [[2]]},
] ]
}; };
exports.QueryObject = {
name: 'QueryObject',
properties: [
{name: 'bool1', type: Realm.Types.BOOL},
{name: 'bool2', type: Realm.Types.BOOL},
{name: 'int1', type: Realm.Types.INT},
{name: 'int2', type: Realm.Types.INT},
{name: 'float1', type: Realm.Types.FLOAT},
{name: 'float2', type: Realm.Types.FLOAT},
{name: 'double1', type: Realm.Types.DOUBLE},
{name: 'double2', type: Realm.Types.DOUBLE},
{name: 'string1', type: Realm.Types.STRING},
{name: 'string2', type: Realm.Types.STRING},
]
};
exports.NullQueryObject = {
name: 'NullQueryObject',
properties: [
{name: 'bool1', type: Realm.Types.BOOL},
{name: 'bool2', type: Realm.Types.BOOL},
{name: 'int1', type: Realm.Types.INT},
{name: 'int2', type: Realm.Types.INT},
{name: 'float1', type: Realm.Types.FLOAT},
{name: 'float2', type: Realm.Types.FLOAT},
{name: 'double1', type: Realm.Types.DOUBLE},
{name: 'double2', type: Realm.Types.DOUBLE},
{name: 'string1', type: Realm.Types.STRING},
{name: 'string2', type: Realm.Types.STRING},
]
};