@@ -148,6 +148,88 @@ public async Task VerifyInvalidReferenceBehaviorAsync()
148148 Assert . Equal ( "[InvalidReference]" , styleCopSettings . DocumentationRules . GetCopyrightText ( "unused" ) ) ;
149149 }
150150
151+ /// <summary>
152+ /// Verifies that the settings successfully parse line comments.
153+ /// </summary>
154+ /// <returns>A <see cref="Task"/> representing the asynchronous unit test.</returns>
155+ [ Fact ]
156+ public async Task VerifySettingsSupportsLineCommentsAsync ( )
157+ {
158+ var settings = @"
159+ {
160+ // Set value for company name
161+ ""settings"": {
162+ ""documentationRules"": {
163+ ""companyName"": ""TestCompany""
164+ }
165+ }
166+ }
167+ " ;
168+ var context = await CreateAnalysisContextAsync ( settings ) . ConfigureAwait ( false ) ;
169+
170+ var styleCopSettings = context . GetStyleCopSettings ( CancellationToken . None ) ;
171+
172+ Assert . Equal ( "TestCompany" , styleCopSettings . DocumentationRules . CompanyName ) ;
173+ Assert . Equal ( "Copyright (c) TestCompany. All rights reserved." , styleCopSettings . DocumentationRules . GetCopyrightText ( "unused" ) ) ;
174+ }
175+
176+ /// <summary>
177+ /// Verifies that the settings successfully parse block comments.
178+ /// </summary>
179+ /// <returns>A <see cref="Task"/> representing the asynchronous unit test.</returns>
180+ [ Fact ]
181+ public async Task VerifySettingsSupportsBlockCommentsAsync ( )
182+ {
183+ var settings = @"
184+ {
185+ /*
186+ * Set value for company name
187+ */
188+ ""settings"": {
189+ ""documentationRules"": {
190+ ""companyName"": ""TestCompany""
191+ }
192+ }
193+ }
194+ " ;
195+ var context = await CreateAnalysisContextAsync ( settings ) . ConfigureAwait ( false ) ;
196+
197+ var styleCopSettings = context . GetStyleCopSettings ( CancellationToken . None ) ;
198+
199+ Assert . Equal ( "TestCompany" , styleCopSettings . DocumentationRules . CompanyName ) ;
200+ Assert . Equal ( "Copyright (c) TestCompany. All rights reserved." , styleCopSettings . DocumentationRules . GetCopyrightText ( "unused" ) ) ;
201+ }
202+
203+ /// <summary>
204+ /// Verifies that the settings successfully parse trailing commas.
205+ /// </summary>
206+ /// <returns>A <see cref="Task"/> representing the asynchronous unit test.</returns>
207+ [ Fact ]
208+ public async Task VerifySettingsSupportsTrailingCommasAsync ( )
209+ {
210+ var settings = @"
211+ {
212+ ""settings"": {
213+ ""documentationRules"": {
214+ ""companyName"": ""TestCompany"",
215+ },
216+ ""namingRules"": {
217+ ""allowedHungarianPrefixes"": [ ""a"", ],
218+ },
219+ }
220+ }
221+ " ;
222+ var context = await CreateAnalysisContextAsync ( settings ) . ConfigureAwait ( false ) ;
223+
224+ var styleCopSettings = context . GetStyleCopSettings ( CancellationToken . None ) ;
225+
226+ Assert . Equal ( "TestCompany" , styleCopSettings . DocumentationRules . CompanyName ) ;
227+ Assert . Equal ( "Copyright (c) TestCompany. All rights reserved." , styleCopSettings . DocumentationRules . GetCopyrightText ( "unused" ) ) ;
228+
229+ Assert . Equal ( 1 , styleCopSettings . NamingRules . AllowedHungarianPrefixes . Length ) ;
230+ Assert . Equal ( "a" , styleCopSettings . NamingRules . AllowedHungarianPrefixes [ 0 ] ) ;
231+ }
232+
151233 [ Fact ]
152234 public async Task VerifyInvalidJsonBehaviorAsync ( )
153235 {
0 commit comments