diff --git a/src/util.js b/src/util.js index fba714742..30f36191c 100644 --- a/src/util.js +++ b/src/util.js @@ -236,6 +236,11 @@ function locStart(node) { } function locEnd(node) { + const endNode = node.nodes && getLast(node.nodes); + if (endNode && node.source && !node.source.end) { + node = endNode; + } + let loc; if (node.range) { loc = node.range[1]; diff --git a/tests/range_css/__snapshots__/jsfmt.spec.js.snap b/tests/range_css/__snapshots__/jsfmt.spec.js.snap new file mode 100644 index 000000000..b85ea324c --- /dev/null +++ b/tests/range_css/__snapshots__/jsfmt.spec.js.snap @@ -0,0 +1,8 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`issue2267.css 1`] = ` +.x{} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.x{} + +`; diff --git a/tests/range_css/issue2267.css b/tests/range_css/issue2267.css new file mode 100644 index 000000000..d76266e60 --- /dev/null +++ b/tests/range_css/issue2267.css @@ -0,0 +1 @@ +.x{}<<>> diff --git a/tests/range_css/jsfmt.spec.js b/tests/range_css/jsfmt.spec.js new file mode 100644 index 000000000..a7d303b6c --- /dev/null +++ b/tests/range_css/jsfmt.spec.js @@ -0,0 +1 @@ +run_spec(__dirname, { parser: "postcss" });