@@ -53,6 +53,75 @@ public async Task WhenALoggerWritesToTheSinkItIsRetrievableFromTheTableWithPrope
5353 Assert . Equal ( " " , result . Properties [ "Space" ] . PropertyAsObject ) ;
5454 }
5555
56+ [ Fact ]
57+ public void WhenALoggerWritesToTheSinkWithAWindowsNewlineInTheTemplateItIsRetrievable ( )
58+ {
59+ // Prompted from https://github.com/serilog/serilog-sinks-azuretablestorage/issues/10
60+ var storageAccount = CloudStorageAccount . DevelopmentStorageAccount ;
61+ var tableClient = storageAccount . CreateCloudTableClient ( ) ;
62+ var table = tableClient . GetTableReference ( "LogEventEntity" ) ;
63+
64+ table . DeleteIfExists ( ) ;
65+
66+ var logger = new LoggerConfiguration ( )
67+ . WriteTo . AzureTableStorageWithProperties ( storageAccount )
68+ . CreateLogger ( ) ;
69+
70+ const string messageTemplate = "Line 1\r \n Line2" ;
71+
72+ logger . Information ( messageTemplate ) ;
73+
74+ var result = table . ExecuteQuery ( new TableQuery ( ) . Take ( 1 ) ) . FirstOrDefault ( ) ;
75+
76+ Assert . NotNull ( result ) ;
77+ }
78+
79+ [ Fact ]
80+ public void WhenALoggerWritesToTheSinkWithALineFeedInTheTemplateItIsRetrievable ( )
81+ {
82+ // Prompted from https://github.com/serilog/serilog-sinks-azuretablestorage/issues/10
83+ var storageAccount = CloudStorageAccount . DevelopmentStorageAccount ;
84+ var tableClient = storageAccount . CreateCloudTableClient ( ) ;
85+ var table = tableClient . GetTableReference ( "LogEventEntity" ) ;
86+
87+ table . DeleteIfExists ( ) ;
88+
89+ var logger = new LoggerConfiguration ( )
90+ . WriteTo . AzureTableStorageWithProperties ( storageAccount )
91+ . CreateLogger ( ) ;
92+
93+ const string messageTemplate = "Line 1\n Line2" ;
94+
95+ logger . Information ( messageTemplate ) ;
96+
97+ var result = table . ExecuteQuery ( new TableQuery ( ) . Take ( 1 ) ) . FirstOrDefault ( ) ;
98+
99+ Assert . NotNull ( result ) ;
100+ }
101+
102+ [ Fact ]
103+ public void WhenALoggerWritesToTheSinkWithACarriageReturnInTheTemplateItIsRetrievable ( )
104+ {
105+ // Prompted from https://github.com/serilog/serilog-sinks-azuretablestorage/issues/10
106+ var storageAccount = CloudStorageAccount . DevelopmentStorageAccount ;
107+ var tableClient = storageAccount . CreateCloudTableClient ( ) ;
108+ var table = tableClient . GetTableReference ( "LogEventEntity" ) ;
109+
110+ table . DeleteIfExists ( ) ;
111+
112+ var logger = new LoggerConfiguration ( )
113+ . WriteTo . AzureTableStorageWithProperties ( storageAccount )
114+ . CreateLogger ( ) ;
115+
116+ const string messageTemplate = "Line 1\r Line2" ;
117+
118+ logger . Information ( messageTemplate ) ;
119+
120+ var result = table . ExecuteQuery ( new TableQuery ( ) . Take ( 1 ) ) . FirstOrDefault ( ) ;
121+
122+ Assert . NotNull ( result ) ;
123+ }
124+
56125 [ Fact ]
57126 public async Task WhenALoggerWritesToTheSinkItStoresTheCorrectTypesForScalar ( )
58127 {
0 commit comments