mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Backed out changeset 5abed7bd3cb7 (bug 838014)
This commit is contained in:
parent
0daf6fbd05
commit
bc89b342d3
@ -33,21 +33,21 @@ BEGIN_TEST(testArrayBuffer_bug720949_steal)
|
|||||||
JS::HandleObject obj = testBuf[i];
|
JS::HandleObject obj = testBuf[i];
|
||||||
JS::HandleObject view = testArray[i];
|
JS::HandleObject view = testArray[i];
|
||||||
uint32_t size = sizes[i];
|
uint32_t size = sizes[i];
|
||||||
js::RootedValue v(cx);
|
jsval v;
|
||||||
|
|
||||||
// Byte lengths should all agree
|
// Byte lengths should all agree
|
||||||
CHECK(JS_IsArrayBufferObject(obj));
|
CHECK(JS_IsArrayBufferObject(obj));
|
||||||
CHECK_EQUAL(JS_GetArrayBufferByteLength(obj), size);
|
CHECK_EQUAL(JS_GetArrayBufferByteLength(obj), size);
|
||||||
JS_GetProperty(cx, obj, "byteLength", v.address());
|
JS_GetProperty(cx, obj, "byteLength", &v);
|
||||||
CHECK_SAME(v, INT_TO_JSVAL(size));
|
CHECK_SAME(v, INT_TO_JSVAL(size));
|
||||||
JS_GetProperty(cx, view, "byteLength", v.address());
|
JS_GetProperty(cx, view, "byteLength", &v);
|
||||||
CHECK_SAME(v, INT_TO_JSVAL(size));
|
CHECK_SAME(v, INT_TO_JSVAL(size));
|
||||||
|
|
||||||
// Modifying the underlying data should update the value returned through the view
|
// Modifying the underlying data should update the value returned through the view
|
||||||
uint8_t *data = JS_GetArrayBufferData(obj);
|
uint8_t *data = JS_GetArrayBufferData(obj);
|
||||||
CHECK(data != NULL);
|
CHECK(data != NULL);
|
||||||
*reinterpret_cast<uint32_t*>(data) = MAGIC_VALUE_2;
|
*reinterpret_cast<uint32_t*>(data) = MAGIC_VALUE_2;
|
||||||
CHECK(JS_GetElement(cx, view, 0, v.address()));
|
CHECK(JS_GetElement(cx, view, 0, &v));
|
||||||
CHECK_SAME(v, INT_TO_JSVAL(MAGIC_VALUE_2));
|
CHECK_SAME(v, INT_TO_JSVAL(MAGIC_VALUE_2));
|
||||||
|
|
||||||
// Steal the contents
|
// Steal the contents
|
||||||
@ -58,17 +58,17 @@ BEGIN_TEST(testArrayBuffer_bug720949_steal)
|
|||||||
|
|
||||||
// Check that the original ArrayBuffer is neutered
|
// Check that the original ArrayBuffer is neutered
|
||||||
CHECK_EQUAL(JS_GetArrayBufferByteLength(obj), 0);
|
CHECK_EQUAL(JS_GetArrayBufferByteLength(obj), 0);
|
||||||
CHECK(JS_GetProperty(cx, obj, "byteLength", v.address()));
|
CHECK(JS_GetProperty(cx, obj, "byteLength", &v));
|
||||||
CHECK_SAME(v, INT_TO_JSVAL(0));
|
CHECK_SAME(v, INT_TO_JSVAL(0));
|
||||||
CHECK(JS_GetProperty(cx, view, "byteLength", v.address()));
|
CHECK(JS_GetProperty(cx, view, "byteLength", &v));
|
||||||
CHECK_SAME(v, INT_TO_JSVAL(0));
|
CHECK_SAME(v, INT_TO_JSVAL(0));
|
||||||
CHECK(JS_GetProperty(cx, view, "byteOffset", v.address()));
|
CHECK(JS_GetProperty(cx, view, "byteOffset", &v));
|
||||||
CHECK_SAME(v, INT_TO_JSVAL(0));
|
CHECK_SAME(v, INT_TO_JSVAL(0));
|
||||||
CHECK(JS_GetProperty(cx, view, "length", v.address()));
|
CHECK(JS_GetProperty(cx, view, "length", &v));
|
||||||
CHECK_SAME(v, INT_TO_JSVAL(0));
|
CHECK_SAME(v, INT_TO_JSVAL(0));
|
||||||
CHECK_EQUAL(JS_GetArrayBufferByteLength(obj), 0);
|
CHECK_EQUAL(JS_GetArrayBufferByteLength(obj), 0);
|
||||||
v = JSVAL_VOID;
|
v = JSVAL_VOID;
|
||||||
JS_GetElement(cx, obj, 0, v.address());
|
JS_GetElement(cx, obj, 0, &v);
|
||||||
CHECK_SAME(v, JSVAL_VOID);
|
CHECK_SAME(v, JSVAL_VOID);
|
||||||
|
|
||||||
// Transfer to a new ArrayBuffer
|
// Transfer to a new ArrayBuffer
|
||||||
@ -83,7 +83,7 @@ BEGIN_TEST(testArrayBuffer_bug720949_steal)
|
|||||||
data = JS_GetArrayBufferData(dst);
|
data = JS_GetArrayBufferData(dst);
|
||||||
CHECK(data != NULL);
|
CHECK(data != NULL);
|
||||||
CHECK_EQUAL(*reinterpret_cast<uint32_t*>(data), MAGIC_VALUE_2);
|
CHECK_EQUAL(*reinterpret_cast<uint32_t*>(data), MAGIC_VALUE_2);
|
||||||
CHECK(JS_GetElement(cx, dstview, 0, v.address()));
|
CHECK(JS_GetElement(cx, dstview, 0, &v));
|
||||||
CHECK_SAME(v, INT_TO_JSVAL(MAGIC_VALUE_2));
|
CHECK_SAME(v, INT_TO_JSVAL(MAGIC_VALUE_2));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -162,8 +162,8 @@ BEGIN_TEST(testArrayBuffer_bug720949_viewList)
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool isNeutered(JS::HandleObject obj) {
|
bool isNeutered(JS::HandleObject obj) {
|
||||||
js::RootedValue v(cx);
|
JS::Value v;
|
||||||
return JS_GetProperty(cx, obj, "byteLength", v.address()) && v.toInt32() == 0;
|
return JS_GetProperty(cx, obj, "byteLength", &v) && v.toInt32() == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
END_TEST(testArrayBuffer_bug720949_viewList)
|
END_TEST(testArrayBuffer_bug720949_viewList)
|
||||||
|
@ -10,11 +10,11 @@
|
|||||||
|
|
||||||
BEGIN_TEST(testDeepFreeze_bug535703)
|
BEGIN_TEST(testDeepFreeze_bug535703)
|
||||||
{
|
{
|
||||||
js::RootedValue v(cx);
|
jsval v;
|
||||||
EVAL("var x = {}; x;", v.address());
|
EVAL("var x = {}; x;", &v);
|
||||||
js::RootedObject obj(cx, JSVAL_TO_OBJECT(v));
|
js::RootedObject obj(cx, JSVAL_TO_OBJECT(v));
|
||||||
CHECK(JS_DeepFreezeObject(cx, obj)); // don't crash
|
CHECK(JS_DeepFreezeObject(cx, obj)); // don't crash
|
||||||
EVAL("Object.isFrozen(x)", v.address());
|
EVAL("Object.isFrozen(x)", &v);
|
||||||
CHECK_SAME(v, JSVAL_TRUE);
|
CHECK_SAME(v, JSVAL_TRUE);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -53,8 +53,8 @@ BEGIN_TEST(testExtendedEq_bug530489)
|
|||||||
CHECK(JS_DefineObject(cx, global, "obj1", clasp, NULL, 0));
|
CHECK(JS_DefineObject(cx, global, "obj1", clasp, NULL, 0));
|
||||||
CHECK(JS_DefineObject(cx, global, "obj2", clasp, NULL, 0));
|
CHECK(JS_DefineObject(cx, global, "obj2", clasp, NULL, 0));
|
||||||
|
|
||||||
js::RootedValue v(cx);
|
jsval v;
|
||||||
EVAL("(function() { var r; for (var i = 0; i < 10; ++i) r = obj1 == obj2; return r; })()", v.address());
|
EVAL("(function() { var r; for (var i = 0; i < 10; ++i) r = obj1 == obj2; return r; })()", &v);
|
||||||
CHECK_SAME(v, JSVAL_TRUE);
|
CHECK_SAME(v, JSVAL_TRUE);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -184,11 +184,10 @@ class JSAPITest
|
|||||||
return false; \
|
return false; \
|
||||||
} while (false)
|
} while (false)
|
||||||
|
|
||||||
bool checkSame(jsval actualArg, jsval expectedArg,
|
bool checkSame(jsval actual, jsval expected,
|
||||||
const char *actualExpr, const char *expectedExpr,
|
const char *actualExpr, const char *expectedExpr,
|
||||||
const char *filename, int lineno) {
|
const char *filename, int lineno) {
|
||||||
JSBool same;
|
JSBool same;
|
||||||
js::RootedValue actual(cx, actualArg), expected(cx, expectedArg);
|
|
||||||
return (JS_SameValue(cx, actual, expected, &same) && same) ||
|
return (JS_SameValue(cx, actual, expected, &same) && same) ||
|
||||||
fail(JSAPITestString("CHECK_SAME failed: expected JS_SameValue(cx, ") +
|
fail(JSAPITestString("CHECK_SAME failed: expected JS_SameValue(cx, ") +
|
||||||
actualExpr + ", " + expectedExpr + "), got !JS_SameValue(cx, " +
|
actualExpr + ", " + expectedExpr + "), got !JS_SameValue(cx, " +
|
||||||
|
Loading…
Reference in New Issue
Block a user