4 Commits
0.0.2 ... 0.0.3

Author SHA1 Message Date
4bf3e1c7c1 fix for new carp 2021-01-19 10:55:37 +01:00
2d62dee4d0 docs: fix links between absolute? and relative? 2020-05-09 22:06:20 +02:00
3eb542bdfd simplify tests 2020-05-05 14:33:45 +02:00
5b87d0bf9a fix tests for new version of carp 2020-05-05 13:57:56 +02:00
4 changed files with 21 additions and 24 deletions

View File

@@ -97,7 +97,7 @@ has some functions to work with the <code>PATH</code> environment variable.</p>
</pre>
<p class="doc">
<p>checks whether a path is absolute.</p>
<p>As such, it is the inverse to <a href="#relative">relative</a>.</p>
<p>As such, it is the inverse to <a href="#relative?">relative?</a>.</p>
</p>
</div>
@@ -342,7 +342,7 @@ is none.</p>
</pre>
<p class="doc">
<p>checks whether a path is relative.</p>
<p>As such, it is the inverse to <a href="#absolute">absolute</a>.</p>
<p>As such, it is the inverse to <a href="#absolute?">absolute?</a>.</p>
</p>
</div>

View File

@@ -1,13 +1,10 @@
(load "path.carp")
(defndynamic gendocs []
(do
(Project.config "title" "path")
(Project.config "docs-directory" "./docs/")
(Project.config "docs-logo" "")
(Project.config "docs-styling" "style.css")
(Project.config "docs-generate-index" false)
(save-docs Path)))
(Project.config "title" "path")
(Project.config "docs-directory" "./docs/")
(Project.config "docs-logo" "")
(Project.config "docs-styling" "style.css")
(Project.config "docs-generate-index" false)
(save-docs Path)
(gendocs)
(quit)

View File

@@ -16,7 +16,7 @@ It assumes either Windows or POSIX-style separators.")
(defmodule Path
(doc absolute? "checks whether a path is absolute.
As such, it is the inverse to [relative](#relative).")
As such, it is the inverse to [relative?](#relative?).")
(doc separator "is the default separator we use on this OS.")
(doc separators "is the possible separators we could use on this OS.")
(doc search-path-separator "is the separator for the `PATH` environment
@@ -32,7 +32,7 @@ variable we use on this OS.")
(def search-path-separator \;)
(def extension-pat #"\.[^\\/\.]*$")
(def sep-string "\\"))
(not-on-windows
(posix-only
(defn absolute? [p] (String.starts-with? p "/"))
(def separator \/)
(def separators [\/])
@@ -42,7 +42,7 @@ variable we use on this OS.")
(doc relative? "checks whether a path is relative.
As such, it is the inverse to [absolute](#absolute).")
As such, it is the inverse to [absolute?](#absolute?).")
(defn relative? [p] (not (absolute? p)))
(doc separator? "checks whether the character `c` is a path separator on this
@@ -127,9 +127,9 @@ Examples on POSIX:
(doc drop-extension "drops the extension of a path `p`. Does nothing if there
is none.")
(defn drop-extension [p]
@(match (split-extension p)
(Maybe.Nothing) p
(Maybe.Just pair) (Pair.a &pair)))
(match (split-extension p)
(Maybe.Nothing) @p
(Maybe.Just pair) @(Pair.a &pair)))
(doc add-extension "adds an extension `ext` to a path `p`.")
(defn add-extension [p ext] (String.concat &[@p @"." @ext]))

View File

@@ -3,7 +3,7 @@
(use-all Path Test)
(if (not (Dynamic.or (= "windows" (os)) (= "mingw32" (os))))
(posix-only
(deftest test
(assert-equal test
"path/joined"
@@ -41,11 +41,11 @@
"cwd works"
)
; TODO why does this test not work?
;(assert-equal test
; "file"
; &(drop-extension "file.txt")
; "drop-extension works if there is an extension"
;)
(assert-equal test
"file"
&(drop-extension "file.txt")
"drop-extension works if there is an extension"
)
(assert-equal test
"file"
&(drop-extension "file")
@@ -87,7 +87,7 @@
)
)
())
(if (Dynamic.or (= "windows" (os)) (= "mingw32" (os)))
(windows-only
(deftest test
(assert-true test
false