This is an automated email from the git hooks/post-receive script. sylvestre pushed a commit to branch master in repository jscover.
commit 338118daebc4dfa02fea755bb8308ab8dc3a7074 Author: tntim96 <[email protected]> Date: Thu Jun 5 12:13:34 2014 +1000 Don't try to cover empty condition in loop (https://github.com/tntim96/JSCover/issues/137) --- History.md | 1 + src/main/java/jscover/instrument/BranchHelper.java | 2 ++ .../instrument/BranchInstrumentorIntegrationTest.java | 15 +++++++++++++-- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/History.md b/History.md index c274841..4c25944 100644 --- a/History.md +++ b/History.md @@ -1,6 +1,7 @@ 1.0.11 / 2014-??-?? ================== * Improve error when 'Class-Path' not in manifest (https://github.com/tntim96/JSCover/pull/135) + * Don't try to cover empty condition in loop (https://github.com/tntim96/JSCover/issues/137) 1.0.10 / 2014-06-03 ================== diff --git a/src/main/java/jscover/instrument/BranchHelper.java b/src/main/java/jscover/instrument/BranchHelper.java index 26c929b..8d4375e 100644 --- a/src/main/java/jscover/instrument/BranchHelper.java +++ b/src/main/java/jscover/instrument/BranchHelper.java @@ -355,6 +355,8 @@ class BranchHelper { } boolean isBoolean(AstNode node) { + if (node instanceof EmptyExpression) + return false; switch (node.getType()) { case Token.EQ: case Token.NE: diff --git a/src/test-integration/java/jscover/instrument/BranchInstrumentorIntegrationTest.java b/src/test-integration/java/jscover/instrument/BranchInstrumentorIntegrationTest.java index b374afb..0f389ff 100644 --- a/src/test-integration/java/jscover/instrument/BranchInstrumentorIntegrationTest.java +++ b/src/test-integration/java/jscover/instrument/BranchInstrumentorIntegrationTest.java @@ -561,6 +561,14 @@ public class BranchInstrumentorIntegrationTest { } @Test + public void shouldNotWrapInfiniteForCondition() { + StringBuilder script = new StringBuilder("for (;;)\n"); + script.append(" break;\n"); + runScript(script.toString()); + assertThat(getBranchData(scope, "test.js").size(), equalTo(0)); + } + + @Test public void shouldWrapForConditionVariable() { StringBuilder script = new StringBuilder("var x = true;\n"); script.append("for (var i = 0; x; i++)\n"); @@ -854,9 +862,12 @@ public class BranchInstrumentorIntegrationTest { } private Scriptable getLineData(Scriptable scope, String uri, int lineNo) { + return (Scriptable) getBranchData(scope, uri).get(lineNo, getBranchData(scope, uri)); + } + + private NativeObject getBranchData(Scriptable scope, String uri) { Scriptable jscoverage = (Scriptable) scope.get("_$jscoverage", scope); Scriptable scriptData = (Scriptable) jscoverage.get(uri, jscoverage); - Scriptable branchData = (Scriptable) scriptData.get("branchData", scriptData); - return (Scriptable) branchData.get(lineNo, branchData); + return (NativeObject) scriptData.get("branchData", scriptData); } } -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jscover.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

