Backed out changeset 5abed7bd3cb7 (bug 838014)

This commit is contained in:
Steve Fink 2013-02-07 17:06:14 -08:00
parent 0daf6fbd05
commit bc89b342d3
4 changed files with 18 additions and 19 deletions

View File

@ -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)

View File

@ -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;
} }

View File

@ -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;
} }

View File

@ -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, " +