| @@ -125,6 +125,73 @@ empty commit`, commitFromReader.Signature.Payload) · 124 unmodified lines |
| 125 | 125 | assert.EqualValues(t, commitFromReader, commitFromReader2) |
| 126 | 126 | } |
| 127 | 127 | |
| 128 | +func TestCommitWithEncodingFromReader(t *testing.T) { |
| 129 | + commitString := `feaf4ba6bc635fec442f46ddd4512416ec43c2c2 commit 1074 |
| 130 | +tree ca3fad42080dd1a6d291b75acdfc46e5b9b307e5 |
| 131 | +parent 47b24e7ab977ed31c5a39989d570847d6d0052af |
| 132 | +author KN4CK3R <admin@oldschoolhack.me> 1711702962 +0100 |
| 133 | +committer KN4CK3R <admin@oldschoolhack.me> 1711702962 +0100 |
| 134 | +encoding ISO-8859-1 |
| 135 | +gpgsig -----BEGIN PGP SIGNATURE----- |
| 136 | + |
| 137 | + iQGzBAABCgAdFiEE9HRrbqvYxPT8PXbefPSEkrowAa8FAmYGg7IACgkQfPSEkrow |
| 138 | + Aa9olwv+P0HhtCM6CRvlUmPaqswRsDPNR4i66xyXGiSxdI9V5oJL7HLiQIM7KrFR |
| 139 | + gizKa2COiGtugv8fE+TKqXKaJx6uJUJEjaBd8E9Af9PrAzjWj+A84lU6/PgPS8hq |
| 140 | + zOfZraLOEWRH4tZcS+u2yFLu3ez2Wqh1xW5LNy7xqEedMXEFD1HwSJ0+pjacNkzr |
| 141 | + frp6Asyt7xRI6YmgFJZJoRsS3Ktr6rtKeRL2IErSQQyorOqj6gKrglhrhfG/114j |
| 142 | + FKB1v4or0WZ1DE8iP2SJZ3n+/K1IuWAINh7MVdb7PndfBPEa+IL+ucNk5uzEE8Jd |
| 143 | + G8smGxXUeFEt2cP1dj2W8EgAxuA9sTnH9dqI5aRqy5ifDjuya7Emm8sdOUvtGdmn |
| 144 | + SONRzusmu5n3DgV956REL7x62h7JuqmBz/12HZkr0z0zgXkcZ04q08pSJATX5N1F |
| 145 | + yN+tWxTsWg+zhDk96d5Esdo9JMjcFvPv0eioo30GAERaz1hoD7zCMT4jgUFTQwgz |
| 146 | + jw4YcO5u |
| 147 | + =r3UU |
| 148 | + -----END PGP SIGNATURE----- |
| 149 | + |
| 150 | +ISO-8859-1` |
| 151 | + |
| 152 | + sha := &Sha1Hash{0xfe, 0xaf, 0x4b, 0xa6, 0xbc, 0x63, 0x5f, 0xec, 0x44, 0x2f, 0x46, 0xdd, 0xd4, 0x51, 0x24, 0x16, 0xec, 0x43, 0xc2, 0xc2} |
| 153 | + gitRepo, err := openRepositoryWithDefaultContext(filepath.Join(testReposDir, "repo1_bare")) |
| 154 | + assert.NoError(t, err) |
| 155 | + assert.NotNil(t, gitRepo) |
| 156 | + defer gitRepo.Close() |
| 157 | + |
| 158 | + commitFromReader, err := CommitFromReader(gitRepo, sha, strings.NewReader(commitString)) |
| 159 | + assert.NoError(t, err) |
| 160 | + if !assert.NotNil(t, commitFromReader) { |
| 161 | + return |
| 162 | + } |
| 163 | + assert.EqualValues(t, sha, commitFromReader.ID) |
| 164 | + assert.EqualValues(t, `-----BEGIN PGP SIGNATURE----- |
| 165 | + |
| 166 | +iQGzBAABCgAdFiEE9HRrbqvYxPT8PXbefPSEkrowAa8FAmYGg7IACgkQfPSEkrow |
| 167 | +Aa9olwv+P0HhtCM6CRvlUmPaqswRsDPNR4i66xyXGiSxdI9V5oJL7HLiQIM7KrFR |
| 168 | +gizKa2COiGtugv8fE+TKqXKaJx6uJUJEjaBd8E9Af9PrAzjWj+A84lU6/PgPS8hq |
| 169 | +zOfZraLOEWRH4tZcS+u2yFLu3ez2Wqh1xW5LNy7xqEedMXEFD1HwSJ0+pjacNkzr |
| 170 | +frp6Asyt7xRI6YmgFJZJoRsS3Ktr6rtKeRL2IErSQQyorOqj6gKrglhrhfG/114j |
| 171 | +FKB1v4or0WZ1DE8iP2SJZ3n+/K1IuWAINh7MVdb7PndfBPEa+IL+ucNk5uzEE8Jd |
| 172 | +G8smGxXUeFEt2cP1dj2W8EgAxuA9sTnH9dqI5aRqy5ifDjuya7Emm8sdOUvtGdmn |
| 173 | +SONRzusmu5n3DgV956REL7x62h7JuqmBz/12HZkr0z0zgXkcZ04q08pSJATX5N1F |
| 174 | +yN+tWxTsWg+zhDk96d5Esdo9JMjcFvPv0eioo30GAERaz1hoD7zCMT4jgUFTQwgz |
| 175 | +jw4YcO5u |
| 176 | +=r3UU |
| 177 | +-----END PGP SIGNATURE----- |
| 178 | +`, commitFromReader.Signature.Signature) |
| 179 | + assert.EqualValues(t, `tree ca3fad42080dd1a6d291b75acdfc46e5b9b307e5 |
| 180 | +parent 47b24e7ab977ed31c5a39989d570847d6d0052af |
| 181 | +author KN4CK3R <admin@oldschoolhack.me> 1711702962 +0100 |
| 182 | +committer KN4CK3R <admin@oldschoolhack.me> 1711702962 +0100 |
| 183 | +encoding ISO-8859-1 |
| 184 | + |
| 185 | +ISO-8859-1`, commitFromReader.Signature.Payload) |
| 186 | + assert.EqualValues(t, "KN4CK3R <admin@oldschoolhack.me>", commitFromReader.Author.String()) |
| 187 | + |
| 188 | + commitFromReader2, err := CommitFromReader(gitRepo, sha, strings.NewReader(commitString+"\n\n")) |
| 189 | + assert.NoError(t, err) |
| 190 | + commitFromReader.CommitMessage += "\n\n" |
| 191 | + commitFromReader.Signature.Payload += "\n\n" |
| 192 | + assert.EqualValues(t, commitFromReader, commitFromReader2) |
| 193 | +} |
| 194 | + |
| 128 | 195 | func TestHasPreviousCommit(t *testing.T) { |
| 129 | 196 | bareRepo1Path := filepath.Join(testReposDir, "repo1_bare") |
| 130 | 197 | |