From e2a750c8b65a97eab5fb2e66cb29ef58fba06183 Mon Sep 17 00:00:00 2001 From: Klaus Meinhardt Date: Tue, 29 Aug 2017 10:51:51 +0200 Subject: [PATCH] don't remove failure that starts at end of disabled range (#3177) Fixes: #3174 --- src/enableDisableRules.ts | 2 +- .../_integration/enable-disable/test.ts.lint | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/enableDisableRules.ts b/src/enableDisableRules.ts index d2e54c4ce93..2c6091c6bc7 100644 --- a/src/enableDisableRules.ts +++ b/src/enableDisableRules.ts @@ -43,7 +43,7 @@ export function removeDisabledFailures(sourceFile: ts.SourceFile, failures: Rule return disabledIntervals === undefined || !disabledIntervals.some(({ pos, end }) => { const failPos = failure.getStartPosition().getPosition(); const failEnd = failure.getEndPosition().getPosition(); - return failEnd >= pos && (end === -1 || failPos <= end); + return failEnd >= pos && (end === -1 || failPos < end); }); }); } diff --git a/test/rules/_integration/enable-disable/test.ts.lint b/test/rules/_integration/enable-disable/test.ts.lint index c45cd54cd0c..3aae677ef36 100644 --- a/test/rules/_integration/enable-disable/test.ts.lint +++ b/test/rules/_integration/enable-disable/test.ts.lint @@ -126,3 +126,21 @@ var AAAaA = 'test'; //tslint:enable-line quotemark all ~~~~~ [variable name must be in lowerCamelCase or UPPER_CASE] ~~~~~~ [' should be "] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [comment must start with a space] + +// ensure line switches only switch the next line +//tslint:enable-next-line:quotemark +'foo'; +~~~~~ [' should be "] +'bar'; +'baz'; // tslint:enable-line:quotemark +~~~~~ [' should be "] +'bas'; + +//tslint:enable:quotemark +//tslint:disable-next-line:quotemark +'foo'; +'bar'; +~~~~~ [' should be "] +'baz'; // tslint:disable-line:quotemark +'bas'; +~~~~~ [' should be "]