27
Content-Disposition: inline; filename="
10
t0110-rawdiff.sh
HTTP/1.1 200 OK
Connection: keep-alive
Content-Length: 1130
Content-Security-Policy: default-src 'none'
Content-Type: text/plain; charset=UTF-8
Date: Thu, 19 Feb 2026 01:29:54 GMT
ETag: "500e68c954624a9ae14e091374173cc824f924d1"
Expires: Sun, 17 Feb 2036 01:29:54 GMT
Last-Modified: Thu, 19 Feb 2026 01:29:54 GMT
Server: OpenBSD httpd
X-Content-Type-Options: nosniff

#!/bin/sh

test_description='Check content on rawdiff page'
. ./setup.sh

test_expect_success 'generate foo/rawdiff' '
	cgit_query "url=foo/rawdiff" >tmp
'

test_expect_success 'compare with output of git-diff(1)' '
	git --git-dir="$PWD/repos/foo/.git" diff HEAD^.. >tmp2
	sed "1,4d" tmp >tmp_
	cmp tmp_ tmp2
'

test_expect_success 'find initial commit' '
	root=$(git --git-dir="$PWD/repos/foo/.git" rev-list --max-parents=0 HEAD)
'

test_expect_success 'generate diff for initial commit' '
	cgit_query "url=foo/rawdiff&id=$root" >tmp
'

test_expect_success 'compare with output of git-diff-tree(1)' '
	git --git-dir="$PWD/repos/foo/.git" diff-tree -p --no-commit-id --root "$root" >tmp2
	sed "1,4d" tmp >tmp_
	cmp tmp_ tmp2
'

test_expect_success 'generate diff for multiple commits' '
	id=$(git --git-dir="$PWD/repos/foo/.git" rev-parse HEAD)
	id2=$(git --git-dir="$PWD/repos/foo/.git" rev-parse HEAD~3)
	cgit_query "url=foo/rawdiff&id=$id&id2=$id2" >tmp
'

test_expect_success 'compare with output of git-diff(1)' '
	git --git-dir="$PWD/repos/foo/.git" diff HEAD~3..HEAD >tmp2
	sed "1,4d" tmp >tmp_
	cmp tmp_ tmp2
'

test_done
