mirror of
https://github.com/status-im/realm-js.git
synced 2025-01-11 14:54:33 +00:00
test setting all primitive types to null/undefined throw
This commit is contained in:
parent
ce682c3f70
commit
ac544205a1
@ -128,6 +128,12 @@ static inline JSObjectRef RJSValidatedValueToFunction(JSContextRef ctx, JSValueR
|
|||||||
|
|
||||||
static inline double RJSValidatedValueToNumber(JSContextRef ctx, JSValueRef value) {
|
static inline double RJSValidatedValueToNumber(JSContextRef ctx, JSValueRef value) {
|
||||||
JSValueRef exception = NULL;
|
JSValueRef exception = NULL;
|
||||||
|
if (JSValueIsUndefined(ctx, value)) {
|
||||||
|
throw std::invalid_argument("`undefined` is not a number.");
|
||||||
|
}
|
||||||
|
if (JSValueIsNull(ctx, value)) {
|
||||||
|
throw std::invalid_argument("`null` is not a number.");
|
||||||
|
}
|
||||||
double number = JSValueToNumber(ctx, value, &exception);
|
double number = JSValueToNumber(ctx, value, &exception);
|
||||||
if (exception) {
|
if (exception) {
|
||||||
throw RJSException(ctx, exception);
|
throw RJSException(ctx, exception);
|
||||||
|
@ -73,10 +73,52 @@ module.exports = BaseTest.extend({
|
|||||||
TestCase.assertThrows(function() {
|
TestCase.assertThrows(function() {
|
||||||
obj.boolCol = 'cat';
|
obj.boolCol = 'cat';
|
||||||
});
|
});
|
||||||
|
|
||||||
TestCase.assertThrows(function() {
|
TestCase.assertThrows(function() {
|
||||||
obj.intCol = 'dog';
|
obj.intCol = 'dog';
|
||||||
});
|
});
|
||||||
|
|
||||||
|
TestCase.assertThrows(function() {
|
||||||
|
obj.boolCol = null;
|
||||||
|
});
|
||||||
|
TestCase.assertThrows(function() {
|
||||||
|
obj.boolCol = undefined;
|
||||||
|
});
|
||||||
|
TestCase.assertThrows(function() {
|
||||||
|
obj.intCol = null;
|
||||||
|
});
|
||||||
|
TestCase.assertThrows(function() {
|
||||||
|
obj.intCol = undefined;
|
||||||
|
});
|
||||||
|
TestCase.assertThrows(function() {
|
||||||
|
obj.floatCol = null;
|
||||||
|
});
|
||||||
|
TestCase.assertThrows(function() {
|
||||||
|
obj.floatCol = undefined;
|
||||||
|
});
|
||||||
|
TestCase.assertThrows(function() {
|
||||||
|
obj.doubleCol = null;
|
||||||
|
});
|
||||||
|
TestCase.assertThrows(function() {
|
||||||
|
obj.doubleCol = undefined;
|
||||||
|
});
|
||||||
|
TestCase.assertThrows(function() {
|
||||||
|
obj.stringCol = null;
|
||||||
|
});
|
||||||
|
TestCase.assertThrows(function() {
|
||||||
|
obj.stringCol = undefined;
|
||||||
|
});
|
||||||
|
TestCase.assertThrows(function() {
|
||||||
|
obj.dateCol = null;
|
||||||
|
});
|
||||||
|
TestCase.assertThrows(function() {
|
||||||
|
obj.dateCol = undefined;
|
||||||
|
});
|
||||||
|
TestCase.assertThrows(function() {
|
||||||
|
obj.dataCol = null;
|
||||||
|
});
|
||||||
|
TestCase.assertThrows(function() {
|
||||||
|
obj.dataCol = undefined;
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
TestCase.assertThrows(function() {
|
TestCase.assertThrows(function() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user