ServerJS/Filesystem API/Join: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Called for a show of hands on the "join" features)
 
m (→‎Show of Hands: editorial fixes)
Line 13: Line 13:
*  
*  


'''B''': recognizes and follows absolute paths.  on a Unix system.
'''B''': recognizes and follows absolute paths.


''for'': <code>join("foo", "/bar") == "/bar"</code>
''for'': <code>join("foo", "/bar") == "/bar"</code> (Unix) <code>join("Foo", "c:\\Bar") == "c:\\Bar"</code> (Microsoft)
* Kris Kowal
* Kris Kowal


''against'': <code>join("foo", "/bar") == "foo/bar"</code>
''against'': <code>join("foo", "/bar") == "foo/bar"</code>
*
*

Revision as of 18:56, 13 July 2009

Definition

Unit Tests

Show of Hands

A: implicitly uses "normal" to normalize the result, so all empty, ".", and ".." path components are resolved if possible. This is our "normal" definition, which is distinct from "canonical" and "absolute" in that it does not consult the underlying storage or the current working directory.

for: join("foo", "..", "bar") == "bar" and join("..", "foo") == "../foo"

  • Kris Kowal

against: join("foo", "..", "bar") == "foo/../bar"

B: recognizes and follows absolute paths.

for: join("foo", "/bar") == "/bar" (Unix) join("Foo", "c:\\Bar") == "c:\\Bar" (Microsoft)

  • Kris Kowal

against: join("foo", "/bar") == "foo/bar"