@@ -6,9 +6,14 @@ package integration
6
6
import (
7
7
"fmt"
8
8
"net/http"
9
+ "net/url"
9
10
"strings"
10
11
"testing"
11
12
13
+ "code.gitea.io/gitea/models/db"
14
+ "code.gitea.io/gitea/models/unittest"
15
+ user_model "code.gitea.io/gitea/models/user"
16
+ repo_service "code.gitea.io/gitea/services/repository"
12
17
"code.gitea.io/gitea/tests"
13
18
14
19
"github.com/stretchr/testify/assert"
@@ -118,3 +123,37 @@ func TestCompareBranches(t *testing.T) {
118
123
119
124
inspectCompare (t , htmlDoc , diffCount , diffChanges )
120
125
}
126
+
127
+ func TestCompareCodeExpand (t * testing.T ) {
128
+ onGiteaRun (t , func (t * testing.T , u * url.URL ) {
129
+ user1 := unittest .AssertExistsAndLoadBean (t , & user_model.User {ID : 1 })
130
+ repo , err := repo_service .CreateRepositoryDirectly (db .DefaultContext , user1 , user1 , repo_service.CreateRepoOptions {
131
+ Name : "test_blob_excerpt" ,
132
+ Readme : "Default" ,
133
+ AutoInit : true ,
134
+ DefaultBranch : "main" ,
135
+ })
136
+ assert .NoError (t , err )
137
+
138
+ session := loginUser (t , user1 .Name )
139
+ testEditFile (t , session , user1 .Name , repo .Name , "main" , "README.md" , strings .Repeat ("a\n " , 30 ))
140
+
141
+ user2 := unittest .AssertExistsAndLoadBean (t , & user_model.User {ID : 2 })
142
+ session = loginUser (t , user2 .Name )
143
+ testRepoFork (t , session , user1 .Name , repo .Name , user2 .Name , "test_blob_excerpt-fork" )
144
+ testCreateBranch (t , session , user2 .Name , "test_blob_excerpt-fork" , "branch/main" , "forked-branch" , http .StatusSeeOther )
145
+ testEditFile (t , session , user2 .Name , "test_blob_excerpt-fork" , "forked-branch" , "README.md" , strings .Repeat ("a\n " , 15 )+ "CHANGED\n " + strings .Repeat ("a\n " , 15 ))
146
+
147
+ req := NewRequest (t , "GET" , "/user1/test_blob_excerpt/compare/main...user2/test_blob_excerpt-fork:forked-branch" )
148
+ resp := session .MakeRequest (t , req , http .StatusOK )
149
+ htmlDoc := NewHTMLParser (t , resp .Body )
150
+ els := htmlDoc .Find (`button.code-expander-button[hx-get]` )
151
+
152
+ // all the links in the comparison should be to the forked repo&branch
153
+ assert .NotZero (t , els .Length ())
154
+ for i := 0 ; i < els .Length (); i ++ {
155
+ link := els .Eq (i ).AttrOr ("hx-get" , "" )
156
+ assert .True (t , strings .HasPrefix (link , "/user2/test_blob_excerpt-fork/blob_excerpt/" ))
157
+ }
158
+ })
159
+ }
0 commit comments