Skip to content
This repository has been archived by the owner on Dec 19, 2018. It is now read-only.

Trying to write page with quotes sometimes crashes Visual Studio #1247

Closed
NTaylorMullen opened this issue Apr 20, 2017 · 1 comment
Closed

Comments

@NTaylorMullen
Copy link
Member

If you try and write this out character by character: @page "foo" you sometimes wont get to the end of the line, VS will crash. Reason why this is inconsistent is that Roslyn will attempt to auto-complete your quotes so if our Razor parse gets canceled and then re-queued with "" being in the document thing work; otherwise, if a parse goes through with @page " VS crashes because of this guy.

@alexgav can we add an end-to-end VS test for this 👍.

@NTaylorMullen NTaylorMullen added this to the 2.0.0-preview1 milestone Apr 20, 2017
@NTaylorMullen NTaylorMullen self-assigned this Apr 20, 2017
NTaylorMullen added a commit that referenced this issue Apr 20, 2017
- Found that our extensible directive string parsing system wasn't consistent with the rest of the extensible directive tokens. Basically, if there were malformed string tokens we'd consume them and pass them along to extensible directive passes. This was a big no-no because it means extensible directive passes weren't able to rely on tokens being passed to them being well-formed.
- Fixed up existing extensible directive tests that relied on output of string tokens.
- Added an integration test to validate malformed page tags can make their way through the entire Razor pipeline and don't destroy the rest of the content.

#1247
NTaylorMullen added a commit that referenced this issue Apr 20, 2017
- Made a targeted fix to PageDirective that stops it from crashing Visual Studio when its malformed.
- Added unit test to validate PageDirective didn't throw when attempting to determine if something was a page.
- Added an integration test to validate malformed page tags can make their way through the entire Razor pipeline and don't destroy the rest of the content.

#1247
NTaylorMullen added a commit that referenced this issue Apr 20, 2017
- Made a targeted fix to PageDirective that stops it from crashing Visual Studio when its malformed.
- Added unit test to validate PageDirective didn't throw when attempting to determine if something was a page.
- Added an integration test to validate malformed page tags can make their way through the entire Razor pipeline and don't destroy the rest of the content.

#1247
NTaylorMullen added a commit that referenced this issue Apr 20, 2017
- Made a targeted fix to PageDirective that stops it from crashing Visual Studio when its malformed.
- Added unit test to validate PageDirective didn't throw when attempting to determine if something was a page.
- Added an integration test to validate malformed page tags can make their way through the entire Razor pipeline and don't destroy the rest of the content.

#1247
NTaylorMullen added a commit that referenced this issue Apr 20, 2017
- Found that our extensible directive string parsing system wasn't consistent with the rest of the extensible directive tokens. Basically, if there were malformed string tokens we'd consume them and pass them along to extensible directive passes. This was a big no-no because it means extensible directive passes weren't able to rely on tokens being passed to them being well-formed.
- Fixed up existing extensible directive tests that relied on output of string tokens.
- Added an integration test to validate malformed page tags can make their way through the entire Razor pipeline and don't destroy the rest of the content.

#1247
@NTaylorMullen
Copy link
Member Author

NTaylorMullen commented Apr 21, 2017

c25aadf
344862f

@rynowak rynowak added this to Done in Tooling Sprint 2 Apr 21, 2017
NTaylorMullen added a commit that referenced this issue Apr 22, 2017
- Found that our extensible directive string parsing system wasn't consistent with the rest of the extensible directive tokens. Basically, if there were malformed string tokens we'd consume them and pass them along to extensible directive passes. This was a big no-no because it means extensible directive passes weren't able to rely on tokens being passed to them being well-formed.
- Fixed up existing extensible directive tests that relied on output of string tokens.

#1247
NTaylorMullen added a commit that referenced this issue Apr 26, 2017
- Found that our extensible directive string parsing system wasn't consistent with the rest of the extensible directive tokens. Basically, if there were malformed string tokens we'd consume them and pass them along to extensible directive passes. This was a big no-no because it means extensible directive passes weren't able to rely on tokens being passed to them being well-formed.
- Fixed up existing extensible directive tests that relied on output of string tokens.

#1247
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
No open projects
Development

No branches or pull requests

1 participant