TypeScript/tests/baselines/reference/jsxUnclosedParserRecovery.js
Hiroshi Ogawa 5ef043987a
fix(45802): keep children of mismatched jsx element (#45839)
* fix(45802): keep children of mismatched jsx element

* Apply suggestions from code review

Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>

Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
2021-09-20 07:19:55 -07:00

288 lines
7 KiB
TypeScript

//// [jsxParserRecovery.tsx]
// should have no errors here; all these functions should parse and resolve
noName(); noClose(); noCloseTypeArg(); noCloseAttrs(); noCloseTypeArgAttrs(); noCloseBracket(); noCloseBracketTypeArgAttrs(); noSelfclose(); noSelfcloseTypeArgAttrs();
noNameTrailingTag(); noCloseTrailingTag(); noCloseTypeArgTrailingTag(); noCloseAttrsTrailingTag(); noCloseTypeArgAttrsTrailingTag(); noCloseBracketTrailingTag(); noCloseBracketTypeArgAttrsTrailingTag(); // noSelfcloseTrailingTag(); noSelfcloseTypeArgAttrsTrailingTag();
noNameTrailingText(); noCloseTrailingText(); noCloseTypeArgTrailingText(); noCloseAttrsTrailingText(); noCloseTypeArgAttrsTrailingText(); noCloseBracketTrailingText(); noCloseBracketTypeArgAttrsTrailingText(); // noSelfcloseTrailingText(); noSelfcloseTypeArgAttrsTrailingText();
function diddy() {
return null;
}
var donkey = <div>
<
</div>;
function noName() { }
var donkey = <div>
<diddy
</div>;
function noClose() { }
var donkey = <div>
<diddy<boolean>
</div>;
function noCloseTypeArg() { }
var donkey = <div>
<diddy bananas="please"
</div>;
function noCloseAttrs() { }
var donkey = <div>
<diddy<boolean> bananas="please"
</div>;
function noCloseTypeArgAttrs() { }
var donkey = <div>
<diddy/
</div>;
function noCloseBracket() { }
var donkey = <div>
<diddy<boolean> bananas="please"/
</div>;
function noCloseBracketTypeArgAttrs() { }
var donkey = <div>
<diddy>
</div>;
function noSelfclose() { }
var donkey = <div>
<diddy<boolean> bananas="please">
</div>;
function noSelfcloseTypeArgAttrs() { }
var donkey = <div>
<
<diddy/>
</div>;
function noNameTrailingTag() { }
var donkey = <div>
<diddy
<diddy/>
</div>;
function noCloseTrailingTag() { }
var donkey = <div>
<diddy<boolean>
<diddy/>
</div>;
function noCloseTypeArgTrailingTag() { }
var donkey = <div>
<diddy bananas="please"
<diddy/>
</div>;
function noCloseAttrsTrailingTag() { }
var donkey = <div>
<diddy<boolean> bananas="please"
<diddy/>
</div>;
function noCloseTypeArgAttrsTrailingTag() { }
var donkey = <div>
<diddy/
<diddy/>
</div>;
function noCloseBracketTrailingTag() { }
var donkey = <div>
<diddy<boolean> bananas="please"/
<diddy/>
</div>;
function noCloseBracketTypeArgAttrsTrailingTag() { }
var donkey = <div>
<diddy>
<diddy/>
</div>;
function noSelfcloseTrailingTag() { }
var donkey = <div>
<diddy<boolean> bananas="please">
<diddy/>
</div>;
function noSelfcloseTypeArgAttrsTrailingTag() { }
var donkey = <div>
<
Cranky Wrinkly Funky
</div>;
function noNameTrailingText() { }
var donkey = <div>
<diddy
Cranky Wrinkly Funky
</div>;
function noCloseTrailingText() { }
var donkey = <div>
<diddy<boolean>
Cranky Wrinkly Funky
</div>;
function noCloseTypeArgTrailingText() { }
var donkey = <div>
<diddy bananas="please"
Cranky Wrinkly Funky
</div>;
function noCloseAttrsTrailingText() { }
var donkey = <div>
<diddy<boolean> bananas="please"
Cranky Wrinkly Funky
</div>;
function noCloseTypeArgAttrsTrailingText() { }
var donkey = <div>
<diddy/
Cranky Wrinkly Funky
</div>;
function noCloseBracketTrailingText() { }
var donkey = <div>
<diddy<boolean> bananas="please"/
Cranky Wrinkly Funky
</div>;
function noCloseBracketTypeArgAttrsTrailingText() { }
var donkey = <div>
<diddy>
Cranky Wrinkly Funky
</div>;
function noSelfcloseTrailingText() { }
var donkey = <div>
<diddy<boolean> bananas="please">
Cranky Wrinkly Funky
</div>;
function noSelfcloseTypeArgAttrsTrailingText() { }
//// [jsxParserRecovery.jsx]
// should have no errors here; all these functions should parse and resolve
noName();
noClose();
noCloseTypeArg();
noCloseAttrs();
noCloseTypeArgAttrs();
noCloseBracket();
noCloseBracketTypeArgAttrs();
noSelfclose();
noSelfcloseTypeArgAttrs();
noNameTrailingTag();
noCloseTrailingTag();
noCloseTypeArgTrailingTag();
noCloseAttrsTrailingTag();
noCloseTypeArgAttrsTrailingTag();
noCloseBracketTrailingTag();
noCloseBracketTypeArgAttrsTrailingTag(); // noSelfcloseTrailingTag(); noSelfcloseTypeArgAttrsTrailingTag();
noNameTrailingText();
noCloseTrailingText();
noCloseTypeArgTrailingText();
noCloseAttrsTrailingText();
noCloseTypeArgAttrsTrailingText();
noCloseBracketTrailingText();
noCloseBracketTypeArgAttrsTrailingText(); // noSelfcloseTrailingText(); noSelfcloseTypeArgAttrsTrailingText();
function diddy() {
return null;
}
var donkey = <div>
< />
</div>;
function noName() { }
var donkey = <div>
<diddy />
</div>;
function noClose() { }
var donkey = <div>
<diddy />
</div>;
function noCloseTypeArg() { }
var donkey = <div>
<diddy bananas="please"/>
</div>;
function noCloseAttrs() { }
var donkey = <div>
<diddy bananas="please"/>
</div>;
function noCloseTypeArgAttrs() { }
var donkey = <div>
<diddy />
</div>;
function noCloseBracket() { }
var donkey = <div>
<diddy bananas="please"/>
</div>;
function noCloseBracketTypeArgAttrs() { }
var donkey = <div>
<diddy>
</></div>;
function noSelfclose() { }
var donkey = <div>
<diddy bananas="please">
</></div>;
function noSelfcloseTypeArgAttrs() { }
var donkey = <div>
< />
</div>;
function noNameTrailingTag() { }
var donkey = <div>
<diddy />
</div>;
function noCloseTrailingTag() { }
var donkey = <div>
<diddy />
<diddy />
</div>;
function noCloseTypeArgTrailingTag() { }
var donkey = <div>
<diddy bananas="please"/>
<diddy />
</div>;
function noCloseAttrsTrailingTag() { }
var donkey = <div>
<diddy bananas="please"/>
<diddy />
</div>;
function noCloseTypeArgAttrsTrailingTag() { }
var donkey = <div>
<diddy />
<diddy />
</div>;
function noCloseBracketTrailingTag() { }
var donkey = <div>
<diddy bananas="please"/>
<diddy />
</div>;
function noCloseBracketTypeArgAttrsTrailingTag() { }
var donkey = <div>
<diddy>
<diddy />
</></div>;
function noSelfcloseTrailingTag() { }
var donkey = <div>
<diddy bananas="please">
<diddy />
</></div>;
function noSelfcloseTypeArgAttrsTrailingTag() { }
var donkey = <div>
<Cranky Wrinkly Funky/>
</div>;
function noNameTrailingText() { }
var donkey = <div>
<diddy Cranky Wrinkly Funky/>
</div>;
function noCloseTrailingText() { }
var donkey = <div>
<diddy Cranky Wrinkly Funky/>
</div>;
function noCloseTypeArgTrailingText() { }
var donkey = <div>
<diddy bananas="please" Cranky Wrinkly Funky/>
</div>;
function noCloseAttrsTrailingText() { }
var donkey = <div>
<diddy bananas="please" Cranky Wrinkly Funky/>
</div>;
function noCloseTypeArgAttrsTrailingText() { }
var donkey = <div>
<diddy />
Cranky Wrinkly Funky
</div>;
function noCloseBracketTrailingText() { }
var donkey = <div>
<diddy bananas="please"/>
Cranky Wrinkly Funky
</div>;
function noCloseBracketTypeArgAttrsTrailingText() { }
var donkey = <div>
<diddy>
Cranky Wrinkly Funky
</></div>;
function noSelfcloseTrailingText() { }
var donkey = <div>
<diddy bananas="please">
Cranky Wrinkly Funky
</></div>;
function noSelfcloseTypeArgAttrsTrailingText() { }