Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expression missing two characters #50

Closed
ekulabuhov opened this issue Jul 24, 2019 · 1 comment · Fixed by #74
Closed

Expression missing two characters #50

ekulabuhov opened this issue Jul 24, 2019 · 1 comment · Fixed by #74

Comments

@ekulabuhov
Copy link

Hey guys! Very nice library! Found a bug while researching this issue: vuejs/vetur#1319

I'm not familiar with the way parser works. Is there anyone who could take a look at this? Thank you!

Code to reproduce:

const { parse } = require('vue-eslint-parser') 

const templateCode = decodeURI("%3Ctemplate%3E%0D%0A%20%20%20%20%3Cdiv%20@click=%22flag%20=%20false%22%20%3E%0D%0A%20%20%20%20%20%20%20%20%7B%7Bgreeting%7D%7D%0D%0A%20%20%20%20%3C/div%3E%20%20%20%20%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%0A%20%0A%20%0A%3C/template%3E");

const program = parse(templateCode, { sourceType: 'module' });
const handlerExpression = program.templateBody.children[1].startTag.attributes[0].value.expression;
const range = handlerExpression.range;

console.log(templateCode.slice(range[0], range[1]))

Expected:
"flag = false"

Actual:
lag = false"

@mysticatea
Copy link
Member

Hi. Thank you for your report.

I confirmed it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants