Add some edge cases

Note the last two new cases are fail now.

There are also some cases which I am not sure which is the "right" solution, pls see the comments.
fail now.

This is a very interesting case which I learned from the source code of seajs https://github.com/seajs/seajs/blob/master/src/standalone.js#L2-L3
cc @army8735