From f844cc813480682dca7821cf8ca650bb10a672bc Mon Sep 17 00:00:00 2001 From: Isiah Meadows Date: Fri, 31 Aug 2018 22:44:47 -0400 Subject: [PATCH] Add functionality for inspecting arbitrary past calls This made it much easier to debug multiple calls while developing this patch. --- ospec/README.md | 1 + ospec/ospec.js | 2 ++ ospec/tests/test-ospec.js | 10 +++++++--- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/ospec/README.md b/ospec/README.md index bbc929c4..e8fb7398 100644 --- a/ospec/README.md +++ b/ospec/README.md @@ -111,6 +111,7 @@ o.spec("call()", function() { o(spy.callCount).equals(1) o(spy.args[0]).equals(1) + o(spy.calls[0]).deepEquals([1]) }) }) ``` diff --git a/ospec/ospec.js b/ospec/ospec.js index fcbc9915..c91087b2 100644 --- a/ospec/ospec.js +++ b/ospec/ospec.js @@ -49,6 +49,7 @@ else window.o = m() var spy = function() { spy.this = this spy.args = [].slice.call(arguments) + spy.calls.push({this: this, args: spy.args}) spy.callCount++ if (fn) return fn.apply(this, arguments) @@ -59,6 +60,7 @@ else window.o = m() name: {value: fn.name} }) spy.args = [] + spy.calls = [] spy.callCount = 0 return spy } diff --git a/ospec/tests/test-ospec.js b/ospec/tests/test-ospec.js index 43f4e0bc..5ad7500a 100644 --- a/ospec/tests/test-ospec.js +++ b/ospec/tests/test-ospec.js @@ -206,6 +206,8 @@ o.spec("ospec", function() { o(spy.callCount).equals(1) o(spy.args.length).equals(1) o(spy.args[0]).equals(1) + o(spy.calls.length).equals(1) + o(spy.calls[0]).deepEquals({this: undefined, args: [1]}) }) o("spy wrapping", function() { var spy = o.spy(function view(vnode){ @@ -223,6 +225,8 @@ o.spec("ospec", function() { o(spy.callCount).equals(1) o(spy.args.length).equals(1) o(spy.args[0]).deepEquals({children: children}) + o(spy.calls.length).equals(1) + o(spy.calls[0]).deepEquals({this: state, args: [{children: children}]}) o(state).deepEquals({drawn: true}) o(output).deepEquals({tag: "div", children: children}) }) @@ -461,7 +465,7 @@ o.spec("ospec", function() { oo.spec("nested 3", function () { oo("", function() { oo(true).equals(true) - + return {then: function() {}} }) }) @@ -490,10 +494,10 @@ o.spec("ospec", function() { o(diff >= 50).equals(true) o(diff < 80).equals(true) }) - + oo("", function() { oo(true).equals(true) - + return {then: function() {}} }) })