#!/usr/bin/env bash
# setup a few generics to check diff output, not exhaustive
set_portroot
ebuild "$(get_ebuild libdummy 1.5 lib.so:"${LIBD100}" SLOT:0/1)" merge
ebuild "$(get_ebuild libalt 1.5 lib.so:"${LIBA300}" SLOT:3)" merge

ebuild "$(get_ebuild alt 1.5 bin:"${EXEA}" \
	RDEPEND:'
		dev-test/libalt
		dev-test/libalt:=')" merge
expect -s "VDB:*'
-dev-test/libalt:3=
+dev-test/libalt:3
+dev-test/libdummy:='" -cr --unified dev-test/alt
expect -s "VDB:*'
dev-test/libalt:3= | dev-test/libalt:3
                   > dev-test/libdummy:='" -cr dev-test/alt

ebuild "$(get_ebuild alt 2.5 bin:"${EXEA}" \
	RDEPEND:'
		dev-test/libalt:3
		dev-test/libdummy')" merge
expect -s "VDB:*'
-dev-test/libdummy
+dev-test/libdummy:='" -cr --unified dev-test/alt
expect -s "VDB:*'
 dev-test/libalt:3
-dev-test/libdummy
+dev-test/libdummy:='" -cr --unified --full dev-test/alt
expect -s "VDB:*'
dev-test/libdummy | dev-test/libdummy:='" -cr dev-test/alt
expect -s "VDB:*'
dev-test/libalt:3   dev-test/libalt:3
dev-test/libdummy | dev-test/libdummy:='" -cr --full dev-test/alt

ebuild "$(get_ebuild dummy 1.5 bin:"${EXED}" \
	RDEPEND:'
		dev-test/libalt
		dev-test/libdummy:0=')" merge
expect -s "VDB:*'-dev-test/libalt'" -cr --unified dev-test/dummy
expect -s "VDB:*'dev-test/libalt < '" -cr dev-test/dummy

# off case of having both pkg:2 pkg:3 but pkg:2 is unused and that
# must not be confused for a slot change suggestion (is a removal)
ebuild "$(get_ebuild libalt 2.5 lib.so:"${LIBA400}" SLOT:2)" merge
ebuild "$(get_ebuild alt 2.5 bin:"${EXEA}" \
	RDEPEND:'
		dev-test/libalt:2
		dev-test/libalt:3
		dev-test/libdummy')" merge
expect -s "VDB:*'
dev-test/libalt:2 < 
dev-test/libdummy | dev-test/libdummy:='" -cr dev-test/alt
