feat: implement Process.cwd foreign method using libuv uv_cwd

Add a new `Process.cwd` static method that retrieves the current working directory via libuv's `uv_cwd` function. The implementation includes proper error handling that aborts the fiber with a descriptive message on failure. The foreign method is registered in the module table and exposed in the Wren API with a foreign static declaration. A test suite validates that the returned value is a non-empty string starting with "/", resolves correctly via `File.realPath`, and corresponds to an existing directory.
This commit is contained in:
Dario Vladović
2020-06-14 04:12:34 +00:00
parent 1f27f5055b
commit f0cc18f5ad
5 changed files with 29 additions and 1 deletions
+8
View File
@@ -0,0 +1,8 @@
import "io" for File, Directory
import "os" for Process
System.print(Process.cwd is String) // expect: true
System.print(!Process.cwd.isEmpty) // expect: true
System.print(Process.cwd.startsWith("/")) // expect: true
System.print(File.realPath(Process.cwd) == Process.cwd) // expect: true
System.print(Directory.exists(Process.cwd)) // expect: true