#
# Tests for the "amend" command.
#
# Make sure we are not in an open repository and initialize new repository
repo_init
########################################
# Setup: Add file and commit #
########################################
write_file datafile "data"
write_file commitmsg "committed"
fossil add datafile
fossil commit -m "c1"
if {![regexp {^New_Version: ([0-9a-f]{40})$} $RESULT m UUID]} {
test amend-setup-failure false
return
}
########################################
# Test: -branch #
########################################
fossil amend $UUID -branch amended-branch
test amend-branch-1.1 {[regexp {tags:\s+amended-branch} $RESULT]}
fossil branch ls
test amend-branch-1.2 {[string first "* amended-branch" $RESULT] != -1}
fossil tag list
test amend-branch-1.3 {[string first amended-branch $RESULT] != -1}
fossil tag list --raw $UUID
test amend-branch-1.4 {[string first "branch=amended-branch" $RESULT] != -1}
test amend-branch-1.5 {[string first "sym-amended-branch" $RESULT] != -1}
fossil timeline -n 1
test amend-branch-1.6 {[string match {*Move*to*branch*amended-branch*} $RESULT]}
########################################
# Test: -bgcolor #
########################################
set tc 0
foreach {color result} {
0 0
a a
abcdef #abcdef
abc123 #abc123
123efg 123efg
abcdefg abcdefg
abcdeg abcdeg
blue blue
acf #acf
123 #123
#1234 #1234
1234 1234
123456 #123456
} {
incr tc
fossil amend $UUID -bgcolor $color
test amend-bgcolor-$tc.1 {[string match "*uuid:*$UUID*" $RESULT]}
fossil tag list --raw $UUID
test amend-bgcolor-$tc.2 {[string first "bgcolor=$result" $RESULT] != -1}
fossil timeline -n 1
test amend-bgcolor-$tc.3 {
[string match "*Change*background*color*to*\"$result\"*" $RESULT]
}
if {[regexp {(?x)[0-9]{2}(?::[0-9]{2}){2}\s+\[([0-9a-f]+)]} $RESULT m artid]}\
{
fossil artifact $artid
test amend-bgcolor-$tc.4 {
[string match "*T +bgcolor $UUID $result*" $RESULT]
}
} else {
if {$VERBOSE} { protOut "No artifact found in timeline output" }
test amend-bgcolor-$tc.4 false
}
}
########################################
# Test: -branchcolor #
########################################
fossil amend $UUID -branchcolor yellow
test amend-branchcolor-1.1 {[string match "*uuid:*$UUID*" $RESULT]}
fossil tag ls --raw $UUID
test amend-branchcolor-1.2 {[string first "bgcolor=yellow" $RESULT] != -1}
fossil timeline -n 1
test amend-branchcolor-1.3 {
[string match {*Change*branch*background*color*to*"yellow".*} $RESULT]
}
if {[regexp {(?x)[0-9]{2}(?::[0-9]{2}){2}\s+\[([0-9a-f]+)]} $RESULT m artid]} {
fossil artifact $artid
test amend-branchcolor-1.4 {
[string match "*T \*bgcolor $UUID yellow*" $RESULT]
}
} else {
if {$VERBOSE} { protOut "No artifact found in timeline output" }
test amend-branchcolor-1.4 false
}
########################################
# Test: -author #
########################################
fossil amend $UUID -author author-test
test amend-author-1.1 {[string match {*comment:*(user:*author-test)*} $RESULT]}
fossil tag ls --raw $UUID
test amend-author-1.2 {[string first "user=author-test" $RESULT] != -1}
fossil timeline -n 1
test amend-author-1.3 {[string match {*Change*user*to*"author-test".*} $RESULT]}