55package highlight
66
77import (
8- "reflect "
8+ "strings "
99 "testing"
1010
1111 "code.gitea.io/gitea/modules/setting"
12+ "code.gitea.io/gitea/modules/util"
1213
14+ "github.com/stretchr/testify/assert"
1315 "gopkg.in/ini.v1"
1416)
1517
@@ -20,83 +22,83 @@ func TestFile(t *testing.T) {
2022 numLines int
2123 fileName string
2224 code string
23- want [] string
25+ want string
2426 }{
2527 {
2628 name : ".drone.yml" ,
2729 numLines : 12 ,
2830 fileName : ".drone.yml" ,
29- code : `kind: pipeline
30- name: default
31+ code : util .Dedent (`
32+ kind: pipeline
33+ name: default
3134
32- steps:
33- - name: test
34- image: golang:1.13
35- environment:
36- GOPROXY: https://goproxy.cn
37- commands:
38- - go get -u
39- - go build -v
40- - go test -v -race -coverprofile=coverage.txt -covermode=atomic
41- ` ,
42- want : []string {
43- `<span class="line"><span class="cl"><span class="nt">kind</span><span class="p">:</span><span class="w"> </span><span class="l">pipeline</span>` ,
44- `</span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">default</span>` ,
45- `</span></span><span class="line"><span class="cl">` ,
46- `</span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">steps</span><span class="p">:</span>` ,
47- `</span></span><span class="line"><span class="cl"><span class="w"></span>- <span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">test</span>` ,
48- `</span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l">golang:1.13</span>` ,
49- `</span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">environment</span><span class="p">:</span>` ,
50- `</span></span><span class="line"><span class="cl"><span class="w"></span><span class="w"> </span><span class="nt">GOPROXY</span><span class="p">:</span><span class="w"> </span><span class="l">https://goproxy.cn</span>` ,
51- `</span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">commands</span><span class="p">:</span>` ,
52- `</span></span><span class="line"><span class="cl"><span class="w"></span><span class="w"> </span>- <span class="l">go get -u</span>` ,
53- `</span></span><span class="line"><span class="cl"><span class="w"> </span>- <span class="l">go build -v</span>` ,
54- `</span></span><span class="line"><span class="cl"><span class="w"> </span>- <span class="l">go test -v -race -coverprofile=coverage.txt -covermode=atomic</span><span class="w">
55- </span></span></span>` ,
56- `<span class="w">
57- </span>` ,
58- },
35+ steps:
36+ - name: test
37+ image: golang:1.13
38+ environment:
39+ GOPROXY: https://goproxy.cn
40+ commands:
41+ - go get -u
42+ - go build -v
43+ - go test -v -race -coverprofile=coverage.txt -covermode=atomic
44+ ` ),
45+ want : util .Dedent (`
46+ <span class="line"><span class="cl"><span class="nt">kind</span><span class="p">:</span><span class="w"> </span><span class="l">pipeline</span>
47+ </span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">default</span>
48+ </span></span><span class="line"><span class="cl">
49+ </span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">steps</span><span class="p">:</span>
50+ </span></span><span class="line"><span class="cl"><span class="w"></span>- <span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">test</span>
51+ </span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l">golang:1.13</span>
52+ </span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">environment</span><span class="p">:</span>
53+ </span></span><span class="line"><span class="cl"><span class="w"></span><span class="w"> </span><span class="nt">GOPROXY</span><span class="p">:</span><span class="w"> </span><span class="l">https://goproxy.cn</span>
54+ </span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">commands</span><span class="p">:</span>
55+ </span></span><span class="line"><span class="cl"><span class="w"></span><span class="w"> </span>- <span class="l">go get -u</span>
56+ </span></span><span class="line"><span class="cl"><span class="w"> </span>- <span class="l">go build -v</span>
57+ </span></span><span class="line"><span class="cl"><span class="w"> </span>- <span class="l">go test -v -race -coverprofile=coverage.txt -covermode=atomic</span></span></span>
58+ ` ),
5959 },
6060 {
6161 name : ".drone.yml - trailing space" ,
6262 numLines : 13 ,
6363 fileName : ".drone.yml" ,
64- code : `kind: pipeline
65- name: default ` + `
64+ code : strings .Replace (util .Dedent (`
65+ kind: pipeline
66+ name: default
6667
67- steps:
68- - name: test
69- image: golang:1.13
70- environment:
71- GOPROXY: https://goproxy.cn
72- commands:
73- - go get -u
74- - go build -v
75- - go test -v -race -coverprofile=coverage.txt -covermode=atomic
76- ` ,
77- want : []string {
78- `<span class="line"><span class="cl"><span class="nt">kind</span><span class="p">:</span><span class="w"> </span><span class="l">pipeline</span>` ,
79- `</span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">default </span>` ,
80- `</span></span><span class="line"><span class="cl">` ,
81- `</span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">steps</span><span class="p">:</span>` ,
82- `</span></span><span class="line"><span class="cl"><span class="w"></span>- <span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">test</span>` ,
83- `</span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l">golang:1.13</span>` ,
84- `</span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">environment</span><span class="p">:</span>` ,
85- `</span></span><span class="line"><span class="cl"><span class="w"></span><span class="w"> </span><span class="nt">GOPROXY</span><span class="p">:</span><span class="w"> </span><span class="l">https://goproxy.cn</span>` ,
86- `</span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">commands</span><span class="p">:</span>` ,
87- `</span></span><span class="line"><span class="cl"><span class="w"></span><span class="w"> </span>- <span class="l">go get -u</span>` ,
88- `</span></span><span class="line"><span class="cl"><span class="w"> </span>- <span class="l">go build -v</span>` ,
89- `</span></span><span class="line"><span class="cl"><span class="w"> </span>- <span class="l">go test -v -race -coverprofile=coverage.txt -covermode=atomic</span>` ,
90- `</span></span><span class="line"><span class="cl"><span class="w"> </span></span></span>` ,
91- },
68+ steps:
69+ - name: test
70+ image: golang:1.13
71+ environment:
72+ GOPROXY: https://goproxy.cn
73+ commands:
74+ - go get -u
75+ - go build -v
76+ - go test -v -race -coverprofile=coverage.txt -covermode=atomic
77+ ` )+ "\n " , "name: default" , "name: default " , 1 ),
78+ want : util .Dedent (`
79+ <span class="line"><span class="cl"><span class="nt">kind</span><span class="p">:</span><span class="w"> </span><span class="l">pipeline</span>
80+ </span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">default </span>
81+ </span></span><span class="line"><span class="cl">
82+ </span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">steps</span><span class="p">:</span>
83+ </span></span><span class="line"><span class="cl"><span class="w"></span>- <span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">test</span>
84+ </span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l">golang:1.13</span>
85+ </span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">environment</span><span class="p">:</span>
86+ </span></span><span class="line"><span class="cl"><span class="w"></span><span class="w"> </span><span class="nt">GOPROXY</span><span class="p">:</span><span class="w"> </span><span class="l">https://goproxy.cn</span>
87+ </span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">commands</span><span class="p">:</span>
88+ </span></span><span class="line"><span class="cl"><span class="w"></span><span class="w"> </span>- <span class="l">go get -u</span>
89+ </span></span><span class="line"><span class="cl"><span class="w"> </span>- <span class="l">go build -v</span>
90+ </span></span><span class="line"><span class="cl"><span class="w"> </span>- <span class="l">go test -v -race -coverprofile=coverage.txt -covermode=atomic</span>
91+ </span></span>
92+ <span class="w">
93+ </span>
94+ ` ),
9295 },
9396 }
9497
9598 for _ , tt := range tests {
9699 t .Run (tt .name , func (t * testing.T ) {
97- if got := File (tt .numLines , tt .fileName , "" , []byte (tt .code )); ! reflect .DeepEqual (got , tt .want ) {
98- t .Errorf ("File() = %v, want %v" , got , tt .want )
99- }
100+ got := strings .Join (File (tt .numLines , tt .fileName , "" , []byte (tt .code )), "\n " )
101+ assert .Equal (t , tt .want , got )
100102 })
101103 }
102104}
0 commit comments