summaryrefslogtreecommitdiff
path: root/js/src/jit-test/tests/tracelogger/setupTraceLogger.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/tracelogger/setupTraceLogger.js')
-rw-r--r--js/src/jit-test/tests/tracelogger/setupTraceLogger.js70
1 files changed, 70 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/tracelogger/setupTraceLogger.js b/js/src/jit-test/tests/tracelogger/setupTraceLogger.js
new file mode 100644
index 0000000000..1c409739d8
--- /dev/null
+++ b/js/src/jit-test/tests/tracelogger/setupTraceLogger.js
@@ -0,0 +1,70 @@
+
+var du = new Debugger();
+if (typeof du.setupTraceLogger == "function") {
+
+ // Try enabling.
+ assertEq(du.setupTraceLogger({
+ Scripts: true
+ }), true);
+
+ // No fail on re-enabling.
+ assertEq(du.setupTraceLogger({
+ Scripts: true
+ }), true);
+
+ // Try disabling.
+ assertEq(du.setupTraceLogger({
+ Scripts: false
+ }), true);
+
+ // No fail on re-disabling.
+ assertEq(du.setupTraceLogger({
+ Scripts: false
+ }), true);
+
+ // Throw exception if TraceLog item to report isn't found.
+ var success = du.setupTraceLogger({
+ Scripts: false,
+ Test: true
+ });
+ assertEq(success, false);
+
+ // SetupTraceLogger only enables individual items,
+ // when all items can be toggled.
+ du.startTraceLogger();
+ var obj = du.drainTraceLogger();
+ du.setupTraceLogger({
+ Scripts: true,
+ Test: true,
+ });
+ assertEq(du.drainTraceLogger().length, 0);
+ du.endTraceLogger();
+
+ // Expects an object as first argument.
+ succes = du.setupTraceLogger("blaat");
+ assertEq(succes, false);
+
+ // Expects an object as first argument.
+ succes = du.setupTraceLogger("blaat");
+ assertEq(succes, false);
+
+ // Expects an object as first argument.
+ failed = false;
+ try {
+ du.setupTraceLogger();
+ } catch (e) {
+ failed = true;
+ }
+ assertEq(failed, true);
+
+ // No problem with added to many arguments.
+ succes = du.setupTraceLogger({}, "test");
+ assertEq(succes, true);
+}
+
+var du2 = new Debugger();
+if (typeof du2.setupTraceLoggerForTraces == "function") {
+ du2.setupTraceLoggerForTraces({});
+ du2.setupTraceLoggerForTraces("test");
+ du2.setupTraceLoggerForTraces({}, "test");
+}