Guest User

Untitled

a guest
Jul 23rd, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. ## implementation
  2. resolvePath: function (path, referrerLocation) {
  3. var pathDirs = path.split("/");
  4. var fileName = pathDirs.pop();
  5.  
  6. var locationDirs = referrerLocation.split("/");
  7. locationDirs.pop();
  8.  
  9. for (var i = 0, il = pathDirs.length; i < il; i++) {
  10. var spec = pathDirs[i];
  11. if (spec === "..") {
  12. locationDirs.pop();
  13. } else {
  14. locationDirs.push(spec);
  15. }
  16. }
  17.  
  18. locationDirs.push(fileName);
  19. return locationDirs.join("/");
  20. },
  21.  
  22. ## tests
  23. "test resolve path": function () {
  24. var e = new JSEpub();
  25. assertEquals("images/foo.jpg", e.resolvePath("../images/foo.jpg", "css/test.css"));
  26. assertEquals("images/foo.jpg", e.resolvePath("../../images/foo.jpg", "css/stuff/test.css"));
  27. assertEquals("images/foo.jpg", e.resolvePath("../css/../images/foo.jpg", "css/test.css"));
  28. assertEquals("foo.jpg", e.resolvePath("../foo.jpg", "css/foo.css"));
  29. assertEquals("css/foo.css", e.resolvePath("foo.css", "css/foo.css"));
  30. }
Add Comment
Please, Sign In to add comment