support anonymous define
support default define name
add test case