update
- clear some useless type
- add more test cases
- split the function test case
- fix a memory leak, when use the text variable