package codept-lib
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=5e6631d6bcb84d149460d046c71afa4a6342aa8d9adaf2b1f45989dd33a3ac92
sha512=ed58520e2b94c6d6b01466f2de464e5bfd95efd8d9d8e41e1d95e3c3f250b20118b3c2d08492cbc86152c334730fa43d110331d090fcc98e8be7fdc7b47962ff
doc/codept-lib/Unitname/index.html
Module UnitnameSource
The Unit name is the name of a module which can be represented by a file. The unit name transforms the given file path into a Modname.t and keep the file path internally.
By this way, an t as two views:
- as a file path (where the module is located into the file-system)
- as a module name
Type of an unit name.
modulize filename makes a new t which contains the given filename and modulize it: it removes the extension (if it exists), it capitalises the first letter of the filename's Filename.basename and replace any wrong characters by '_'.
For instance:
"foo.ml"=>"Foo""Foo"=>"Foo""foo'.ml"=>"Foo_""lib/foo.ml"=>"Foo""foo-bar.ml"=>"Foo-bar"
We assert that:
# let v = Unitname.modulize "foo.ml" ;;
# assert (Stdlib.compare v Unitname.(modulize (filepath v)) = 0) ;;filename v returns the filename of the given unit name. The filename is the Filename.basename of the filepath given to construct v with modulize.
filepath v returns the filepath of the given unit name. The file path is the one used to construct v with modulize.
compare_as_modnames a b compares a and b from their modname's views. For instance,
# let a = Unitname.modulize "foo/a.ml" ;;
# let b = Unitname.modulize "bar/a.ml" ;;
# Unitname.compare_as_modnames a b ;;
- : int = 0change_file_extension f t tries to replace the current extension of the given t (the filename view) by something else returned by f. If t has no extension, we return it unchanged. Otherwise, we call f and give to it the current extension.
NOTE: The modname view is unchanged in any cases:
# let v0 = Unitname.modulize "foo.ml" ;;
# let v1 = Unitname.change_file_extension (fun _ -> "mli") v0 ;;
# assert (Modname.compare (Unitname.modname v0) (Unitname.modname v1) = 0) ;;However, v0 and v1 are not equal anymore.