@alloy-js/csharp 0.20.0-dev.0 → 0.20.0-dev.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/components/Declaration.d.ts +2 -2
- package/dist/src/components/Declaration.d.ts.map +1 -1
- package/dist/src/components/Declaration.js +5 -14
- package/dist/src/components/Declaration.js.map +1 -0
- package/dist/src/components/Name.js +2 -1
- package/dist/src/components/Name.js.map +1 -0
- package/dist/src/components/ProjectDirectory.js +2 -1
- package/dist/src/components/ProjectDirectory.js.map +1 -0
- package/dist/src/components/Reference.d.ts.map +1 -1
- package/dist/src/components/Reference.js +7 -2
- package/dist/src/components/Reference.js.map +1 -0
- package/dist/src/components/UsingDirective.d.ts +5 -1
- package/dist/src/components/UsingDirective.d.ts.map +1 -1
- package/dist/src/components/UsingDirective.js +5 -2
- package/dist/src/components/UsingDirective.js.map +1 -0
- package/dist/src/components/access-expression/access-expression.d.ts +54 -0
- package/dist/src/components/access-expression/access-expression.d.ts.map +1 -0
- package/dist/src/components/access-expression/access-expression.js +277 -0
- package/dist/src/components/access-expression/access-expression.js.map +1 -0
- package/dist/src/components/access-expression/access-expression.test.d.ts +2 -0
- package/dist/src/components/access-expression/access-expression.test.d.ts.map +1 -0
- package/dist/src/components/access-expression/access-expression.test.js +336 -0
- package/dist/src/components/access-expression/access-expression.test.js.map +1 -0
- package/dist/src/components/access-expression/part-descriptors.d.ts +32 -0
- package/dist/src/components/access-expression/part-descriptors.d.ts.map +1 -0
- package/dist/src/components/access-expression/part-descriptors.js +99 -0
- package/dist/src/components/access-expression/part-descriptors.js.map +1 -0
- package/dist/src/components/attributes/attributes.js +2 -1
- package/dist/src/components/attributes/attributes.js.map +1 -0
- package/dist/src/components/attributes/attributes.test.js +2 -1
- package/dist/src/components/attributes/attributes.test.js.map +1 -0
- package/dist/src/components/{ClassDeclaration.d.ts → class/declaration.d.ts} +30 -12
- package/dist/src/components/class/declaration.d.ts.map +1 -0
- package/dist/src/components/class/declaration.js +87 -0
- package/dist/src/components/class/declaration.js.map +1 -0
- package/dist/src/components/class/declaration.test.d.ts +2 -0
- package/dist/src/components/class/declaration.test.d.ts.map +1 -0
- package/dist/src/components/class/declaration.test.js +573 -0
- package/dist/src/components/class/declaration.test.js.map +1 -0
- package/dist/src/components/constructor/constructor.d.ts.map +1 -1
- package/dist/src/components/constructor/constructor.js +13 -20
- package/dist/src/components/constructor/constructor.js.map +1 -0
- package/dist/src/components/constructor/constructor.test.js +13 -21
- package/dist/src/components/constructor/constructor.test.js.map +1 -0
- package/dist/src/components/doc/comment.js +2 -1
- package/dist/src/components/doc/comment.js.map +1 -0
- package/dist/src/components/doc/comment.test.js +2 -1
- package/dist/src/components/doc/comment.test.js.map +1 -0
- package/dist/src/components/doc/from-markdown.js +2 -1
- package/dist/src/components/doc/from-markdown.js.map +1 -0
- package/dist/src/components/doc/from-markdown.test.js +2 -1
- package/dist/src/components/doc/from-markdown.test.js.map +1 -0
- package/dist/src/components/{EnumDeclaration.d.ts → enum/declaration.d.ts} +6 -11
- package/dist/src/components/enum/declaration.d.ts.map +1 -0
- package/dist/src/components/enum/declaration.js +55 -0
- package/dist/src/components/enum/declaration.js.map +1 -0
- package/dist/src/components/enum/declaration.ref.test.d.ts +2 -0
- package/dist/src/components/enum/declaration.ref.test.d.ts.map +1 -0
- package/dist/src/components/enum/declaration.ref.test.js +121 -0
- package/dist/src/components/enum/declaration.ref.test.js.map +1 -0
- package/dist/src/components/enum/declaration.test.d.ts +2 -0
- package/dist/src/components/enum/declaration.test.d.ts.map +1 -0
- package/dist/src/components/enum/declaration.test.js +40 -0
- package/dist/src/components/enum/declaration.test.js.map +1 -0
- package/dist/src/components/enum/member.d.ts +7 -0
- package/dist/src/components/enum/member.d.ts.map +1 -0
- package/dist/src/components/enum/member.js +30 -0
- package/dist/src/components/enum/member.js.map +1 -0
- package/dist/src/components/enum/member.test.d.ts +2 -0
- package/dist/src/components/enum/member.test.d.ts.map +1 -0
- package/dist/src/components/enum/member.test.js +29 -0
- package/dist/src/components/enum/member.test.js.map +1 -0
- package/dist/src/components/field/field.d.ts.map +1 -1
- package/dist/src/components/field/field.js +11 -18
- package/dist/src/components/field/field.js.map +1 -0
- package/dist/src/components/field/field.test.js +10 -9
- package/dist/src/components/field/field.test.js.map +1 -0
- package/dist/src/components/index.d.ts +8 -4
- package/dist/src/components/index.d.ts.map +1 -1
- package/dist/src/components/index.js +10 -5
- package/dist/src/components/index.js.map +1 -0
- package/dist/src/components/interface/declaration.d.ts.map +1 -1
- package/dist/src/components/interface/declaration.js +21 -22
- package/dist/src/components/interface/declaration.js.map +1 -0
- package/dist/src/components/interface/declaration.test.js +28 -36
- package/dist/src/components/interface/declaration.test.js.map +1 -0
- package/dist/src/components/interface/method.d.ts.map +1 -1
- package/dist/src/components/interface/method.js +9 -19
- package/dist/src/components/interface/method.js.map +1 -0
- package/dist/src/components/interface/method.test.js +40 -48
- package/dist/src/components/interface/method.test.js.map +1 -0
- package/dist/src/components/interface/property.d.ts.map +1 -1
- package/dist/src/components/interface/property.js +23 -40
- package/dist/src/components/interface/property.js.map +1 -0
- package/dist/src/components/interface/property.test.js +13 -12
- package/dist/src/components/interface/property.test.js.map +1 -0
- package/dist/src/components/invocation-expression/invocation-expression.d.ts +29 -0
- package/dist/src/components/invocation-expression/invocation-expression.d.ts.map +1 -0
- package/dist/src/components/invocation-expression/invocation-expression.js +70 -0
- package/dist/src/components/invocation-expression/invocation-expression.js.map +1 -0
- package/dist/src/components/invocation-expression/invocation-expression.test.d.ts +2 -0
- package/dist/src/components/invocation-expression/invocation-expression.test.d.ts.map +1 -0
- package/dist/src/components/invocation-expression/invocation-expression.test.js +105 -0
- package/dist/src/components/invocation-expression/invocation-expression.test.js.map +1 -0
- package/dist/src/components/lexical-scope.d.ts +8 -0
- package/dist/src/components/lexical-scope.d.ts.map +1 -0
- package/dist/src/components/lexical-scope.js +25 -0
- package/dist/src/components/lexical-scope.js.map +1 -0
- package/dist/src/components/method/method.d.ts +5 -2
- package/dist/src/components/method/method.d.ts.map +1 -1
- package/dist/src/components/method/method.js +9 -17
- package/dist/src/components/method/method.js.map +1 -0
- package/dist/src/components/method/method.test.js +13 -12
- package/dist/src/components/method/method.test.js.map +1 -0
- package/dist/src/components/method-scope.d.ts +8 -0
- package/dist/src/components/method-scope.d.ts.map +1 -0
- package/dist/src/components/method-scope.js +25 -0
- package/dist/src/components/method-scope.js.map +1 -0
- package/dist/src/components/namespace-scopes.d.ts +13 -0
- package/dist/src/components/namespace-scopes.d.ts.map +1 -0
- package/dist/src/components/namespace-scopes.js +45 -0
- package/dist/src/components/namespace-scopes.js.map +1 -0
- package/dist/src/components/namespace.d.ts +7 -0
- package/dist/src/components/namespace.d.ts.map +1 -0
- package/dist/src/components/namespace.js +47 -0
- package/dist/src/components/namespace.js.map +1 -0
- package/dist/src/components/namespace.ref.test.d.ts +2 -0
- package/dist/src/components/namespace.ref.test.d.ts.map +1 -0
- package/dist/src/components/namespace.ref.test.js +182 -0
- package/dist/src/components/namespace.ref.test.js.map +1 -0
- package/dist/src/components/namespace.test.d.ts.map +1 -0
- package/dist/src/components/namespace.test.js +79 -0
- package/dist/src/components/namespace.test.js.map +1 -0
- package/dist/src/components/parameters/parameters.d.ts +2 -3
- package/dist/src/components/parameters/parameters.d.ts.map +1 -1
- package/dist/src/components/parameters/parameters.js +15 -15
- package/dist/src/components/parameters/parameters.js.map +1 -0
- package/dist/src/components/parameters/parameters.test.d.ts +2 -0
- package/dist/src/components/parameters/parameters.test.d.ts.map +1 -0
- package/dist/src/components/parameters/parameters.test.js +154 -0
- package/dist/src/components/parameters/parameters.test.js.map +1 -0
- package/dist/src/components/property/property.d.ts +2 -2
- package/dist/src/components/property/property.d.ts.map +1 -1
- package/dist/src/components/property/property.js +30 -40
- package/dist/src/components/property/property.js.map +1 -0
- package/dist/src/components/property/property.test.js +17 -16
- package/dist/src/components/property/property.test.js.map +1 -0
- package/dist/src/components/record/declaration.d.ts +18 -0
- package/dist/src/components/record/declaration.d.ts.map +1 -1
- package/dist/src/components/record/declaration.js +21 -14
- package/dist/src/components/record/declaration.js.map +1 -0
- package/dist/src/components/record/declaration.test.js +52 -4
- package/dist/src/components/record/declaration.test.js.map +1 -0
- package/dist/src/components/source-file/source-file.d.ts +19 -0
- package/dist/src/components/source-file/source-file.d.ts.map +1 -0
- package/dist/src/components/source-file/source-file.js +59 -0
- package/dist/src/components/source-file/source-file.js.map +1 -0
- package/dist/src/components/source-file/source-file.test.d.ts +2 -0
- package/dist/src/components/source-file/source-file.test.d.ts.map +1 -0
- package/dist/src/components/source-file/source-file.test.js +136 -0
- package/dist/src/components/source-file/source-file.test.js.map +1 -0
- package/dist/src/components/stc/index.js +2 -1
- package/dist/src/components/stc/index.js.map +1 -0
- package/dist/src/components/struct/declaration.d.ts.map +1 -1
- package/dist/src/components/struct/declaration.js +6 -7
- package/dist/src/components/struct/declaration.js.map +1 -0
- package/dist/src/components/struct/declaration.test.js +32 -40
- package/dist/src/components/struct/declaration.test.js.map +1 -0
- package/dist/src/components/type-parameters/type-parameter-constraints.js +2 -1
- package/dist/src/components/type-parameters/type-parameter-constraints.js.map +1 -0
- package/dist/src/components/type-parameters/type-parameter-constraints.test.js +2 -1
- package/dist/src/components/type-parameters/type-parameter-constraints.test.js.map +1 -0
- package/dist/src/components/type-parameters/type-parameter.d.ts.map +1 -1
- package/dist/src/components/type-parameters/type-parameter.js +9 -11
- package/dist/src/components/type-parameters/type-parameter.js.map +1 -0
- package/dist/src/components/type-parameters/type-parameters.js +2 -1
- package/dist/src/components/type-parameters/type-parameters.js.map +1 -0
- package/dist/src/components/type-parameters/type-parameters.test.js +5 -4
- package/dist/src/components/type-parameters/type-parameters.test.js.map +1 -0
- package/dist/src/components/var/declaration.d.ts.map +1 -1
- package/dist/src/components/var/declaration.js +8 -9
- package/dist/src/components/var/declaration.js.map +1 -0
- package/dist/src/components/var/declaration.test.js +13 -21
- package/dist/src/components/var/declaration.test.js.map +1 -0
- package/dist/src/contexts/format-options.d.ts +5 -0
- package/dist/src/contexts/format-options.d.ts.map +1 -0
- package/dist/src/contexts/format-options.js +9 -0
- package/dist/src/contexts/format-options.js.map +1 -0
- package/dist/src/contexts/global-namespace.d.ts +5 -0
- package/dist/src/contexts/global-namespace.d.ts.map +1 -0
- package/dist/src/contexts/global-namespace.js +25 -0
- package/dist/src/contexts/global-namespace.js.map +1 -0
- package/dist/src/contexts/namespace.d.ts +8 -0
- package/dist/src/contexts/namespace.d.ts.map +1 -0
- package/dist/src/contexts/namespace.js +6 -0
- package/dist/src/contexts/namespace.js.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -1
- package/dist/src/index.js.map +1 -0
- package/dist/src/modifiers.d.ts +11 -0
- package/dist/src/modifiers.d.ts.map +1 -1
- package/dist/src/modifiers.js +2 -1
- package/dist/src/modifiers.js.map +1 -0
- package/dist/src/name-policy.js +2 -1
- package/dist/src/name-policy.js.map +1 -0
- package/dist/src/scopes/class.d.ts +10 -0
- package/dist/src/scopes/class.d.ts.map +1 -0
- package/dist/src/scopes/class.js +11 -0
- package/dist/src/scopes/class.js.map +1 -0
- package/dist/src/scopes/contexts.d.ts +9 -0
- package/dist/src/scopes/contexts.d.ts.map +1 -0
- package/dist/src/scopes/contexts.js +34 -0
- package/dist/src/scopes/contexts.js.map +1 -0
- package/dist/src/scopes/csharp.d.ts +10 -0
- package/dist/src/scopes/csharp.d.ts.map +1 -0
- package/dist/src/scopes/csharp.js +15 -0
- package/dist/src/scopes/csharp.js.map +1 -0
- package/dist/src/scopes/factories.d.ts +9 -0
- package/dist/src/scopes/factories.d.ts.map +1 -0
- package/dist/src/scopes/factories.js +24 -0
- package/dist/src/scopes/factories.js.map +1 -0
- package/dist/src/scopes/index.d.ts +10 -0
- package/dist/src/scopes/index.d.ts.map +1 -0
- package/dist/src/scopes/index.js +10 -0
- package/dist/src/scopes/index.js.map +1 -0
- package/dist/src/scopes/lexical.d.ts +7 -0
- package/dist/src/scopes/lexical.d.ts.map +1 -0
- package/dist/src/scopes/lexical.js +8 -0
- package/dist/src/scopes/lexical.js.map +1 -0
- package/dist/src/scopes/method.d.ts +9 -0
- package/dist/src/scopes/method.d.ts.map +1 -0
- package/dist/src/scopes/method.js +14 -0
- package/dist/src/scopes/method.js.map +1 -0
- package/dist/src/scopes/named-type.d.ts +22 -0
- package/dist/src/scopes/named-type.d.ts.map +1 -0
- package/dist/src/scopes/named-type.js +33 -0
- package/dist/src/scopes/named-type.js.map +1 -0
- package/dist/src/scopes/namespace.d.ts +11 -0
- package/dist/src/scopes/namespace.d.ts.map +1 -0
- package/dist/src/scopes/namespace.js +39 -0
- package/dist/src/scopes/namespace.js.map +1 -0
- package/dist/src/scopes/source-file.d.ts +16 -0
- package/dist/src/scopes/source-file.d.ts.map +1 -0
- package/dist/src/scopes/source-file.js +44 -0
- package/dist/src/scopes/source-file.js.map +1 -0
- package/dist/src/symbols/csharp.d.ts +87 -0
- package/dist/src/symbols/csharp.d.ts.map +1 -0
- package/dist/src/symbols/csharp.js +246 -0
- package/dist/src/symbols/csharp.js.map +1 -0
- package/dist/src/symbols/factories.d.ts +25 -0
- package/dist/src/symbols/factories.d.ts.map +1 -0
- package/dist/src/symbols/factories.js +93 -0
- package/dist/src/symbols/factories.js.map +1 -0
- package/dist/src/symbols/index.d.ts +5 -2
- package/dist/src/symbols/index.d.ts.map +1 -1
- package/dist/src/symbols/index.js +6 -2
- package/dist/src/symbols/index.js.map +1 -0
- package/dist/src/symbols/method.d.ts +13 -0
- package/dist/src/symbols/method.d.ts.map +1 -0
- package/dist/src/symbols/method.js +16 -0
- package/dist/src/symbols/method.js.map +1 -0
- package/dist/src/symbols/named-type.d.ts +19 -0
- package/dist/src/symbols/named-type.d.ts.map +1 -0
- package/dist/src/symbols/named-type.js +31 -0
- package/dist/src/symbols/named-type.js.map +1 -0
- package/dist/src/symbols/namespace.d.ts +22 -0
- package/dist/src/symbols/namespace.d.ts.map +1 -0
- package/dist/src/symbols/namespace.js +45 -0
- package/dist/src/symbols/namespace.js.map +1 -0
- package/dist/src/symbols/reference.d.ts +2 -2
- package/dist/src/symbols/reference.d.ts.map +1 -1
- package/dist/src/symbols/reference.js +50 -44
- package/dist/src/symbols/reference.js.map +1 -0
- package/dist/test/project-directory.test.js +20 -19
- package/dist/test/project-directory.test.js.map +1 -0
- package/dist/test/using.test.js +23 -21
- package/dist/test/using.test.js.map +1 -0
- package/dist/test/utils.d.ts.map +1 -1
- package/dist/test/utils.js +7 -4
- package/dist/test/utils.js.map +1 -0
- package/dist/test/vitest.setup.js +2 -1
- package/dist/test/vitest.setup.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +12 -6
- package/src/components/Declaration.tsx +3 -6
- package/src/components/Reference.tsx +3 -1
- package/src/components/UsingDirective.tsx +12 -2
- package/src/components/access-expression/access-expression.test.tsx +284 -0
- package/src/components/access-expression/access-expression.tsx +375 -0
- package/src/components/access-expression/part-descriptors.ts +175 -0
- package/src/components/class/declaration.test.tsx +484 -0
- package/src/components/{ClassDeclaration.tsx → class/declaration.tsx} +63 -44
- package/src/components/constructor/constructor.test.tsx +11 -17
- package/src/components/constructor/constructor.tsx +13 -32
- package/src/components/enum/declaration.ref.test.tsx +93 -0
- package/src/components/enum/declaration.test.tsx +34 -0
- package/src/components/enum/declaration.tsx +65 -0
- package/src/components/enum/member.test.tsx +24 -0
- package/src/components/enum/member.tsx +36 -0
- package/src/components/field/field.test.tsx +8 -8
- package/src/components/field/field.tsx +12 -22
- package/src/components/index.ts +8 -4
- package/src/components/interface/declaration.test.tsx +26 -32
- package/src/components/interface/declaration.tsx +16 -18
- package/src/components/interface/method.test.tsx +38 -44
- package/src/components/interface/method.tsx +7 -20
- package/src/components/interface/property.test.tsx +11 -11
- package/src/components/interface/property.tsx +15 -34
- package/src/components/invocation-expression/invocation-expression.test.tsx +101 -0
- package/src/components/invocation-expression/invocation-expression.tsx +60 -0
- package/src/components/lexical-scope.tsx +29 -0
- package/src/components/method/method.test.tsx +11 -11
- package/src/components/method/method.tsx +12 -23
- package/src/components/method-scope.tsx +27 -0
- package/src/components/namespace-scopes.tsx +44 -0
- package/src/components/namespace.ref.test.tsx +139 -0
- package/src/components/namespace.test.tsx +52 -0
- package/src/components/namespace.tsx +45 -0
- package/src/components/parameters/parameters.test.tsx +117 -0
- package/src/components/parameters/parameters.tsx +11 -21
- package/src/components/property/property.test.tsx +15 -15
- package/src/components/property/property.tsx +23 -41
- package/src/components/record/declaration.test.tsx +47 -3
- package/src/components/record/declaration.tsx +34 -11
- package/src/components/source-file/source-file.test.tsx +96 -0
- package/src/components/source-file/source-file.tsx +98 -0
- package/src/components/struct/declaration.test.tsx +16 -22
- package/src/components/struct/declaration.tsx +4 -6
- package/src/components/type-parameters/type-parameter.tsx +14 -11
- package/src/components/type-parameters/type-parameters.test.tsx +4 -4
- package/src/components/var/declaration.test.tsx +8 -14
- package/src/components/var/declaration.tsx +12 -6
- package/src/contexts/format-options.ts +14 -0
- package/src/contexts/global-namespace.ts +29 -0
- package/src/contexts/namespace.ts +13 -0
- package/src/index.ts +2 -0
- package/src/modifiers.ts +14 -0
- package/src/scopes/class.ts +12 -0
- package/src/scopes/contexts.ts +45 -0
- package/src/scopes/csharp.ts +23 -0
- package/src/scopes/factories.ts +45 -0
- package/src/scopes/index.ts +9 -0
- package/src/scopes/lexical.ts +10 -0
- package/src/scopes/method.ts +22 -0
- package/src/scopes/named-type.ts +44 -0
- package/src/scopes/namespace.ts +59 -0
- package/src/scopes/source-file.ts +67 -0
- package/src/symbols/csharp.ts +339 -0
- package/src/symbols/factories.ts +215 -0
- package/src/symbols/index.ts +5 -2
- package/src/symbols/method.ts +26 -0
- package/src/symbols/named-type.ts +54 -0
- package/src/symbols/namespace.ts +62 -0
- package/src/symbols/reference.tsx +64 -0
- package/temp/api.json +6910 -2491
- package/test/project-directory.test.tsx +14 -16
- package/test/using.test.tsx +21 -21
- package/test/utils.tsx +2 -1
- package/tsconfig.json +4 -1
- package/tsdoc-metadata.json +1 -1
- package/dist/src/components/ClassDeclaration.d.ts.map +0 -1
- package/dist/src/components/ClassDeclaration.js +0 -92
- package/dist/src/components/EnumDeclaration.d.ts.map +0 -1
- package/dist/src/components/EnumDeclaration.js +0 -85
- package/dist/src/components/Namespace.d.ts +0 -11
- package/dist/src/components/Namespace.d.ts.map +0 -1
- package/dist/src/components/Namespace.js +0 -33
- package/dist/src/components/SourceFile.d.ts +0 -14
- package/dist/src/components/SourceFile.d.ts.map +0 -1
- package/dist/src/components/SourceFile.js +0 -69
- package/dist/src/symbols/csharp-output-symbol.d.ts +0 -8
- package/dist/src/symbols/csharp-output-symbol.d.ts.map +0 -1
- package/dist/src/symbols/csharp-output-symbol.js +0 -19
- package/dist/src/symbols/scopes.d.ts +0 -14
- package/dist/src/symbols/scopes.d.ts.map +0 -1
- package/dist/src/symbols/scopes.js +0 -31
- package/dist/test/class-declaration.test.d.ts +0 -2
- package/dist/test/class-declaration.test.d.ts.map +0 -1
- package/dist/test/class-declaration.test.js +0 -484
- package/dist/test/enum.test.d.ts +0 -2
- package/dist/test/enum.test.d.ts.map +0 -1
- package/dist/test/enum.test.js +0 -178
- package/dist/test/namespace.test.d.ts.map +0 -1
- package/dist/test/namespace.test.js +0 -81
- package/dist/test/sourcefile.test.d.ts +0 -2
- package/dist/test/sourcefile.test.d.ts.map +0 -1
- package/dist/test/sourcefile.test.js +0 -58
- package/src/components/EnumDeclaration.tsx +0 -99
- package/src/components/Namespace.tsx +0 -35
- package/src/components/SourceFile.tsx +0 -78
- package/src/symbols/csharp-output-symbol.ts +0 -22
- package/src/symbols/reference.ts +0 -65
- package/src/symbols/scopes.ts +0 -41
- package/test/class-declaration.test.tsx +0 -413
- package/test/enum.test.tsx +0 -149
- package/test/namespace.test.tsx +0 -55
- package/test/sourcefile.test.tsx +0 -47
- /package/dist/{test → src/components}/namespace.test.d.ts +0 -0
|
@@ -1,413 +0,0 @@
|
|
|
1
|
-
import * as core from "@alloy-js/core";
|
|
2
|
-
import { List, refkey } from "@alloy-js/core";
|
|
3
|
-
import * as coretest from "@alloy-js/core/testing";
|
|
4
|
-
import { describe, expect, it } from "vitest";
|
|
5
|
-
import { Attribute } from "../src/components/attributes/attributes.jsx";
|
|
6
|
-
import { Field } from "../src/components/field/field.jsx";
|
|
7
|
-
import { Constructor } from "../src/components/stc/index.js";
|
|
8
|
-
import { TypeParameterProps } from "../src/components/type-parameters/type-parameter.jsx";
|
|
9
|
-
import * as csharp from "../src/index.js";
|
|
10
|
-
import { ClassDeclaration, Property, SourceFile } from "../src/index.js";
|
|
11
|
-
import * as utils from "./utils.jsx";
|
|
12
|
-
import { findFile } from "./utils.jsx";
|
|
13
|
-
|
|
14
|
-
it("declares class with no members", () => {
|
|
15
|
-
expect(
|
|
16
|
-
<utils.TestNamespace>
|
|
17
|
-
<ClassDeclaration name="TestClass" />
|
|
18
|
-
</utils.TestNamespace>,
|
|
19
|
-
).toRenderTo(`
|
|
20
|
-
class TestClass;
|
|
21
|
-
`);
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
describe("modifiers", () => {
|
|
25
|
-
it.each(["public", "private"])("%s", (mod) => {
|
|
26
|
-
expect(
|
|
27
|
-
<utils.TestNamespace>
|
|
28
|
-
<ClassDeclaration {...{ [mod]: true }} name="TestClass" />
|
|
29
|
-
</utils.TestNamespace>,
|
|
30
|
-
).toRenderTo(`
|
|
31
|
-
${mod} class TestClass;
|
|
32
|
-
`);
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
it.each(["partial", "abstract", "static", "sealed"])("%s", (mod) => {
|
|
36
|
-
expect(
|
|
37
|
-
<utils.TestNamespace>
|
|
38
|
-
<ClassDeclaration {...{ [mod]: true }} name="TestClass" />
|
|
39
|
-
</utils.TestNamespace>,
|
|
40
|
-
).toRenderTo(`
|
|
41
|
-
${mod} class TestClass;
|
|
42
|
-
`);
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
it("combines modifiers", () => {
|
|
46
|
-
expect(
|
|
47
|
-
<utils.TestNamespace>
|
|
48
|
-
<ClassDeclaration public abstract partial name="TestClass" />
|
|
49
|
-
</utils.TestNamespace>,
|
|
50
|
-
).toRenderTo(`
|
|
51
|
-
public abstract partial class TestClass;
|
|
52
|
-
`);
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
describe("base", () => {
|
|
57
|
-
it("define base class", () => {
|
|
58
|
-
expect(
|
|
59
|
-
<utils.TestNamespace>
|
|
60
|
-
<csharp.ClassDeclaration name="TestClass" baseType="Foo" />
|
|
61
|
-
</utils.TestNamespace>,
|
|
62
|
-
).toRenderTo(`
|
|
63
|
-
class TestClass : Foo;
|
|
64
|
-
`);
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
it("define multiple interface types", () => {
|
|
68
|
-
expect(
|
|
69
|
-
<utils.TestNamespace>
|
|
70
|
-
<csharp.ClassDeclaration
|
|
71
|
-
name="TestClass"
|
|
72
|
-
interfaceTypes={["Foo", "Bar"]}
|
|
73
|
-
/>
|
|
74
|
-
</utils.TestNamespace>,
|
|
75
|
-
).toRenderTo(`
|
|
76
|
-
class TestClass : Foo, Bar;
|
|
77
|
-
`);
|
|
78
|
-
});
|
|
79
|
-
|
|
80
|
-
it("define base class and multiple interface types", () => {
|
|
81
|
-
expect(
|
|
82
|
-
<utils.TestNamespace>
|
|
83
|
-
<csharp.ClassDeclaration
|
|
84
|
-
name="TestClass"
|
|
85
|
-
baseType="BaseClass"
|
|
86
|
-
interfaceTypes={["Foo", "Bar"]}
|
|
87
|
-
/>
|
|
88
|
-
</utils.TestNamespace>,
|
|
89
|
-
).toRenderTo(`
|
|
90
|
-
class TestClass : BaseClass, Foo, Bar;
|
|
91
|
-
`);
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
it("declares class with some members", () => {
|
|
96
|
-
const res = utils.toSourceText(
|
|
97
|
-
<csharp.ClassDeclaration public name="TestClass">
|
|
98
|
-
<List>
|
|
99
|
-
<Field public name="MemberOne" type="string" />
|
|
100
|
-
<Field public name="MemberTwo" type="int" />
|
|
101
|
-
</List>
|
|
102
|
-
</csharp.ClassDeclaration>,
|
|
103
|
-
);
|
|
104
|
-
|
|
105
|
-
expect(res).toBe(coretest.d`
|
|
106
|
-
namespace TestCode
|
|
107
|
-
{
|
|
108
|
-
public class TestClass
|
|
109
|
-
{
|
|
110
|
-
public string MemberOne;
|
|
111
|
-
public int MemberTwo;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
`);
|
|
115
|
-
});
|
|
116
|
-
|
|
117
|
-
it("declares class with some methods", () => {
|
|
118
|
-
const res = utils.toSourceText(
|
|
119
|
-
<csharp.ClassDeclaration public name="TestClass">
|
|
120
|
-
<core.List>
|
|
121
|
-
<csharp.Method public name="MethodOne" />
|
|
122
|
-
<csharp.Method private virtual name="MethodTwo" />
|
|
123
|
-
</core.List>
|
|
124
|
-
</csharp.ClassDeclaration>,
|
|
125
|
-
);
|
|
126
|
-
|
|
127
|
-
expect(res).toBe(coretest.d`
|
|
128
|
-
namespace TestCode
|
|
129
|
-
{
|
|
130
|
-
public class TestClass
|
|
131
|
-
{
|
|
132
|
-
public void MethodOne() {}
|
|
133
|
-
private virtual void MethodTwo() {}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
`);
|
|
137
|
-
});
|
|
138
|
-
|
|
139
|
-
it("uses refkeys for members, params, and return type", () => {
|
|
140
|
-
const inputTypeRefkey = core.refkey();
|
|
141
|
-
const testResultTypeRefkey = core.refkey();
|
|
142
|
-
const enumTypeRefkey = core.refkey();
|
|
143
|
-
|
|
144
|
-
const params = [
|
|
145
|
-
{
|
|
146
|
-
name: "IntParam",
|
|
147
|
-
type: "int",
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
name: "BodyParam",
|
|
151
|
-
type: inputTypeRefkey,
|
|
152
|
-
},
|
|
153
|
-
];
|
|
154
|
-
|
|
155
|
-
const res = core.render(
|
|
156
|
-
<core.Output namePolicy={csharp.createCSharpNamePolicy()}>
|
|
157
|
-
<csharp.Namespace name="TestCode">
|
|
158
|
-
<csharp.SourceFile path="Test.cs">
|
|
159
|
-
<csharp.EnumDeclaration
|
|
160
|
-
public
|
|
161
|
-
name="TestEnum"
|
|
162
|
-
refkey={enumTypeRefkey}
|
|
163
|
-
>
|
|
164
|
-
<core.List comma hardline>
|
|
165
|
-
<csharp.EnumMember name="One" />
|
|
166
|
-
<csharp.EnumMember name="Two" />
|
|
167
|
-
</core.List>
|
|
168
|
-
</csharp.EnumDeclaration>
|
|
169
|
-
<hbr />
|
|
170
|
-
<csharp.ClassDeclaration
|
|
171
|
-
public
|
|
172
|
-
name="TestInput"
|
|
173
|
-
refkey={inputTypeRefkey}
|
|
174
|
-
/>
|
|
175
|
-
<hbr />
|
|
176
|
-
<csharp.ClassDeclaration
|
|
177
|
-
public
|
|
178
|
-
name="TestResult"
|
|
179
|
-
refkey={testResultTypeRefkey}
|
|
180
|
-
/>
|
|
181
|
-
<hbr />
|
|
182
|
-
<csharp.ClassDeclaration public name="TestClass">
|
|
183
|
-
<Field private name="MemberOne" type={enumTypeRefkey} />
|
|
184
|
-
<hbr />
|
|
185
|
-
<csharp.Method
|
|
186
|
-
public
|
|
187
|
-
name="MethodOne"
|
|
188
|
-
parameters={params}
|
|
189
|
-
returns={testResultTypeRefkey}
|
|
190
|
-
>
|
|
191
|
-
return new {testResultTypeRefkey}();
|
|
192
|
-
</csharp.Method>
|
|
193
|
-
</csharp.ClassDeclaration>
|
|
194
|
-
</csharp.SourceFile>
|
|
195
|
-
</csharp.Namespace>
|
|
196
|
-
</core.Output>,
|
|
197
|
-
);
|
|
198
|
-
|
|
199
|
-
expect(findFile(res, "Test.cs").contents).toBe(coretest.d`
|
|
200
|
-
namespace TestCode
|
|
201
|
-
{
|
|
202
|
-
public enum TestEnum
|
|
203
|
-
{
|
|
204
|
-
One,
|
|
205
|
-
Two
|
|
206
|
-
}
|
|
207
|
-
public class TestInput;
|
|
208
|
-
public class TestResult;
|
|
209
|
-
public class TestClass
|
|
210
|
-
{
|
|
211
|
-
private TestEnum _memberOne;
|
|
212
|
-
public TestResult MethodOne(int intParam, TestInput bodyParam)
|
|
213
|
-
{
|
|
214
|
-
return new TestResult();
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
`);
|
|
219
|
-
});
|
|
220
|
-
|
|
221
|
-
describe("with type parameters", () => {
|
|
222
|
-
it("reference parameters", () => {
|
|
223
|
-
const typeParameters: TypeParameterProps[] = [
|
|
224
|
-
{
|
|
225
|
-
name: "T",
|
|
226
|
-
refkey: refkey(),
|
|
227
|
-
},
|
|
228
|
-
{
|
|
229
|
-
name: "U",
|
|
230
|
-
refkey: refkey(),
|
|
231
|
-
},
|
|
232
|
-
];
|
|
233
|
-
|
|
234
|
-
expect(
|
|
235
|
-
<utils.TestNamespace>
|
|
236
|
-
<SourceFile path="Test.cs">
|
|
237
|
-
<ClassDeclaration
|
|
238
|
-
public
|
|
239
|
-
name="TestClass"
|
|
240
|
-
typeParameters={typeParameters}
|
|
241
|
-
>
|
|
242
|
-
<List>
|
|
243
|
-
<Property name="PropA" type={typeParameters[0].refkey} get set />
|
|
244
|
-
<Property name="PropB" type={typeParameters[1].refkey} get set />
|
|
245
|
-
</List>
|
|
246
|
-
</ClassDeclaration>
|
|
247
|
-
</SourceFile>
|
|
248
|
-
</utils.TestNamespace>,
|
|
249
|
-
).toRenderTo(`
|
|
250
|
-
namespace TestCode
|
|
251
|
-
{
|
|
252
|
-
public class TestClass<T, U>
|
|
253
|
-
{
|
|
254
|
-
T PropA { get; set; }
|
|
255
|
-
U PropB { get; set; }
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
`);
|
|
259
|
-
});
|
|
260
|
-
|
|
261
|
-
it("defines with constraints", () => {
|
|
262
|
-
const typeParameters: TypeParameterProps[] = [
|
|
263
|
-
{
|
|
264
|
-
name: "T",
|
|
265
|
-
constraints: "IFoo",
|
|
266
|
-
},
|
|
267
|
-
{
|
|
268
|
-
name: "U",
|
|
269
|
-
constraints: "IBar",
|
|
270
|
-
},
|
|
271
|
-
];
|
|
272
|
-
|
|
273
|
-
expect(
|
|
274
|
-
<utils.TestNamespace>
|
|
275
|
-
<ClassDeclaration
|
|
276
|
-
public
|
|
277
|
-
name="TestClass"
|
|
278
|
-
typeParameters={typeParameters}
|
|
279
|
-
>
|
|
280
|
-
// Body
|
|
281
|
-
</ClassDeclaration>
|
|
282
|
-
</utils.TestNamespace>,
|
|
283
|
-
).toRenderTo(`
|
|
284
|
-
public class TestClass<T, U>
|
|
285
|
-
where T : IFoo
|
|
286
|
-
where U : IBar
|
|
287
|
-
{
|
|
288
|
-
// Body
|
|
289
|
-
}
|
|
290
|
-
`);
|
|
291
|
-
});
|
|
292
|
-
});
|
|
293
|
-
|
|
294
|
-
it("declares class with invalid members", () => {
|
|
295
|
-
const decl = (
|
|
296
|
-
<csharp.ClassDeclaration public name="TestClass">
|
|
297
|
-
<csharp.EnumMember name="One" />,<hbr />
|
|
298
|
-
<csharp.EnumMember name="Two" />
|
|
299
|
-
</csharp.ClassDeclaration>
|
|
300
|
-
);
|
|
301
|
-
|
|
302
|
-
expect(() => utils.toSourceText(decl)).toThrow(
|
|
303
|
-
"can't define an enum member outside of an enum-decl scope",
|
|
304
|
-
);
|
|
305
|
-
});
|
|
306
|
-
|
|
307
|
-
it("declares class with constructor", () => {
|
|
308
|
-
const res = utils.toSourceText(
|
|
309
|
-
<csharp.ClassDeclaration public name="TestClass">
|
|
310
|
-
<Constructor public />
|
|
311
|
-
</csharp.ClassDeclaration>,
|
|
312
|
-
);
|
|
313
|
-
|
|
314
|
-
expect(res).toBe(coretest.d`
|
|
315
|
-
namespace TestCode
|
|
316
|
-
{
|
|
317
|
-
public class TestClass
|
|
318
|
-
{
|
|
319
|
-
public TestClass() {}
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
`);
|
|
323
|
-
});
|
|
324
|
-
|
|
325
|
-
it("declares class with constructor params and assigns values to fields", () => {
|
|
326
|
-
const thisNameRefkey = core.refkey();
|
|
327
|
-
const thisSizeRefkey = core.refkey();
|
|
328
|
-
const paramNameRefkey = core.refkey();
|
|
329
|
-
const paramSizeRefkey = core.refkey();
|
|
330
|
-
|
|
331
|
-
const ctorParams = [
|
|
332
|
-
{
|
|
333
|
-
name: "name",
|
|
334
|
-
type: "string",
|
|
335
|
-
refkey: paramNameRefkey,
|
|
336
|
-
},
|
|
337
|
-
{
|
|
338
|
-
name: "size",
|
|
339
|
-
type: "int",
|
|
340
|
-
refkey: paramSizeRefkey,
|
|
341
|
-
},
|
|
342
|
-
];
|
|
343
|
-
|
|
344
|
-
const res = utils.toSourceText(
|
|
345
|
-
<csharp.ClassDeclaration public name="TestClass">
|
|
346
|
-
<Field private name="name" type="string" refkey={thisNameRefkey} />
|
|
347
|
-
<hbr />
|
|
348
|
-
<Field private name="size" type="int" refkey={thisSizeRefkey} />
|
|
349
|
-
<hbr />
|
|
350
|
-
<Constructor public parameters={ctorParams}>
|
|
351
|
-
{thisNameRefkey} = {paramNameRefkey};<hbr />
|
|
352
|
-
{thisSizeRefkey} = {paramSizeRefkey};
|
|
353
|
-
</Constructor>
|
|
354
|
-
</csharp.ClassDeclaration>,
|
|
355
|
-
);
|
|
356
|
-
|
|
357
|
-
// TODO: assignments to members should have this. prefix
|
|
358
|
-
// e.g. this.name = name;
|
|
359
|
-
expect(res).toBe(coretest.d`
|
|
360
|
-
namespace TestCode
|
|
361
|
-
{
|
|
362
|
-
public class TestClass
|
|
363
|
-
{
|
|
364
|
-
private string _name;
|
|
365
|
-
private int _size;
|
|
366
|
-
public TestClass(string name, int size)
|
|
367
|
-
{
|
|
368
|
-
_name = name;
|
|
369
|
-
_size = size;
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
`);
|
|
374
|
-
});
|
|
375
|
-
|
|
376
|
-
it("specify doc comment", () => {
|
|
377
|
-
expect(
|
|
378
|
-
<utils.TestNamespace>
|
|
379
|
-
<ClassDeclaration name="Test" doc="This is a test" />
|
|
380
|
-
</utils.TestNamespace>,
|
|
381
|
-
).toRenderTo(`
|
|
382
|
-
/// This is a test
|
|
383
|
-
class Test;
|
|
384
|
-
`);
|
|
385
|
-
});
|
|
386
|
-
|
|
387
|
-
it("supports class member doc comments", () => {
|
|
388
|
-
expect(
|
|
389
|
-
<utils.TestNamespace>
|
|
390
|
-
<ClassDeclaration name="Test" doc="This is a test">
|
|
391
|
-
<Field name="Member" public type="int" doc="This is a member" />
|
|
392
|
-
</ClassDeclaration>
|
|
393
|
-
</utils.TestNamespace>,
|
|
394
|
-
).toRenderTo(`
|
|
395
|
-
/// This is a test
|
|
396
|
-
class Test
|
|
397
|
-
{
|
|
398
|
-
/// This is a member
|
|
399
|
-
public int Member;
|
|
400
|
-
}
|
|
401
|
-
`);
|
|
402
|
-
});
|
|
403
|
-
|
|
404
|
-
it("specify attributes", () => {
|
|
405
|
-
expect(
|
|
406
|
-
<utils.TestNamespace>
|
|
407
|
-
<ClassDeclaration name="Test" attributes={[<Attribute name="Test" />]} />
|
|
408
|
-
</utils.TestNamespace>,
|
|
409
|
-
).toRenderTo(`
|
|
410
|
-
[Test]
|
|
411
|
-
class Test;
|
|
412
|
-
`);
|
|
413
|
-
});
|
package/test/enum.test.tsx
DELETED
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
import * as core from "@alloy-js/core";
|
|
2
|
-
import * as coretest from "@alloy-js/core/testing";
|
|
3
|
-
import { expect, it } from "vitest";
|
|
4
|
-
import * as csharp from "../src/index.js";
|
|
5
|
-
import * as utils from "./utils.js";
|
|
6
|
-
import { findFile } from "./utils.js";
|
|
7
|
-
|
|
8
|
-
it("declares enum with no members", () => {
|
|
9
|
-
const res = utils.toSourceText(
|
|
10
|
-
<csharp.EnumDeclaration public name="TestEnum" />,
|
|
11
|
-
);
|
|
12
|
-
|
|
13
|
-
expect(res).toBe(coretest.d`
|
|
14
|
-
namespace TestCode
|
|
15
|
-
{
|
|
16
|
-
public enum TestEnum;
|
|
17
|
-
}
|
|
18
|
-
`);
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
it("declares enum with members", () => {
|
|
22
|
-
const res = utils.toSourceText(
|
|
23
|
-
<csharp.EnumDeclaration public name="TestEnum">
|
|
24
|
-
<csharp.EnumMember name="One" />,<hbr />
|
|
25
|
-
<csharp.EnumMember name="Two" />
|
|
26
|
-
</csharp.EnumDeclaration>,
|
|
27
|
-
);
|
|
28
|
-
|
|
29
|
-
expect(res).toBe(coretest.d`
|
|
30
|
-
namespace TestCode
|
|
31
|
-
{
|
|
32
|
-
public enum TestEnum
|
|
33
|
-
{
|
|
34
|
-
One,
|
|
35
|
-
Two
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
`);
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
it("applies naming policy to enum and members", () => {
|
|
42
|
-
const res = utils.toSourceText(
|
|
43
|
-
<csharp.EnumDeclaration public name="testEnum">
|
|
44
|
-
<csharp.EnumMember name="one" />,<hbr />
|
|
45
|
-
<csharp.EnumMember name="two" />
|
|
46
|
-
</csharp.EnumDeclaration>,
|
|
47
|
-
);
|
|
48
|
-
|
|
49
|
-
expect(res).toBe(coretest.d`
|
|
50
|
-
namespace TestCode
|
|
51
|
-
{
|
|
52
|
-
public enum TestEnum
|
|
53
|
-
{
|
|
54
|
-
One,
|
|
55
|
-
Two
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
`);
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
it("can reference things by refkey", () => {
|
|
62
|
-
const enumRK = core.refkey();
|
|
63
|
-
const twoRK = core.refkey();
|
|
64
|
-
|
|
65
|
-
const res = core.render(
|
|
66
|
-
<core.Output>
|
|
67
|
-
<csharp.Namespace name="TestCode">
|
|
68
|
-
<csharp.SourceFile path="Test.cs">
|
|
69
|
-
<csharp.EnumDeclaration public name="TestEnum" refkey={enumRK}>
|
|
70
|
-
<csharp.EnumMember name="One" />,<hbr />
|
|
71
|
-
<csharp.EnumMember name="Two" refkey={twoRK} />
|
|
72
|
-
</csharp.EnumDeclaration>
|
|
73
|
-
<hbr />
|
|
74
|
-
{enumRK};<hbr />
|
|
75
|
-
{twoRK};
|
|
76
|
-
</csharp.SourceFile>
|
|
77
|
-
</csharp.Namespace>
|
|
78
|
-
</core.Output>,
|
|
79
|
-
);
|
|
80
|
-
|
|
81
|
-
expect(findFile(res, "Test.cs").contents).toBe(coretest.d`
|
|
82
|
-
namespace TestCode
|
|
83
|
-
{
|
|
84
|
-
public enum TestEnum
|
|
85
|
-
{
|
|
86
|
-
One,
|
|
87
|
-
Two
|
|
88
|
-
}
|
|
89
|
-
TestEnum;
|
|
90
|
-
TestEnum.Two;
|
|
91
|
-
}
|
|
92
|
-
`);
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
it("can reference things by refkey across files", () => {
|
|
96
|
-
const enumRK = core.refkey();
|
|
97
|
-
const barRK = core.refkey();
|
|
98
|
-
|
|
99
|
-
const res = core.render(
|
|
100
|
-
<core.Output>
|
|
101
|
-
<csharp.Namespace name="TestCode">
|
|
102
|
-
<csharp.SourceFile path="Test.cs">
|
|
103
|
-
<csharp.EnumDeclaration public name="TestEnum">
|
|
104
|
-
<csharp.EnumMember name="One" />,<hbr />
|
|
105
|
-
<csharp.EnumMember name="Two" />
|
|
106
|
-
</csharp.EnumDeclaration>
|
|
107
|
-
<hbr />
|
|
108
|
-
{enumRK};<hbr />
|
|
109
|
-
{barRK};
|
|
110
|
-
</csharp.SourceFile>
|
|
111
|
-
<csharp.SourceFile path="Other.cs">
|
|
112
|
-
<csharp.EnumDeclaration public name="OtherEnum" refkey={enumRK}>
|
|
113
|
-
<csharp.EnumMember name="Foo" />,<hbr />
|
|
114
|
-
<csharp.EnumMember name="Bar" refkey={barRK} />
|
|
115
|
-
</csharp.EnumDeclaration>
|
|
116
|
-
<hbr />
|
|
117
|
-
{enumRK};<hbr />
|
|
118
|
-
{barRK};
|
|
119
|
-
</csharp.SourceFile>
|
|
120
|
-
</csharp.Namespace>
|
|
121
|
-
</core.Output>,
|
|
122
|
-
);
|
|
123
|
-
|
|
124
|
-
expect(findFile(res, "Test.cs").contents).toBe(coretest.d`
|
|
125
|
-
namespace TestCode
|
|
126
|
-
{
|
|
127
|
-
public enum TestEnum
|
|
128
|
-
{
|
|
129
|
-
One,
|
|
130
|
-
Two
|
|
131
|
-
}
|
|
132
|
-
OtherEnum;
|
|
133
|
-
OtherEnum.Bar;
|
|
134
|
-
}
|
|
135
|
-
`);
|
|
136
|
-
|
|
137
|
-
expect(findFile(res, "Other.cs").contents).toBe(coretest.d`
|
|
138
|
-
namespace TestCode
|
|
139
|
-
{
|
|
140
|
-
public enum OtherEnum
|
|
141
|
-
{
|
|
142
|
-
Foo,
|
|
143
|
-
Bar
|
|
144
|
-
}
|
|
145
|
-
OtherEnum;
|
|
146
|
-
OtherEnum.Bar;
|
|
147
|
-
}
|
|
148
|
-
`);
|
|
149
|
-
});
|
package/test/namespace.test.tsx
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import * as core from "@alloy-js/core";
|
|
2
|
-
import * as coretest from "@alloy-js/core/testing";
|
|
3
|
-
import { it } from "vitest";
|
|
4
|
-
import * as csharp from "../src/index.js";
|
|
5
|
-
import { assertFileContents } from "./utils.jsx";
|
|
6
|
-
|
|
7
|
-
it("defines multiple namespaces and source files with unique content", () => {
|
|
8
|
-
const res = core.render(
|
|
9
|
-
<core.Output>
|
|
10
|
-
<csharp.Namespace name="Namespace1">
|
|
11
|
-
<csharp.SourceFile path="Model1.cs">
|
|
12
|
-
<csharp.ClassDeclaration public name="Model1" />
|
|
13
|
-
</csharp.SourceFile>
|
|
14
|
-
<csharp.SourceFile path="Model2.cs">
|
|
15
|
-
<csharp.ClassDeclaration public name="Model2" />
|
|
16
|
-
</csharp.SourceFile>
|
|
17
|
-
</csharp.Namespace>
|
|
18
|
-
<csharp.Namespace name="Namespace2">
|
|
19
|
-
<csharp.SourceFile path="Model3.cs">
|
|
20
|
-
<csharp.ClassDeclaration public name="Model3" />
|
|
21
|
-
</csharp.SourceFile>
|
|
22
|
-
<csharp.SourceFile path="Model4.cs">
|
|
23
|
-
<csharp.ClassDeclaration public name="Model4" />
|
|
24
|
-
</csharp.SourceFile>
|
|
25
|
-
</csharp.Namespace>
|
|
26
|
-
</core.Output>,
|
|
27
|
-
);
|
|
28
|
-
|
|
29
|
-
assertFileContents(res, {
|
|
30
|
-
"Model1.cs": coretest.d`
|
|
31
|
-
namespace Namespace1
|
|
32
|
-
{
|
|
33
|
-
public class Model1;
|
|
34
|
-
}
|
|
35
|
-
`,
|
|
36
|
-
"Model2.cs": coretest.d`
|
|
37
|
-
namespace Namespace1
|
|
38
|
-
{
|
|
39
|
-
public class Model2;
|
|
40
|
-
}
|
|
41
|
-
`,
|
|
42
|
-
"Model3.cs": coretest.d`
|
|
43
|
-
namespace Namespace2
|
|
44
|
-
{
|
|
45
|
-
public class Model3;
|
|
46
|
-
}
|
|
47
|
-
`,
|
|
48
|
-
"Model4.cs": coretest.d`
|
|
49
|
-
namespace Namespace2
|
|
50
|
-
{
|
|
51
|
-
public class Model4;
|
|
52
|
-
}
|
|
53
|
-
`,
|
|
54
|
-
});
|
|
55
|
-
});
|
package/test/sourcefile.test.tsx
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import * as core from "@alloy-js/core";
|
|
2
|
-
import * as coretest from "@alloy-js/core/testing";
|
|
3
|
-
import { expect, it } from "vitest";
|
|
4
|
-
import * as csharp from "../src/index.js";
|
|
5
|
-
import { assertFileContents } from "./utils.jsx";
|
|
6
|
-
|
|
7
|
-
it("defines multiple source files with unique content", () => {
|
|
8
|
-
const res = core.render(
|
|
9
|
-
<core.Output>
|
|
10
|
-
<csharp.Namespace name="TestCode">
|
|
11
|
-
<csharp.SourceFile path="Test1.cs">
|
|
12
|
-
<csharp.ClassDeclaration public name="TestClass1" />
|
|
13
|
-
</csharp.SourceFile>
|
|
14
|
-
<csharp.SourceFile path="Test2.cs">
|
|
15
|
-
<csharp.ClassDeclaration public name="TestClass2" />
|
|
16
|
-
</csharp.SourceFile>
|
|
17
|
-
</csharp.Namespace>
|
|
18
|
-
</core.Output>,
|
|
19
|
-
);
|
|
20
|
-
|
|
21
|
-
assertFileContents(res, {
|
|
22
|
-
"Test1.cs": coretest.d`
|
|
23
|
-
namespace TestCode
|
|
24
|
-
{
|
|
25
|
-
public class TestClass1;
|
|
26
|
-
}
|
|
27
|
-
`,
|
|
28
|
-
"Test2.cs": coretest.d`
|
|
29
|
-
namespace TestCode
|
|
30
|
-
{
|
|
31
|
-
public class TestClass2;
|
|
32
|
-
}
|
|
33
|
-
`,
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
it("throws when declaring a source file outside a namespace", () => {
|
|
38
|
-
const decl = (
|
|
39
|
-
<core.Output>
|
|
40
|
-
<csharp.SourceFile path="Test.cs" />
|
|
41
|
-
</core.Output>
|
|
42
|
-
);
|
|
43
|
-
|
|
44
|
-
expect(() => core.render(decl)).toThrow(
|
|
45
|
-
"SourceFile must be declared inside a namespace",
|
|
46
|
-
);
|
|
47
|
-
});
|
|
File without changes
|