@@ -18,13 +18,19 @@ package runner_test
1818
1919import (
2020 "bytes"
21+ "strings"
2122 "testing"
2223
2324 "github.com/linuxsuren/api-testing/pkg/apispec"
2425 "github.com/linuxsuren/api-testing/pkg/runner"
2526 "github.com/stretchr/testify/assert"
2627)
2728
29+ const (
30+ winLineEnd = "\r \n "
31+ unixLineEnd = "\n "
32+ )
33+
2834func TestMarkdownWriter (t * testing.T ) {
2935 sample := runner.ReportResult {
3036 Name : "api" ,
@@ -51,12 +57,15 @@ func TestMarkdownWriter(t *testing.T) {
5157 writer .WithAPICoverage (nil )
5258 err := writer .Output (createSlice (sample , 2 ))
5359 assert .Nil (t , err )
60+ // Normalize line endings for Windows compatibility
61+ actual := buf .String ()
62+ actual = normalizeLineEndings (actual )
5463 assert .Equal (t , `There are 2 test cases, failed count 0:
5564
5665| Name | Average | Max | Min | Count | Error |
5766|---|---|---|---|---|---|
5867| api | 3ns | 4ns | 2ns | 3 | 0 |
59- | api | 3ns | 4ns | 2ns | 3 | 0 |` , buf . String () )
68+ | api | 3ns | 4ns | 2ns | 3 | 0 |` , actual )
6069 })
6170
6271 t .Run ("long" , func (t * testing.T ) {
@@ -65,6 +74,7 @@ func TestMarkdownWriter(t *testing.T) {
6574 writer .WithAPICoverage (nil )
6675 err := writer .Output (createSlice (sample , 8 ))
6776 assert .Nil (t , err )
77+ actual := normalizeLineEndings (buf .String ())
6878 assert .Equal (t , `There are 8 test cases, failed count 0:
6979
7080<details>
@@ -80,7 +90,7 @@ func TestMarkdownWriter(t *testing.T) {
8090| api | 3ns | 4ns | 2ns | 3 | 0 |
8191| api | 3ns | 4ns | 2ns | 3 | 0 |
8292| api | 3ns | 4ns | 2ns | 3 | 0 |
83- </details>` , buf . String () )
93+ </details>` , actual )
8494 })
8595
8696 t .Run ("long, there are error cases" , func (t * testing.T ) {
@@ -89,6 +99,7 @@ func TestMarkdownWriter(t *testing.T) {
8999 writer .WithAPICoverage (nil )
90100 err := writer .Output (append (createSlice (sample , 8 ), errSample ))
91101 assert .Nil (t , err )
102+ actual := normalizeLineEndings (buf .String ())
92103 assert .Equal (t , `There are 9 test cases, failed count 1:
93104
94105| Name | Average | Max | Min | Count | Error |
@@ -109,7 +120,7 @@ func TestMarkdownWriter(t *testing.T) {
109120| api | 3ns | 4ns | 2ns | 3 | 0 |
110121| api | 3ns | 4ns | 2ns | 3 | 0 |
111122| foo | 3ns | 4ns | 2ns | 3 | 1 |
112- </details>` , buf . String () )
123+ </details>` , actual )
113124 })
114125
115126 t .Run ("with resource usage" , func (t * testing.T ) {
@@ -122,6 +133,7 @@ func TestMarkdownWriter(t *testing.T) {
122133 }})
123134 err := writer .Output (createSlice (sample , 2 ))
124135 assert .Nil (t , err )
136+ actual := normalizeLineEndings (buf .String ())
125137 assert .Equal (t , `There are 2 test cases, failed count 0:
126138
127139| Name | Average | Max | Min | Count | Error |
@@ -131,7 +143,7 @@ func TestMarkdownWriter(t *testing.T) {
131143
132144Resource usage:
133145* CPU: 1
134- * Memory: 1` , buf . String () )
146+ * Memory: 1` , actual )
135147 })
136148
137149 t .Run ("have error message" , func (t * testing.T ) {
@@ -142,6 +154,7 @@ Resource usage:
142154 result .LastErrorMessage = "error happend"
143155 err := writer .Output (createSlice (result , 2 ))
144156 assert .Nil (t , err )
157+ actual := normalizeLineEndings (buf .String ())
145158 assert .Equal (t , `There are 2 test cases, failed count 0:
146159
147160| Name | Average | Max | Min | Count | Error |
@@ -153,7 +166,7 @@ Resource usage:
153166 <summary><b>See the error message</b></summary>
154167* error happend
155168* error happend
156- </details>` , buf . String () )
169+ </details>` , actual )
157170 })
158171
159172 t .Run ("with api converage" , func (t * testing.T ) {
@@ -164,17 +177,22 @@ Resource usage:
164177 }}))
165178 err := writer .Output (createSlice (sample , 2 ))
166179 assert .Nil (t , err )
180+ actual := normalizeLineEndings (buf .String ())
167181 assert .Equal (t , `There are 2 test cases, failed count 0:
168182
169183| Name | Average | Max | Min | Count | Error |
170184|---|---|---|---|---|---|
171185| api | 3ns | 4ns | 2ns | 3 | 0 |
172186| api | 3ns | 4ns | 2ns | 3 | 0 |
173187
174- API Coverage: 1/1` , buf . String () )
188+ API Coverage: 1/1` , actual )
175189 })
176190}
177191
192+ func normalizeLineEndings (s string ) string {
193+ return strings .ReplaceAll (s , winLineEnd , unixLineEnd )
194+ }
195+
178196func createSlice (sample runner.ReportResult , count int ) (result []runner.ReportResult ) {
179197 for i := 0 ; i < count ; i ++ {
180198 result = append (result , sample )
0 commit comments