From 3d9ce9d7a82a289f92f4f5af25485b77d27b4a34 Mon Sep 17 00:00:00 2001 From: tjvr Date: Tue, 19 Apr 2016 09:44:54 +0100 Subject: [PATCH] Parse comparisons correctly Fixes #129 --- src/scratchblocks.js | 2 +- tests/lt-gt.txt | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 tests/lt-gt.txt diff --git a/src/scratchblocks.js b/src/scratchblocks.js index 36d10ca..2ed8380 100644 --- a/src/scratchblocks.js +++ b/src/scratchblocks.js @@ -395,7 +395,7 @@ var scratchblocks = function () { if (tok === '<' || (tok === '>' && end === '>')) { var last = children[children.length - 1]; var c = peekNonWs(); - if (last && last.isInput && (c === '[' || c === '(' || c === '<')) { + if (last && !last.isLabel && (c === '[' || c === '(' || c === '<' || c === '{')) { label = null; children.push(new Label(tok)); next(); diff --git a/tests/lt-gt.txt b/tests/lt-gt.txt new file mode 100644 index 0000000..97a544d --- /dev/null +++ b/tests/lt-gt.txt @@ -0,0 +1,11 @@ +<[10]<(bar)> +<[10]<[11]> +<(foo)<(bar)> +<(foo)<[11]> +<[10]>(bar)> +<[10]>[11]> +<(foo)>(bar)> +<(foo)>[11]> +<<><<>> +<<>><>> +