test_name 	 expanded-reattachment
test_description Reattachment of expanded objects should result in calling feature "copy".

copy_raw	a.e    $CLUSTER a.e
copy_sub	Ace $TEST Ace

-- Test with expanded class type

define B "expanded A"
copy_sub	test.e $CLUSTER test.e

compile_melted
compile_result	ok
execute_work	NONE exec_output_m_1
execute_result	ok
compare		exec_output_m_1 output1

compile_frozen
compile_result	ok
c_compile_work
c_compile_result ok
execute_work	NONE exec_output_w_1
execute_result	ok
compare		exec_output_w_1 output1

compile_final
compile_result	ok
c_compile_final
c_compile_result ok
execute_final	NONE exec_output_f_1
execute_result	ok
compare		exec_output_f_1 output1

cleanup_compile

-- Test with expanded descendants

define B "B"
copy_raw	b.e    $CLUSTER b.e
copy_sub	test.e $CLUSTER test.e

compile_melted
compile_result	ok
execute_work	NONE exec_output_m_2
execute_result	ok
compare		exec_output_m_2 output2

compile_frozen
compile_result	ok
c_compile_work
c_compile_result ok
execute_work	NONE exec_output_w_2
execute_result	ok
compare		exec_output_w_2 output2

compile_final
compile_result	ok
c_compile_final
c_compile_result ok
execute_final	NONE exec_output_f_2
execute_result	ok
compare		exec_output_f_2 output2

test_end