ServerJS/Filesystem API/Join: Difference between revisions
< ServerJS | Filesystem API
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 | '''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"