bug fixed
add testcase