@alloy-js/csharp 0.18.0-dev.24 → 0.18.0-dev.3

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.
Files changed (168) hide show
  1. package/dist/src/components/Class.d.ts +26 -0
  2. package/dist/src/components/Class.d.ts.map +1 -0
  3. package/dist/src/components/{ClassDeclaration.js → Class.js} +38 -70
  4. package/dist/src/components/ClassMethod.d.ts +5 -44
  5. package/dist/src/components/ClassMethod.d.ts.map +1 -1
  6. package/dist/src/components/ClassMethod.js +9 -33
  7. package/dist/src/components/Enum.d.ts +15 -0
  8. package/dist/src/components/Enum.d.ts.map +1 -0
  9. package/dist/src/components/{EnumDeclaration.js → Enum.js} +5 -25
  10. package/dist/src/components/Parameters.d.ts +13 -0
  11. package/dist/src/components/Parameters.d.ts.map +1 -0
  12. package/dist/src/components/Parameters.js +34 -0
  13. package/dist/src/components/SourceFile.d.ts.map +1 -1
  14. package/dist/src/components/SourceFile.js +0 -1
  15. package/dist/src/components/index.d.ts +4 -14
  16. package/dist/src/components/index.d.ts.map +1 -1
  17. package/dist/src/components/index.js +5 -15
  18. package/dist/src/components/stc/index.d.ts +2 -2
  19. package/dist/src/components/stc/index.d.ts.map +1 -1
  20. package/dist/src/components/stc/index.js +2 -2
  21. package/dist/src/modifiers.d.ts +4 -10
  22. package/dist/src/modifiers.d.ts.map +1 -1
  23. package/dist/src/modifiers.js +32 -9
  24. package/dist/src/name-policy.d.ts +1 -1
  25. package/dist/src/name-policy.d.ts.map +1 -1
  26. package/dist/src/name-policy.js +0 -2
  27. package/dist/test/class-method.test.js +14 -37
  28. package/dist/test/class.test.d.ts +2 -0
  29. package/dist/test/class.test.d.ts.map +1 -0
  30. package/dist/test/class.test.js +298 -0
  31. package/dist/test/enum.test.js +12 -12
  32. package/dist/test/namespace.test.js +8 -8
  33. package/dist/test/projectdirectory.test.d.ts +2 -0
  34. package/dist/test/projectdirectory.test.d.ts.map +1 -0
  35. package/dist/test/{project-directory.test.js → projectdirectory.test.js} +8 -8
  36. package/dist/test/sourcefile.test.js +4 -4
  37. package/dist/test/using.test.js +9 -9
  38. package/dist/tsconfig.tsbuildinfo +1 -1
  39. package/package.json +3 -4
  40. package/src/components/Class.tsx +149 -0
  41. package/src/components/ClassMethod.tsx +15 -74
  42. package/src/components/{EnumDeclaration.tsx → Enum.tsx} +6 -30
  43. package/src/components/Parameters.tsx +51 -0
  44. package/src/components/SourceFile.tsx +0 -1
  45. package/src/components/index.ts +4 -14
  46. package/src/components/stc/index.ts +2 -2
  47. package/src/modifiers.ts +42 -25
  48. package/src/name-policy.ts +0 -5
  49. package/temp/api.json +1298 -6463
  50. package/test/class-method.test.tsx +14 -24
  51. package/test/class.test.tsx +292 -0
  52. package/test/enum.test.tsx +11 -11
  53. package/test/namespace.test.tsx +4 -4
  54. package/test/{project-directory.test.tsx → projectdirectory.test.tsx} +4 -4
  55. package/test/sourcefile.test.tsx +2 -2
  56. package/test/using.test.tsx +9 -9
  57. package/vitest.config.ts +0 -3
  58. package/dist/src/components/ClassDeclaration.d.ts +0 -92
  59. package/dist/src/components/ClassDeclaration.d.ts.map +0 -1
  60. package/dist/src/components/EnumDeclaration.d.ts +0 -34
  61. package/dist/src/components/EnumDeclaration.d.ts.map +0 -1
  62. package/dist/src/components/attributes/attributes.d.ts +0 -39
  63. package/dist/src/components/attributes/attributes.d.ts.map +0 -1
  64. package/dist/src/components/attributes/attributes.js +0 -62
  65. package/dist/src/components/attributes/attributes.test.d.ts +0 -2
  66. package/dist/src/components/attributes/attributes.test.d.ts.map +0 -1
  67. package/dist/src/components/attributes/attributes.test.js +0 -75
  68. package/dist/src/components/doc/comment.d.ts +0 -70
  69. package/dist/src/components/doc/comment.d.ts.map +0 -1
  70. package/dist/src/components/doc/comment.js +0 -88
  71. package/dist/src/components/doc/comment.test.d.ts +0 -2
  72. package/dist/src/components/doc/comment.test.d.ts.map +0 -1
  73. package/dist/src/components/doc/comment.test.js +0 -348
  74. package/dist/src/components/doc/from-markdown.d.ts +0 -6
  75. package/dist/src/components/doc/from-markdown.d.ts.map +0 -1
  76. package/dist/src/components/doc/from-markdown.js +0 -58
  77. package/dist/src/components/doc/from-markdown.test.d.ts +0 -2
  78. package/dist/src/components/doc/from-markdown.test.d.ts.map +0 -1
  79. package/dist/src/components/doc/from-markdown.test.js +0 -83
  80. package/dist/src/components/interface/declaration.d.ts +0 -65
  81. package/dist/src/components/interface/declaration.d.ts.map +0 -1
  82. package/dist/src/components/interface/declaration.js +0 -83
  83. package/dist/src/components/interface/declaration.test.d.ts +0 -2
  84. package/dist/src/components/interface/declaration.test.d.ts.map +0 -1
  85. package/dist/src/components/interface/declaration.test.js +0 -171
  86. package/dist/src/components/interface/method.d.ts +0 -50
  87. package/dist/src/components/interface/method.d.ts.map +0 -1
  88. package/dist/src/components/interface/method.js +0 -74
  89. package/dist/src/components/interface/method.test.d.ts +0 -2
  90. package/dist/src/components/interface/method.test.d.ts.map +0 -1
  91. package/dist/src/components/interface/method.test.js +0 -300
  92. package/dist/src/components/interface/property.d.ts +0 -56
  93. package/dist/src/components/interface/property.d.ts.map +0 -1
  94. package/dist/src/components/interface/property.js +0 -73
  95. package/dist/src/components/interface/property.test.d.ts +0 -2
  96. package/dist/src/components/interface/property.test.d.ts.map +0 -1
  97. package/dist/src/components/interface/property.test.js +0 -189
  98. package/dist/src/components/parameters/parameters.d.ts +0 -19
  99. package/dist/src/components/parameters/parameters.d.ts.map +0 -1
  100. package/dist/src/components/parameters/parameters.js +0 -43
  101. package/dist/src/components/property/property.d.ts +0 -80
  102. package/dist/src/components/property/property.d.ts.map +0 -1
  103. package/dist/src/components/property/property.js +0 -76
  104. package/dist/src/components/property/property.test.d.ts +0 -2
  105. package/dist/src/components/property/property.test.d.ts.map +0 -1
  106. package/dist/src/components/property/property.test.js +0 -242
  107. package/dist/src/components/record/declaration.d.ts +0 -35
  108. package/dist/src/components/record/declaration.d.ts.map +0 -1
  109. package/dist/src/components/record/declaration.js +0 -90
  110. package/dist/src/components/record/declaration.test.d.ts +0 -2
  111. package/dist/src/components/record/declaration.test.d.ts.map +0 -1
  112. package/dist/src/components/record/declaration.test.js +0 -94
  113. package/dist/src/components/type-parameters/type-parameter-constraints.d.ts +0 -8
  114. package/dist/src/components/type-parameters/type-parameter-constraints.d.ts.map +0 -1
  115. package/dist/src/components/type-parameters/type-parameter-constraints.js +0 -44
  116. package/dist/src/components/type-parameters/type-parameter-constraints.test.d.ts +0 -2
  117. package/dist/src/components/type-parameters/type-parameter-constraints.test.d.ts.map +0 -1
  118. package/dist/src/components/type-parameters/type-parameter-constraints.test.js +0 -67
  119. package/dist/src/components/type-parameters/type-parameter.d.ts +0 -20
  120. package/dist/src/components/type-parameters/type-parameter.d.ts.map +0 -1
  121. package/dist/src/components/type-parameters/type-parameter.js +0 -22
  122. package/dist/src/components/type-parameters/type-parameters.d.ts +0 -17
  123. package/dist/src/components/type-parameters/type-parameters.d.ts.map +0 -1
  124. package/dist/src/components/type-parameters/type-parameters.js +0 -54
  125. package/dist/src/components/type-parameters/type-parameters.test.d.ts +0 -2
  126. package/dist/src/components/type-parameters/type-parameters.test.d.ts.map +0 -1
  127. package/dist/src/components/type-parameters/type-parameters.test.js +0 -48
  128. package/dist/src/components/var/declaration.d.ts +0 -35
  129. package/dist/src/components/var/declaration.d.ts.map +0 -1
  130. package/dist/src/components/var/declaration.js +0 -40
  131. package/dist/src/components/var/declaration.test.d.ts +0 -2
  132. package/dist/src/components/var/declaration.test.d.ts.map +0 -1
  133. package/dist/src/components/var/declaration.test.js +0 -73
  134. package/dist/test/class-declaration.test.d.ts +0 -2
  135. package/dist/test/class-declaration.test.d.ts.map +0 -1
  136. package/dist/test/class-declaration.test.js +0 -481
  137. package/dist/test/project-directory.test.d.ts +0 -2
  138. package/dist/test/project-directory.test.d.ts.map +0 -1
  139. package/dist/test/vitest.setup.d.ts +0 -2
  140. package/dist/test/vitest.setup.d.ts.map +0 -1
  141. package/dist/test/vitest.setup.js +0 -1
  142. package/src/components/ClassDeclaration.tsx +0 -233
  143. package/src/components/attributes/attributes.test.tsx +0 -61
  144. package/src/components/attributes/attributes.tsx +0 -100
  145. package/src/components/doc/comment.test.tsx +0 -337
  146. package/src/components/doc/comment.tsx +0 -152
  147. package/src/components/doc/from-markdown.test.tsx +0 -103
  148. package/src/components/doc/from-markdown.tsx +0 -58
  149. package/src/components/interface/declaration.test.tsx +0 -158
  150. package/src/components/interface/declaration.tsx +0 -125
  151. package/src/components/interface/method.test.tsx +0 -293
  152. package/src/components/interface/method.tsx +0 -122
  153. package/src/components/interface/property.test.tsx +0 -165
  154. package/src/components/interface/property.tsx +0 -127
  155. package/src/components/parameters/parameters.tsx +0 -74
  156. package/src/components/property/property.test.tsx +0 -209
  157. package/src/components/property/property.tsx +0 -172
  158. package/src/components/record/declaration.test.tsx +0 -73
  159. package/src/components/record/declaration.tsx +0 -109
  160. package/src/components/type-parameters/type-parameter-constraints.test.tsx +0 -93
  161. package/src/components/type-parameters/type-parameter-constraints.tsx +0 -46
  162. package/src/components/type-parameters/type-parameter.tsx +0 -35
  163. package/src/components/type-parameters/type-parameters.test.tsx +0 -46
  164. package/src/components/type-parameters/type-parameters.tsx +0 -63
  165. package/src/components/var/declaration.test.tsx +0 -59
  166. package/src/components/var/declaration.tsx +0 -47
  167. package/test/class-declaration.test.tsx +0 -430
  168. package/test/vitest.setup.ts +0 -1
@@ -1,47 +0,0 @@
1
- import { Children, DeclarationProps, Name, Refkey } from "@alloy-js/core";
2
- import { useCSharpNamePolicy } from "../../name-policy.js";
3
- import { Declaration } from "../Declaration.jsx";
4
-
5
- /** Props for {@link VarDeclaration} component */
6
- export interface VarDeclarationProps
7
- extends Omit<DeclarationProps, "nameKind"> {
8
- /** Variable name */
9
- name: string;
10
- /** Type of the variable declaration. If not specified, defaults to "var" */
11
- type?: Children;
12
- /** Variable refkey */
13
- refkey?: Refkey;
14
- /** Variable value */
15
- children?: Children;
16
- }
17
-
18
- /**
19
- * Render a variable declaration
20
- *
21
- * @example with var
22
- * ```tsx
23
- * <VarDeclaration name="myVar">42</VarDeclaration>
24
- * ```
25
- * This will render:
26
- * ```csharp
27
- * var myVar = 42;
28
- * ```
29
- *
30
- * @example with type
31
- * ```tsx
32
- * <VarDeclaration name="myVar" type="int">42</VarDeclaration>
33
- * ```
34
- * This will render:
35
- * ```csharp
36
- * int myVar = 42;
37
- * ```
38
- */
39
- export function VarDeclaration(props: VarDeclarationProps) {
40
- const name = useCSharpNamePolicy().getName(props.name, "variable");
41
-
42
- return (
43
- <Declaration name={name} refkey={props.refkey}>
44
- {props.type ?? "var"} <Name /> = {props.children};
45
- </Declaration>
46
- );
47
- }
@@ -1,430 +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 { TypeParameterProps } from "../src/components/type-parameters/type-parameter.jsx";
7
- import * as csharp from "../src/index.js";
8
- import {
9
- ClassDeclaration,
10
- ClassMember,
11
- Property,
12
- SourceFile,
13
- } from "../src/index.js";
14
- import * as utils from "./utils.jsx";
15
-
16
- it("declares class with no members", () => {
17
- expect(
18
- <utils.TestNamespace>
19
- <ClassDeclaration name="TestClass" />
20
- </utils.TestNamespace>,
21
- ).toRenderTo(`
22
- class TestClass;
23
- `);
24
- });
25
-
26
- describe("modifiers", () => {
27
- it.each(["public", "private"])("%s", (mod) => {
28
- expect(
29
- <utils.TestNamespace>
30
- <ClassDeclaration {...{ [mod]: true }} name="TestClass" />
31
- </utils.TestNamespace>,
32
- ).toRenderTo(`
33
- ${mod} class TestClass;
34
- `);
35
- });
36
-
37
- it.each(["partial", "abstract", "static", "sealed"])("%s", (mod) => {
38
- expect(
39
- <utils.TestNamespace>
40
- <ClassDeclaration {...{ [mod]: true }} name="TestClass" />
41
- </utils.TestNamespace>,
42
- ).toRenderTo(`
43
- ${mod} class TestClass;
44
- `);
45
- });
46
-
47
- it("combines modifiers", () => {
48
- expect(
49
- <utils.TestNamespace>
50
- <ClassDeclaration public abstract partial name="TestClass" />
51
- </utils.TestNamespace>,
52
- ).toRenderTo(`
53
- public abstract partial class TestClass;
54
- `);
55
- });
56
- });
57
-
58
- describe("base", () => {
59
- it("define base class", () => {
60
- expect(
61
- <utils.TestNamespace>
62
- <csharp.ClassDeclaration name="TestClass" baseType="Foo" />
63
- </utils.TestNamespace>,
64
- ).toRenderTo(`
65
- class TestClass : Foo;
66
- `);
67
- });
68
-
69
- it("define multiple interface types", () => {
70
- expect(
71
- <utils.TestNamespace>
72
- <csharp.ClassDeclaration
73
- name="TestClass"
74
- interfaceTypes={["Foo", "Bar"]}
75
- />
76
- </utils.TestNamespace>,
77
- ).toRenderTo(`
78
- class TestClass : Foo, Bar;
79
- `);
80
- });
81
-
82
- it("define base class and multiple interface types", () => {
83
- expect(
84
- <utils.TestNamespace>
85
- <csharp.ClassDeclaration
86
- name="TestClass"
87
- baseType="BaseClass"
88
- interfaceTypes={["Foo", "Bar"]}
89
- />
90
- </utils.TestNamespace>,
91
- ).toRenderTo(`
92
- class TestClass : BaseClass, Foo, Bar;
93
- `);
94
- });
95
- });
96
-
97
- it("declares class with some members", () => {
98
- const res = utils.toSourceText(
99
- <csharp.ClassDeclaration public name="TestClass">
100
- <core.StatementList>
101
- <csharp.ClassMember public name="MemberOne" type="string" />
102
- <csharp.ClassMember private name="MemberTwo" type="int" />
103
- </core.StatementList>
104
- </csharp.ClassDeclaration>,
105
- );
106
-
107
- expect(res).toBe(coretest.d`
108
- namespace TestCode
109
- {
110
- public class TestClass
111
- {
112
- public string MemberOne;
113
- private int memberTwo;
114
- }
115
- }
116
- `);
117
- });
118
-
119
- it("declares class with some methods", () => {
120
- const res = utils.toSourceText(
121
- <csharp.ClassDeclaration public name="TestClass">
122
- <core.List>
123
- <csharp.ClassMethod public name="MethodOne" />
124
- <csharp.ClassMethod private virtual name="MethodTwo" />
125
- </core.List>
126
- </csharp.ClassDeclaration>,
127
- );
128
-
129
- expect(res).toBe(coretest.d`
130
- namespace TestCode
131
- {
132
- public class TestClass
133
- {
134
- public void MethodOne() {}
135
- private virtual void MethodTwo() {}
136
- }
137
- }
138
- `);
139
- });
140
-
141
- it("uses refkeys for members, params, and return type", () => {
142
- const inputTypeRefkey = core.refkey();
143
- const testResultTypeRefkey = core.refkey();
144
- const enumTypeRefkey = core.refkey();
145
-
146
- const params = [
147
- {
148
- name: "IntParam",
149
- type: "int",
150
- },
151
- {
152
- name: "BodyParam",
153
- type: inputTypeRefkey,
154
- },
155
- ];
156
-
157
- const res = core.render(
158
- <core.Output namePolicy={csharp.createCSharpNamePolicy()}>
159
- <csharp.Namespace name="TestCode">
160
- <csharp.SourceFile path="Test.cs">
161
- <csharp.EnumDeclaration
162
- public
163
- name="TestEnum"
164
- refkey={enumTypeRefkey}
165
- >
166
- <core.List comma hardline>
167
- <csharp.EnumMember name="One" />
168
- <csharp.EnumMember name="Two" />
169
- </core.List>
170
- </csharp.EnumDeclaration>
171
- <hbr />
172
- <csharp.ClassDeclaration
173
- public
174
- name="TestInput"
175
- refkey={inputTypeRefkey}
176
- />
177
- <hbr />
178
- <csharp.ClassDeclaration
179
- public
180
- name="TestResult"
181
- refkey={testResultTypeRefkey}
182
- />
183
- <hbr />
184
- <csharp.ClassDeclaration public name="TestClass">
185
- <csharp.ClassMember
186
- private
187
- name="MemberOne"
188
- type={enumTypeRefkey}
189
- />
190
- ;
191
- <hbr />
192
- <csharp.ClassMethod
193
- public
194
- name="MethodOne"
195
- parameters={params}
196
- returns={testResultTypeRefkey}
197
- >
198
- return new {testResultTypeRefkey}();
199
- </csharp.ClassMethod>
200
- </csharp.ClassDeclaration>
201
- </csharp.SourceFile>
202
- </csharp.Namespace>
203
- </core.Output>,
204
- );
205
-
206
- expect(res.contents[0].contents).toBe(coretest.d`
207
- namespace TestCode
208
- {
209
- public enum TestEnum
210
- {
211
- One,
212
- Two
213
- }
214
- public class TestInput;
215
- public class TestResult;
216
- public class TestClass
217
- {
218
- private TestEnum memberOne;
219
- public TestResult MethodOne(int intParam, TestInput bodyParam)
220
- {
221
- return new TestResult();
222
- }
223
- }
224
- }
225
- `);
226
- });
227
-
228
- describe("with type parameters", () => {
229
- it("reference parameters", () => {
230
- const typeParameters: TypeParameterProps[] = [
231
- {
232
- name: "T",
233
- refkey: refkey(),
234
- },
235
- {
236
- name: "U",
237
- refkey: refkey(),
238
- },
239
- ];
240
-
241
- expect(
242
- <utils.TestNamespace>
243
- <SourceFile path="Test.cs">
244
- <ClassDeclaration
245
- public
246
- name="TestClass"
247
- typeParameters={typeParameters}
248
- >
249
- <List>
250
- <Property name="PropA" type={typeParameters[0].refkey} get set />
251
- <Property name="PropB" type={typeParameters[1].refkey} get set />
252
- </List>
253
- </ClassDeclaration>
254
- </SourceFile>
255
- </utils.TestNamespace>,
256
- ).toRenderTo(`
257
- namespace TestCode
258
- {
259
- public class TestClass<T, U>
260
- {
261
- T PropA { get; set; }
262
- U PropB { get; set; }
263
- }
264
- }
265
- `);
266
- });
267
-
268
- it("defines with constraints", () => {
269
- const typeParameters: TypeParameterProps[] = [
270
- {
271
- name: "T",
272
- constraints: "IFoo",
273
- },
274
- {
275
- name: "U",
276
- constraints: "IBar",
277
- },
278
- ];
279
-
280
- expect(
281
- <utils.TestNamespace>
282
- <ClassDeclaration
283
- public
284
- name="TestClass"
285
- typeParameters={typeParameters}
286
- >
287
- // Body
288
- </ClassDeclaration>
289
- </utils.TestNamespace>,
290
- ).toRenderTo(`
291
- public class TestClass<T, U>
292
- where T : IFoo
293
- where U : IBar
294
- {
295
- // Body
296
- }
297
- `);
298
- });
299
- });
300
-
301
- it("declares class with invalid members", () => {
302
- const decl = (
303
- <csharp.ClassDeclaration public name="TestClass">
304
- <csharp.EnumMember name="One" />,<hbr />
305
- <csharp.EnumMember name="Two" />
306
- </csharp.ClassDeclaration>
307
- );
308
-
309
- expect(() => utils.toSourceText(decl)).toThrow(
310
- "can't define an enum member outside of an enum-decl scope",
311
- );
312
- });
313
-
314
- it("declares class with constructor", () => {
315
- const res = utils.toSourceText(
316
- <csharp.ClassDeclaration public name="TestClass">
317
- <csharp.ClassConstructor public />
318
- </csharp.ClassDeclaration>,
319
- );
320
-
321
- expect(res).toBe(coretest.d`
322
- namespace TestCode
323
- {
324
- public class TestClass
325
- {
326
- public TestClass() {}
327
- }
328
- }
329
- `);
330
- });
331
-
332
- it("declares class with constructor params and assigns values to fields", () => {
333
- const thisNameRefkey = core.refkey();
334
- const thisSizeRefkey = core.refkey();
335
- const paramNameRefkey = core.refkey();
336
- const paramSizeRefkey = core.refkey();
337
-
338
- const ctorParams = [
339
- {
340
- name: "name",
341
- type: "string",
342
- refkey: paramNameRefkey,
343
- },
344
- {
345
- name: "size",
346
- type: "int",
347
- refkey: paramSizeRefkey,
348
- },
349
- ];
350
-
351
- const res = utils.toSourceText(
352
- <csharp.ClassDeclaration public name="TestClass">
353
- <csharp.ClassMember
354
- private
355
- name="name"
356
- type="string"
357
- refkey={thisNameRefkey}
358
- />
359
- ;<hbr />
360
- <csharp.ClassMember
361
- private
362
- name="size"
363
- type="int"
364
- refkey={thisSizeRefkey}
365
- />
366
- ;<hbr />
367
- <csharp.ClassConstructor public parameters={ctorParams}>
368
- {thisNameRefkey} = {paramNameRefkey};<hbr />
369
- {thisSizeRefkey} = {paramSizeRefkey};
370
- </csharp.ClassConstructor>
371
- </csharp.ClassDeclaration>,
372
- );
373
-
374
- // TODO: assignments to members should have this. prefix
375
- // e.g. this.name = name;
376
- expect(res).toBe(coretest.d`
377
- namespace TestCode
378
- {
379
- public class TestClass
380
- {
381
- private string name;
382
- private int size;
383
- public TestClass(string name, int size)
384
- {
385
- name = name;
386
- size = size;
387
- }
388
- }
389
- }
390
- `);
391
- });
392
-
393
- it("specify doc comment", () => {
394
- expect(
395
- <utils.TestNamespace>
396
- <ClassDeclaration name="Test" doc="This is a test" />
397
- </utils.TestNamespace>,
398
- ).toRenderTo(`
399
- /// This is a test
400
- class Test;
401
- `);
402
- });
403
-
404
- it("supports class member doc comments", () => {
405
- expect(
406
- <utils.TestNamespace>
407
- <ClassDeclaration name="Test" doc="This is a test">
408
- <ClassMember name="Member" public type="int" doc="This is a member" />
409
- </ClassDeclaration>
410
- </utils.TestNamespace>,
411
- ).toRenderTo(`
412
- /// This is a test
413
- class Test
414
- {
415
- /// This is a member
416
- public int Member
417
- }
418
- `);
419
- });
420
-
421
- it("specify attributes", () => {
422
- expect(
423
- <utils.TestNamespace>
424
- <ClassDeclaration name="Test" attributes={[<Attribute name="Test" />]} />
425
- </utils.TestNamespace>,
426
- ).toRenderTo(`
427
- [Test]
428
- class Test;
429
- `);
430
- });
@@ -1 +0,0 @@
1
- import "@alloy-js/core/testing";