TypeScript/tests/baselines/reference/jsxNamespacePrefixInName.errors.txt
Thomas Williamson 8ed251d0c7
Support xml namespace prefix for JSX elements and attributes (#37421)
* Support xml namespace prefix for JSX elements and attributes

Just as with the `-` character, `:` is now also treated specially in JSX
element and attribute names, but is only allowed a single time, and not
at the beginning or end of the name, as is specified in the JSX spec.
All tests in jsxInvalidEsprimaTestSuite still fail, but for slightly
different reasons now. Two lines in jsxEsprimaFbTestSuite were
uncommented as they included elements with namespaces, and they now pass
without error.

* Add case for colons at ends of identifier

* Add case for jsx namepsace intrinsics

* Add cases with upcase idents for jsx namespaces

* Add case for jsx namespaces with react option

* Always consider jsx names with colon to be intrinsics

* Adjust comment about chars valid in jsx names but not js idents

* Fix minor typo in namespace prefix test case variable name

* Remove misleading comments on isUnhyphenatedJsxName
2020-11-02 15:34:36 -08:00

119 lines
6.6 KiB
Plaintext

tests/cases/compiler/jsxNamespacePrefixInName.tsx(7,32): error TS1003: Identifier expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(8,32): error TS1003: Identifier expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(8,45): error TS1005: '>' expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(8,50): error TS1005: ',' expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(8,51): error TS1109: Expression expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(9,32): error TS1003: Identifier expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(9,60): error TS1005: '>' expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(9,65): error TS1005: ',' expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(9,66): error TS1109: Expression expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(10,32): error TS1003: Identifier expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(10,53): error TS1005: '>' expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(10,58): error TS1005: ',' expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(10,59): error TS1109: Expression expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(11,32): error TS1003: Identifier expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(11,68): error TS1005: '>' expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(11,73): error TS1005: ',' expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(11,74): error TS1109: Expression expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(21,21): error TS1003: Identifier expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(22,26): error TS1003: Identifier expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(22,27): error TS1003: Identifier expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(22,29): error TS1005: '...' expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(24,21): error TS1109: Expression expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(24,22): error TS1109: Expression expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(24,25): error TS1005: ',' expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(24,30): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(24,38): error TS1005: ':' expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(24,41): error TS1109: Expression expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(24,42): error TS1109: Expression expected.
tests/cases/compiler/jsxNamespacePrefixInName.tsx(25,24): error TS1003: Identifier expected.
==== tests/cases/compiler/jsxNamespacePrefixInName.tsx (29 errors) ====
var justElement1 = <a:element />;
var justElement2 = <a:element></a:element>;
var justElement3 = <a:element attr={"value"}></a:element>;
var justElement4 = <a:element>{"text"}</a:element>;
var justElement5 = <a:element attr={"value"}>{"text"}</a:element>;
var tooManySeparators1 = <a:ele:ment />;
~
!!! error TS1003: Identifier expected.
var tooManySeparators2 = <a:ele:ment></a:ele:ment>;
~
!!! error TS1003: Identifier expected.
~
!!! error TS1005: '>' expected.
~
!!! error TS1005: ',' expected.
~
!!! error TS1109: Expression expected.
var tooManySeparators3 = <a:ele:ment attr={"value"}></a:ele:ment>;
~
!!! error TS1003: Identifier expected.
~
!!! error TS1005: '>' expected.
~
!!! error TS1005: ',' expected.
~
!!! error TS1109: Expression expected.
var tooManySeparators4 = <a:ele:ment>{"text"}</a:ele:ment>;
~
!!! error TS1003: Identifier expected.
~
!!! error TS1005: '>' expected.
~
!!! error TS1005: ',' expected.
~
!!! error TS1109: Expression expected.
var tooManySeparators5 = <a:ele:ment attr={"value"}>{"text"}</a:ele:ment>;
~
!!! error TS1003: Identifier expected.
~
!!! error TS1005: '>' expected.
~
!!! error TS1005: ',' expected.
~
!!! error TS1109: Expression expected.
var justAttribute1 = <element a:attr={"value"} />;
var justAttribute2 = <element a:attr={"value"}></element>;
var justAttribute3 = <element a:attr={"value"}>{"text"}</element>;
var both1 = <a:element a:attr={"value"} />;
var both2 = <a:element k:attr={"value"}></a:element>;
var both3 = <a:element a:attr={"value"}>{"text"}</a:element>;
var endOfIdent1 = <a: attr={"value"} />;
~
!!! error TS1003: Identifier expected.
var endOfIdent2 = <a attr:={"value"} />;
~
!!! error TS1003: Identifier expected.
~
!!! error TS1003: Identifier expected.
~~~~~~~
!!! error TS1005: '...' expected.
var beginOfIdent1 = <:a attr={"value"} />;
~
!!! error TS1109: Expression expected.
~
!!! error TS1109: Expression expected.
~~~~
!!! error TS1005: ',' expected.
~~~~~~~~~
!!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.
~
!!! error TS1005: ':' expected.
~
!!! error TS1109: Expression expected.
~
!!! error TS1109: Expression expected.
var beginOfIdent2 = <a :attr={"value"} />;
~
!!! error TS1003: Identifier expected.
var upcaseComponent1 = <ns:Upcase />; // Parsed as intrinsic
var upcaseComponent2 = <Upcase:element />; // Parsed as instrinsic