@alloy-js/csharp 0.4.0 → 0.6.0

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 (61) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/src/components/Class.d.ts +4 -4
  3. package/dist/src/components/Class.d.ts.map +1 -1
  4. package/dist/src/components/Class.js +26 -14
  5. package/dist/src/components/Class.js.map +1 -1
  6. package/dist/src/components/Declaration.d.ts +1 -1
  7. package/dist/src/components/Declaration.d.ts.map +1 -1
  8. package/dist/src/components/Declaration.js +0 -1
  9. package/dist/src/components/Declaration.js.map +1 -1
  10. package/dist/src/components/Enum.d.ts +2 -2
  11. package/dist/src/components/Enum.d.ts.map +1 -1
  12. package/dist/src/components/Enum.js +6 -6
  13. package/dist/src/components/Enum.js.map +1 -1
  14. package/dist/src/components/Name.d.ts +2 -1
  15. package/dist/src/components/Name.d.ts.map +1 -1
  16. package/dist/src/components/Name.js +1 -1
  17. package/dist/src/components/Name.js.map +1 -1
  18. package/dist/src/components/Namespace.d.ts +1 -1
  19. package/dist/src/components/Namespace.d.ts.map +1 -1
  20. package/dist/src/components/Namespace.js +0 -1
  21. package/dist/src/components/Namespace.js.map +1 -1
  22. package/dist/src/components/Parameters.d.ts +2 -2
  23. package/dist/src/components/Parameters.d.ts.map +1 -1
  24. package/dist/src/components/Parameters.js +6 -4
  25. package/dist/src/components/Parameters.js.map +1 -1
  26. package/dist/src/components/ProjectDirectory.d.ts +1 -1
  27. package/dist/src/components/ProjectDirectory.d.ts.map +1 -1
  28. package/dist/src/components/ProjectDirectory.js +1 -1
  29. package/dist/src/components/ProjectDirectory.js.map +1 -1
  30. package/dist/src/components/Reference.d.ts +1 -1
  31. package/dist/src/components/Reference.d.ts.map +1 -1
  32. package/dist/src/components/Reference.js +1 -1
  33. package/dist/src/components/Reference.js.map +1 -1
  34. package/dist/src/components/SourceFile.d.ts +3 -1
  35. package/dist/src/components/SourceFile.d.ts.map +1 -1
  36. package/dist/src/components/SourceFile.js +7 -9
  37. package/dist/src/components/SourceFile.js.map +1 -1
  38. package/dist/src/components/UsingDirective.d.ts +2 -1
  39. package/dist/src/components/UsingDirective.d.ts.map +1 -1
  40. package/dist/src/components/UsingDirective.js +7 -7
  41. package/dist/src/components/UsingDirective.js.map +1 -1
  42. package/dist/src/components/stc/index.d.ts +5 -5
  43. package/dist/test/utils.d.ts.map +1 -1
  44. package/dist/tsconfig.tsbuildinfo +1 -1
  45. package/package.json +4 -6
  46. package/src/components/Class.tsx +48 -42
  47. package/src/components/Declaration.tsx +1 -3
  48. package/src/components/Enum.tsx +15 -13
  49. package/src/components/Namespace.tsx +5 -5
  50. package/src/components/Parameters.tsx +9 -9
  51. package/src/components/ProjectDirectory.tsx +9 -7
  52. package/src/components/SourceFile.tsx +20 -12
  53. package/src/components/UsingDirective.tsx +8 -9
  54. package/temp/api.json +47 -46
  55. package/test/class.test.tsx +106 -38
  56. package/test/enum.test.tsx +19 -22
  57. package/test/namespace.test.tsx +6 -10
  58. package/test/projectdirectory.test.tsx +19 -12
  59. package/test/sourcefile.test.tsx +7 -8
  60. package/test/using.test.tsx +26 -14
  61. package/test/utils.tsx +2 -4
@@ -6,7 +6,7 @@ import * as utils from "./utils.js";
6
6
 
7
7
  it("declares class with no members", () => {
8
8
  const res = utils.toSourceText(
9
- <csharp.Class accessModifier='public' name="TestClass" />,
9
+ <csharp.Class accessModifier="public" name="TestClass" />,
10
10
  );
11
11
 
12
12
  expect(res).toBe(coretest.d`
@@ -14,15 +14,24 @@ it("declares class with no members", () => {
14
14
  {
15
15
  public class TestClass;
16
16
  }
17
-
18
17
  `);
19
18
  });
20
19
 
21
20
  it("declares class with some members", () => {
22
21
  const res = utils.toSourceText(
23
- <csharp.Class accessModifier='public' name="TestClass">
24
- <csharp.ClassMember accessModifier="public" name="MemberOne" type="string" />
25
- <csharp.ClassMember accessModifier="private" name="MemberTwo" type="int" />
22
+ <csharp.Class accessModifier="public" name="TestClass">
23
+ <core.StatementList>
24
+ <csharp.ClassMember
25
+ accessModifier="public"
26
+ name="MemberOne"
27
+ type="string"
28
+ />
29
+ <csharp.ClassMember
30
+ accessModifier="private"
31
+ name="MemberTwo"
32
+ type="int"
33
+ />
34
+ </core.StatementList>
26
35
  </csharp.Class>,
27
36
  );
28
37
 
@@ -35,15 +44,20 @@ it("declares class with some members", () => {
35
44
  private int memberTwo;
36
45
  }
37
46
  }
38
-
39
47
  `);
40
48
  });
41
49
 
42
50
  it("declares class with some methods", () => {
43
51
  const res = utils.toSourceText(
44
- <csharp.Class accessModifier='public' name="TestClass">
45
- <csharp.ClassMethod accessModifier="public" name="MethodOne" />
46
- <csharp.ClassMethod accessModifier="private" methodModifier="virtual" name="MethodTwo" />
52
+ <csharp.Class accessModifier="public" name="TestClass">
53
+ <core.List>
54
+ <csharp.ClassMethod accessModifier="public" name="MethodOne" />
55
+ <csharp.ClassMethod
56
+ accessModifier="private"
57
+ methodModifier="virtual"
58
+ name="MethodTwo"
59
+ />
60
+ </core.List>
47
61
  </csharp.Class>,
48
62
  );
49
63
 
@@ -56,7 +70,6 @@ it("declares class with some methods", () => {
56
70
  private virtual void MethodTwo() {}
57
71
  }
58
72
  }
59
-
60
73
  `);
61
74
  });
62
75
 
@@ -72,8 +85,13 @@ it("declares class with params and return type", () => {
72
85
  },
73
86
  ];
74
87
  const res = utils.toSourceText(
75
- <csharp.Class accessModifier='public' name="TestClass">
76
- <csharp.ClassMethod accessModifier="public" name="MethodOne" parameters={params} returns="string" />
88
+ <csharp.Class accessModifier="public" name="TestClass">
89
+ <csharp.ClassMethod
90
+ accessModifier="public"
91
+ name="MethodOne"
92
+ parameters={params}
93
+ returns="string"
94
+ />
77
95
  </csharp.Class>,
78
96
  );
79
97
 
@@ -85,7 +103,6 @@ it("declares class with params and return type", () => {
85
103
  public string MethodOne(int intParam, string stringParam) {}
86
104
  }
87
105
  }
88
-
89
106
  `);
90
107
  });
91
108
 
@@ -107,17 +124,45 @@ it("uses refkeys for members, params, and return type", () => {
107
124
 
108
125
  const res = core.render(
109
126
  <core.Output namePolicy={csharp.createCSharpNamePolicy()}>
110
- <csharp.Namespace name='TestCode'>
127
+ <csharp.Namespace name="TestCode">
111
128
  <csharp.SourceFile path="Test.cs">
112
- <csharp.Enum accessModifier='public' name="TestEnum" refkey={enumTypeRefkey}>
113
- <csharp.EnumMember name="One" />,
114
- <csharp.EnumMember name="Two" />
129
+ <csharp.Enum
130
+ accessModifier="public"
131
+ name="TestEnum"
132
+ refkey={enumTypeRefkey}
133
+ >
134
+ <core.List comma hardline>
135
+ <csharp.EnumMember name="One" />
136
+ <csharp.EnumMember name="Two" />
137
+ </core.List>
115
138
  </csharp.Enum>
116
- <csharp.Class accessModifier="public" name="TestInput" refkey={inputTypeRefkey} />
117
- <csharp.Class accessModifier="public" name="TestResult" refkey={testResultTypeRefkey} />
118
- <csharp.Class accessModifier='public' name="TestClass">
119
- <csharp.ClassMember accessModifier="private" name="MemberOne" type={enumTypeRefkey} />
120
- <csharp.ClassMethod accessModifier="public" name="MethodOne" parameters={params} returns={testResultTypeRefkey}>
139
+ <hbr />
140
+ <csharp.Class
141
+ accessModifier="public"
142
+ name="TestInput"
143
+ refkey={inputTypeRefkey}
144
+ />
145
+ <hbr />
146
+ <csharp.Class
147
+ accessModifier="public"
148
+ name="TestResult"
149
+ refkey={testResultTypeRefkey}
150
+ />
151
+ <hbr />
152
+ <csharp.Class accessModifier="public" name="TestClass">
153
+ <csharp.ClassMember
154
+ accessModifier="private"
155
+ name="MemberOne"
156
+ type={enumTypeRefkey}
157
+ />
158
+ ;
159
+ <hbr />
160
+ <csharp.ClassMethod
161
+ accessModifier="public"
162
+ name="MethodOne"
163
+ parameters={params}
164
+ returns={testResultTypeRefkey}
165
+ >
121
166
  return new {testResultTypeRefkey}();
122
167
  </csharp.ClassMethod>
123
168
  </csharp.Class>
@@ -145,7 +190,6 @@ it("uses refkeys for members, params, and return type", () => {
145
190
  }
146
191
  }
147
192
  }
148
-
149
193
  `);
150
194
  });
151
195
 
@@ -156,9 +200,23 @@ it("declares class with generic parameters", () => {
156
200
  };
157
201
 
158
202
  const res = utils.toSourceText(
159
- <csharp.Class accessModifier='public' name="TestClass" typeParameters={typeParameters}>
160
- <csharp.ClassMember accessModifier="public" name="memberOne" type={typeParameters.T} />
161
- <csharp.ClassMember accessModifier="private" name="memberTwo" type={typeParameters.U} />
203
+ <csharp.Class
204
+ accessModifier="public"
205
+ name="TestClass"
206
+ typeParameters={typeParameters}
207
+ >
208
+ <csharp.ClassMember
209
+ accessModifier="public"
210
+ name="memberOne"
211
+ type={typeParameters.T}
212
+ />
213
+ ;<hbr />
214
+ <csharp.ClassMember
215
+ accessModifier="private"
216
+ name="memberTwo"
217
+ type={typeParameters.U}
218
+ />
219
+ ;
162
220
  </csharp.Class>,
163
221
  );
164
222
 
@@ -171,16 +229,16 @@ it("declares class with generic parameters", () => {
171
229
  private U memberTwo;
172
230
  }
173
231
  }
174
-
175
232
  `);
176
233
  });
177
234
 
178
235
  it("declares class with invalid members", () => {
179
- const decl =
180
- <csharp.Class accessModifier='public' name="TestClass">
181
- <csharp.EnumMember name="One" />,
236
+ const decl = (
237
+ <csharp.Class accessModifier="public" name="TestClass">
238
+ <csharp.EnumMember name="One" />,<hbr />
182
239
  <csharp.EnumMember name="Two" />
183
- </csharp.Class>;
240
+ </csharp.Class>
241
+ );
184
242
 
185
243
  expect(() => utils.toSourceText(decl)).toThrow(
186
244
  "can't define an enum member outside of an enum-decl scope",
@@ -189,7 +247,7 @@ it("declares class with invalid members", () => {
189
247
 
190
248
  it("declares class with constructor", () => {
191
249
  const res = utils.toSourceText(
192
- <csharp.Class accessModifier='public' name="TestClass">
250
+ <csharp.Class accessModifier="public" name="TestClass">
193
251
  <csharp.ClassConstructor accessModifier="public" />
194
252
  </csharp.Class>,
195
253
  );
@@ -202,7 +260,6 @@ it("declares class with constructor", () => {
202
260
  public TestClass() {}
203
261
  }
204
262
  }
205
-
206
263
  `);
207
264
  });
208
265
 
@@ -226,11 +283,23 @@ it("declares class with constructor params and assigns values to fields", () =>
226
283
  ];
227
284
 
228
285
  const res = utils.toSourceText(
229
- <csharp.Class accessModifier='public' name="TestClass">
230
- <csharp.ClassMember accessModifier="private" name="name" type="string" refkey={thisNameRefkey} />
231
- <csharp.ClassMember accessModifier="private" name="size" type="int" refkey={thisSizeRefkey} />
286
+ <csharp.Class accessModifier="public" name="TestClass">
287
+ <csharp.ClassMember
288
+ accessModifier="private"
289
+ name="name"
290
+ type="string"
291
+ refkey={thisNameRefkey}
292
+ />
293
+ ;<hbr />
294
+ <csharp.ClassMember
295
+ accessModifier="private"
296
+ name="size"
297
+ type="int"
298
+ refkey={thisSizeRefkey}
299
+ />
300
+ ;<hbr />
232
301
  <csharp.ClassConstructor accessModifier="public" parameters={ctorParams}>
233
- {thisNameRefkey} = {paramNameRefkey};
302
+ {thisNameRefkey} = {paramNameRefkey};<hbr />
234
303
  {thisSizeRefkey} = {paramSizeRefkey};
235
304
  </csharp.ClassConstructor>
236
305
  </csharp.Class>,
@@ -252,6 +321,5 @@ it("declares class with constructor params and assigns values to fields", () =>
252
321
  }
253
322
  }
254
323
  }
255
-
256
324
  `);
257
325
  });
@@ -6,7 +6,7 @@ import * as utils from "./utils.js";
6
6
 
7
7
  it("declares enum with no members", () => {
8
8
  const res = utils.toSourceText(
9
- <csharp.Enum accessModifier='public' name="TestEnum" />,
9
+ <csharp.Enum accessModifier="public" name="TestEnum" />,
10
10
  );
11
11
 
12
12
  expect(res).toBe(coretest.d`
@@ -14,14 +14,13 @@ it("declares enum with no members", () => {
14
14
  {
15
15
  public enum TestEnum;
16
16
  }
17
-
18
17
  `);
19
18
  });
20
19
 
21
20
  it("declares enum with members", () => {
22
21
  const res = utils.toSourceText(
23
- <csharp.Enum accessModifier='public' name="TestEnum">
24
- <csharp.EnumMember name="One" />,
22
+ <csharp.Enum accessModifier="public" name="TestEnum">
23
+ <csharp.EnumMember name="One" />,<hbr />
25
24
  <csharp.EnumMember name="Two" />
26
25
  </csharp.Enum>,
27
26
  );
@@ -35,14 +34,13 @@ it("declares enum with members", () => {
35
34
  Two
36
35
  }
37
36
  }
38
-
39
37
  `);
40
38
  });
41
39
 
42
40
  it("applies naming policy to enum and members", () => {
43
41
  const res = utils.toSourceText(
44
- <csharp.Enum accessModifier='public' name="testEnum">
45
- <csharp.EnumMember name="one" />,
42
+ <csharp.Enum accessModifier="public" name="testEnum">
43
+ <csharp.EnumMember name="one" />,<hbr />
46
44
  <csharp.EnumMember name="two" />
47
45
  </csharp.Enum>,
48
46
  );
@@ -56,7 +54,6 @@ it("applies naming policy to enum and members", () => {
56
54
  Two
57
55
  }
58
56
  }
59
-
60
57
  `);
61
58
  });
62
59
 
@@ -66,13 +63,14 @@ it("can reference things by refkey", () => {
66
63
 
67
64
  const res = core.render(
68
65
  <core.Output>
69
- <csharp.Namespace name='TestCode'>
66
+ <csharp.Namespace name="TestCode">
70
67
  <csharp.SourceFile path="Test.cs">
71
- <csharp.Enum accessModifier='public' name="TestEnum" refkey={enumRK}>
72
- <csharp.EnumMember name="One" />,
68
+ <csharp.Enum accessModifier="public" name="TestEnum" refkey={enumRK}>
69
+ <csharp.EnumMember name="One" />,<hbr />
73
70
  <csharp.EnumMember name="Two" refkey={twoRK} />
74
71
  </csharp.Enum>
75
- {enumRK};
72
+ <hbr />
73
+ {enumRK};<hbr />
76
74
  {twoRK};
77
75
  </csharp.SourceFile>
78
76
  </csharp.Namespace>
@@ -90,7 +88,6 @@ it("can reference things by refkey", () => {
90
88
  TestEnum;
91
89
  TestEnum.Two;
92
90
  }
93
-
94
91
  `);
95
92
  });
96
93
 
@@ -100,21 +97,23 @@ it("can reference things by refkey across files", () => {
100
97
 
101
98
  const res = core.render(
102
99
  <core.Output>
103
- <csharp.Namespace name='TestCode'>
100
+ <csharp.Namespace name="TestCode">
104
101
  <csharp.SourceFile path="Test.cs">
105
- <csharp.Enum accessModifier='public' name="TestEnum">
106
- <csharp.EnumMember name="One" />,
102
+ <csharp.Enum accessModifier="public" name="TestEnum">
103
+ <csharp.EnumMember name="One" />,<hbr />
107
104
  <csharp.EnumMember name="Two" />
108
105
  </csharp.Enum>
109
- {enumRK};
106
+ <hbr />
107
+ {enumRK};<hbr />
110
108
  {barRK};
111
109
  </csharp.SourceFile>
112
110
  <csharp.SourceFile path="Other.cs">
113
- <csharp.Enum accessModifier='public' name="OtherEnum" refkey={enumRK}>
114
- <csharp.EnumMember name="Foo" />,
111
+ <csharp.Enum accessModifier="public" name="OtherEnum" refkey={enumRK}>
112
+ <csharp.EnumMember name="Foo" />,<hbr />
115
113
  <csharp.EnumMember name="Bar" refkey={barRK} />
116
114
  </csharp.Enum>
117
- {enumRK};
115
+ <hbr />
116
+ {enumRK};<hbr />
118
117
  {barRK};
119
118
  </csharp.SourceFile>
120
119
  </csharp.Namespace>
@@ -133,7 +132,6 @@ it("can reference things by refkey across files", () => {
133
132
  OtherEnum;
134
133
  OtherEnum.Bar;
135
134
  }
136
-
137
135
  `);
138
136
 
139
137
  expect(res.contents[1].path).toBe("Other.cs");
@@ -148,6 +146,5 @@ it("can reference things by refkey across files", () => {
148
146
  OtherEnum;
149
147
  OtherEnum.Bar;
150
148
  }
151
-
152
149
  `);
153
150
  });
@@ -6,20 +6,20 @@ import * as csharp from "../src/index.js";
6
6
  it("defines multiple namespaces and source files with unique content", () => {
7
7
  const res = core.render(
8
8
  <core.Output>
9
- <csharp.Namespace name='Namespace1'>
9
+ <csharp.Namespace name="Namespace1">
10
10
  <csharp.SourceFile path="Model1.cs">
11
- <csharp.Class accessModifier='public' name="Model1" />
11
+ <csharp.Class accessModifier="public" name="Model1" />
12
12
  </csharp.SourceFile>
13
13
  <csharp.SourceFile path="Model2.cs">
14
- <csharp.Class accessModifier='public' name="Model2" />
14
+ <csharp.Class accessModifier="public" name="Model2" />
15
15
  </csharp.SourceFile>
16
16
  </csharp.Namespace>
17
- <csharp.Namespace name='Namespace2'>
17
+ <csharp.Namespace name="Namespace2">
18
18
  <csharp.SourceFile path="Model3.cs">
19
- <csharp.Class accessModifier='public' name="Model3" />
19
+ <csharp.Class accessModifier="public" name="Model3" />
20
20
  </csharp.SourceFile>
21
21
  <csharp.SourceFile path="Model4.cs">
22
- <csharp.Class accessModifier='public' name="Model4" />
22
+ <csharp.Class accessModifier="public" name="Model4" />
23
23
  </csharp.SourceFile>
24
24
  </csharp.Namespace>
25
25
  </core.Output>,
@@ -31,7 +31,6 @@ it("defines multiple namespaces and source files with unique content", () => {
31
31
  {
32
32
  public class Model1;
33
33
  }
34
-
35
34
  `);
36
35
 
37
36
  expect(res.contents[1].path).equals("Model2.cs");
@@ -40,7 +39,6 @@ it("defines multiple namespaces and source files with unique content", () => {
40
39
  {
41
40
  public class Model2;
42
41
  }
43
-
44
42
  `);
45
43
 
46
44
  expect(res.contents[2].path).equals("Model3.cs");
@@ -49,7 +47,6 @@ it("defines multiple namespaces and source files with unique content", () => {
49
47
  {
50
48
  public class Model3;
51
49
  }
52
-
53
50
  `);
54
51
 
55
52
  expect(res.contents[3].path).equals("Model4.cs");
@@ -58,6 +55,5 @@ it("defines multiple namespaces and source files with unique content", () => {
58
55
  {
59
56
  public class Model4;
60
57
  }
61
-
62
58
  `);
63
59
  });
@@ -6,13 +6,18 @@ import * as csharp from "../src/index.js";
6
6
  it("defines a project directory file with multiple source files", () => {
7
7
  const res = core.render(
8
8
  <core.Output>
9
- <csharp.ProjectDirectory name="TestProject" path="~/projects" version="0.1.0" description="a test project">
10
- <csharp.Namespace name='TestCode'>
9
+ <csharp.ProjectDirectory
10
+ name="TestProject"
11
+ path="~/projects"
12
+ version="0.1.0"
13
+ description="a test project"
14
+ >
15
+ <csharp.Namespace name="TestCode">
11
16
  <csharp.SourceFile path="Test1.cs">
12
- <csharp.Class accessModifier='public' name="TestClass1" />
17
+ <csharp.Class accessModifier="public" name="TestClass1" />
13
18
  </csharp.SourceFile>
14
19
  <csharp.SourceFile path="Test2.cs">
15
- <csharp.Class accessModifier='public' name="TestClass2" />
20
+ <csharp.Class accessModifier="public" name="TestClass2" />
16
21
  </csharp.SourceFile>
17
22
  </csharp.Namespace>
18
23
  </csharp.ProjectDirectory>
@@ -43,7 +48,6 @@ it("defines a project directory file with multiple source files", () => {
43
48
  {
44
49
  public class TestClass1;
45
50
  }
46
-
47
51
  `);
48
52
 
49
53
  expect(srcDir.contents[1].path).equals("~/projects/TestProject/src/Test2.cs");
@@ -52,20 +56,25 @@ it("defines a project directory file with multiple source files", () => {
52
56
  {
53
57
  public class TestClass2;
54
58
  }
55
-
56
59
  `);
57
60
  });
58
61
 
59
62
  it("defines a project directory file with multiple source files and a custom TFM", () => {
60
63
  const res = core.render(
61
64
  <core.Output>
62
- <csharp.ProjectDirectory name="TestProject" path="~/projects" version="0.1.0" description="a test project" targetFrameworkMoniker="netstandard2.1">
63
- <csharp.Namespace name='TestCode'>
65
+ <csharp.ProjectDirectory
66
+ name="TestProject"
67
+ path="~/projects"
68
+ version="0.1.0"
69
+ description="a test project"
70
+ targetFrameworkMoniker="netstandard2.1"
71
+ >
72
+ <csharp.Namespace name="TestCode">
64
73
  <csharp.SourceFile path="Test1.cs">
65
- <csharp.Class accessModifier='public' name="TestClass1" />
74
+ <csharp.Class accessModifier="public" name="TestClass1" />
66
75
  </csharp.SourceFile>
67
76
  <csharp.SourceFile path="Test2.cs">
68
- <csharp.Class accessModifier='public' name="TestClass2" />
77
+ <csharp.Class accessModifier="public" name="TestClass2" />
69
78
  </csharp.SourceFile>
70
79
  </csharp.Namespace>
71
80
  </csharp.ProjectDirectory>
@@ -96,7 +105,6 @@ it("defines a project directory file with multiple source files and a custom TFM
96
105
  {
97
106
  public class TestClass1;
98
107
  }
99
-
100
108
  `);
101
109
 
102
110
  expect(srcDir.contents[1].path).equals("~/projects/TestProject/src/Test2.cs");
@@ -105,6 +113,5 @@ it("defines a project directory file with multiple source files and a custom TFM
105
113
  {
106
114
  public class TestClass2;
107
115
  }
108
-
109
116
  `);
110
117
  });
@@ -6,12 +6,12 @@ import * as csharp from "../src/index.js";
6
6
  it("defines multiple source files with unique content", () => {
7
7
  const res = core.render(
8
8
  <core.Output>
9
- <csharp.Namespace name='TestCode'>
9
+ <csharp.Namespace name="TestCode">
10
10
  <csharp.SourceFile path="Test1.cs">
11
- <csharp.Class accessModifier='public' name="TestClass1" />
11
+ <csharp.Class accessModifier="public" name="TestClass1" />
12
12
  </csharp.SourceFile>
13
13
  <csharp.SourceFile path="Test2.cs">
14
- <csharp.Class accessModifier='public' name="TestClass2" />
14
+ <csharp.Class accessModifier="public" name="TestClass2" />
15
15
  </csharp.SourceFile>
16
16
  </csharp.Namespace>
17
17
  </core.Output>,
@@ -23,7 +23,6 @@ it("defines multiple source files with unique content", () => {
23
23
  {
24
24
  public class TestClass1;
25
25
  }
26
-
27
26
  `);
28
27
 
29
28
  expect(res.contents[1].path).equals("Test2.cs");
@@ -32,15 +31,15 @@ it("defines multiple source files with unique content", () => {
32
31
  {
33
32
  public class TestClass2;
34
33
  }
35
-
36
34
  `);
37
35
  });
38
36
 
39
37
  it("throws when declaring a source file outside a namespace", () => {
40
- const decl =
38
+ const decl = (
41
39
  <core.Output>
42
- <csharp.SourceFile path="Test.cs" />
43
- </core.Output>;
40
+ <csharp.SourceFile path="Test.cs" />
41
+ </core.Output>
42
+ );
44
43
 
45
44
  expect(() => core.render(decl)).toThrow(
46
45
  "SourceFile must be declared inside a namespace",
@@ -6,7 +6,7 @@ import * as csharp from "../src/index.js";
6
6
  it("uses a single namespace", () => {
7
7
  const res = core.render(
8
8
  <core.Output>
9
- <csharp.Namespace name='TestCode'>
9
+ <csharp.Namespace name="TestCode">
10
10
  <csharp.SourceFile path="Test1.cs" using={["Foo"]} />
11
11
  </csharp.Namespace>
12
12
  </core.Output>,
@@ -16,14 +16,13 @@ it("uses a single namespace", () => {
16
16
  using Foo;
17
17
 
18
18
  namespace TestCode {}
19
-
20
19
  `);
21
20
  });
22
21
 
23
22
  it("uses multiple namespaces", () => {
24
23
  const res = core.render(
25
24
  <core.Output>
26
- <csharp.Namespace name='TestCode'>
25
+ <csharp.Namespace name="TestCode">
27
26
  <csharp.SourceFile path="Test1.cs" using={["Foo", "Bar.Baz"]} />
28
27
  </csharp.Namespace>
29
28
  </core.Output>,
@@ -34,7 +33,6 @@ it("uses multiple namespaces", () => {
34
33
  using Foo;
35
34
 
36
35
  namespace TestCode {}
37
-
38
36
  `);
39
37
  });
40
38
 
@@ -52,21 +50,37 @@ it("adds using statement across namespaces", () => {
52
50
 
53
51
  const res = core.render(
54
52
  <core.Output namePolicy={csharp.createCSharpNamePolicy()}>
55
- <csharp.Namespace name='Models'>
53
+ <csharp.Namespace name="Models">
56
54
  <csharp.SourceFile path="Models.cs">
57
- <csharp.Class accessModifier='public' name="Input" refkey={inputTypeRefkey} />
58
- <csharp.Class accessModifier='public' name="Output" refkey={outputTypeRefkey} />
59
- <csharp.Enum accessModifier='public' name="TestEnum">
60
- <csharp.EnumMember name="One" />,
55
+ <csharp.Class
56
+ accessModifier="public"
57
+ name="Input"
58
+ refkey={inputTypeRefkey}
59
+ />
60
+ <hbr />
61
+ <csharp.Class
62
+ accessModifier="public"
63
+ name="Output"
64
+ refkey={outputTypeRefkey}
65
+ />
66
+ <hbr />
67
+ <csharp.Enum accessModifier="public" name="TestEnum">
68
+ <csharp.EnumMember name="One" />,<hbr />
61
69
  <csharp.EnumMember name="Two" refkey={twoValRefkey} />
62
70
  </csharp.Enum>
63
71
  </csharp.SourceFile>
64
72
  </csharp.Namespace>
65
- <csharp.Namespace name='Client'>
73
+ <csharp.Namespace name="Client">
66
74
  <csharp.SourceFile path="Client.cs" using={["System"]}>
67
- <csharp.Class accessModifier='public' name="Client">
68
- <csharp.ClassMethod accessModifier="public" name="MethodOne" parameters={params} returns={outputTypeRefkey} />
75
+ <csharp.Class accessModifier="public" name="Client">
76
+ <csharp.ClassMethod
77
+ accessModifier="public"
78
+ name="MethodOne"
79
+ parameters={params}
80
+ returns={outputTypeRefkey}
81
+ />
69
82
  </csharp.Class>
83
+ <hbr />
70
84
  {twoValRefkey};
71
85
  </csharp.SourceFile>
72
86
  </csharp.Namespace>
@@ -84,7 +98,6 @@ it("adds using statement across namespaces", () => {
84
98
  Two
85
99
  }
86
100
  }
87
-
88
101
  `);
89
102
 
90
103
  expect(res.contents[1].contents).toBe(coretest.d`
@@ -99,6 +112,5 @@ it("adds using statement across namespaces", () => {
99
112
  }
100
113
  TestEnum.Two;
101
114
  }
102
-
103
115
  `);
104
116
  });
package/test/utils.tsx CHANGED
@@ -6,7 +6,7 @@ import * as csharp from "../src/index.js";
6
6
  export function toSourceText(c: core.Children): string {
7
7
  const res = core.render(
8
8
  <core.Output namePolicy={csharp.createCSharpNamePolicy()}>
9
- <csharp.Namespace name='TestCode'>
9
+ <csharp.Namespace name="TestCode">
10
10
  <csharp.SourceFile path="Test.cs">{c}</csharp.SourceFile>
11
11
  </csharp.Namespace>
12
12
  </core.Output>,
@@ -19,9 +19,7 @@ export function toSourceText(c: core.Children): string {
19
19
  export function testRender(c: core.Children): core.OutputDirectory {
20
20
  return core.render(
21
21
  <core.Output>
22
- <csharp.Namespace name='TestCode'>
23
- {c}
24
- </csharp.Namespace>
22
+ <csharp.Namespace name="TestCode">{c}</csharp.Namespace>
25
23
  </core.Output>,
26
24
  );
27
25
  }