seajs/seajs — pull request #650 by caolvchong (2013-04-08 14:09:31+00:00)
Title: 相对路径在多重上级目录的情况下的bug修复

处理上级目录的正则，全局匹配

var DOUBLE_DOT_RE = /\/[^/]+\/\.\.\//g

处理相对路径函数

function realpath(path) {
path = path.replace(DOT_RE, "/")
path = path.replace(MULTIPLE_SLASH_RE, "$1\/")
while (path.match(DOUBLE_DOT_RE)) {
path = path.replace(DOUBLE_DOT_RE, "/")
}
return path
}

while中，replace全局正则替换会导致问题

realpath('http://test.com/a/b/c/d/e/f/g/h/../../../../../../i')

得到的结果是：

http://test.com/a/b/c/d/i

而预期是：

http://test.com/a/b/i

去掉了全局匹配，while逐次匹配，即正确
另外，增加了一个测试用例