Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## implementation
- resolvePath: function (path, referrerLocation) {
- var pathDirs = path.split("/");
- var fileName = pathDirs.pop();
- var locationDirs = referrerLocation.split("/");
- locationDirs.pop();
- for (var i = 0, il = pathDirs.length; i < il; i++) {
- var spec = pathDirs[i];
- if (spec === "..") {
- locationDirs.pop();
- } else {
- locationDirs.push(spec);
- }
- }
- locationDirs.push(fileName);
- return locationDirs.join("/");
- },
- ## tests
- "test resolve path": function () {
- var e = new JSEpub();
- assertEquals("images/foo.jpg", e.resolvePath("../images/foo.jpg", "css/test.css"));
- assertEquals("images/foo.jpg", e.resolvePath("../../images/foo.jpg", "css/stuff/test.css"));
- assertEquals("images/foo.jpg", e.resolvePath("../css/../images/foo.jpg", "css/test.css"));
- assertEquals("foo.jpg", e.resolvePath("../foo.jpg", "css/foo.css"));
- assertEquals("css/foo.css", e.resolvePath("foo.css", "css/foo.css"));
- }
Add Comment
Please, Sign In to add comment