fix spec to ensure that the metamorphosed source's returned value equals to the source before metamorphosed