Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(15)

Unified Diff: test/mjsunit/mjsunit.js

Issue 6835021: X64: Use roundsd for DoMathFloor. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 9 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« test/mjsunit/math-floor.js ('K') | « test/mjsunit/math-floor.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/mjsunit/mjsunit.js
diff --git a/test/mjsunit/mjsunit.js b/test/mjsunit/mjsunit.js
index 436bdc8184957fcf3a85f50f77d2a110a9980096..c4ae03843a8aebc74d72638664cf7362e73415bb 100644
--- a/test/mjsunit/mjsunit.js
+++ b/test/mjsunit/mjsunit.js
@@ -31,16 +31,25 @@ function MjsUnitAssertionError(message) {
this.stack = new Error("").stack;
}
-MjsUnitAssertionError.prototype.toString = function () {
- return this.message;
-}
-
/*
* This file is included in all mini jsunit test cases. The test
* framework expects lines that signal failed tests to start with
* the f-word and ignore all other lines.
*/
+
+MjsUnitAssertionError.prototype.toString = function () {
+ return this.message;
+};
+
+
+function classOf(object) {
+ var string = Object.prototype.toString.call(object);
+ // String has format [object <ClassName>].
+ return string.substring(8, string.length - 1);
+}
+
+
function MjsUnitToString(value) {
switch (typeof value) {
case "string":
@@ -54,8 +63,7 @@ function MjsUnitToString(value) {
return String(value);
case "object":
if (value === null) return "null";
- var clazz = Object.prototype.toString.call(value);
- clazz = clazz.substring(8, clazz.length - 1);
+ var clazz = classOf(value);
William Hesse 2011/04/14 08:13:03 object_class? Better than a misspelling.
switch (clazz) {
case "Number":
case "String":
@@ -102,11 +110,13 @@ function fail(expected, found, name_opt) {
function deepObjectEquals(a, b) {
var aProps = [];
- for (var key in a)
+ for (var key in a) {
aProps.push(key);
+ }
var bProps = [];
- for (var key in b)
+ for (key in b) {
bProps.push(key);
+ }
aProps.sort();
bProps.sort();
if (!deepEquals(aProps, bProps))
@@ -129,14 +139,16 @@ function deepEquals(a, b) {
return true;
}
if (a == null || b == null) return false;
- if (a.constructor === RegExp || b.constructor === RegExp) {
- return (a.constructor === b.constructor) && (a.toString() === b.toString());
+ var aClass = classOf(a);
+ var bClass = classOf(b);
+ if (aClass === "RegExp" || bClass === "RegExp") {
+ return (aClass === bClass) && (a.toString() === b.toString());
}
if ((typeof a) !== 'object' || (typeof b) !== 'object' ||
(a === null) || (b === null))
return false;
- if (a.constructor === Array) {
- if (b.constructor !== Array)
+ if (aClass === "Array") {
+ if (bClass !== "Array")
return false;
William Hesse 2011/04/14 08:13:03 What about if a is an Object and b is an Array? {0
if (a.length != b.length)
return false;
« test/mjsunit/math-floor.js ('K') | « test/mjsunit/math-floor.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698