aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/old/cmd/tools/vcreate_test.v
diff options
context:
space:
mode:
Diffstat (limited to 'v_windows/v/old/cmd/tools/vcreate_test.v')
-rw-r--r--v_windows/v/old/cmd/tools/vcreate_test.v79
1 files changed, 79 insertions, 0 deletions
diff --git a/v_windows/v/old/cmd/tools/vcreate_test.v b/v_windows/v/old/cmd/tools/vcreate_test.v
new file mode 100644
index 0000000..fe829e6
--- /dev/null
+++ b/v_windows/v/old/cmd/tools/vcreate_test.v
@@ -0,0 +1,79 @@
+import os
+
+const test_path = 'vcreate_test'
+
+fn init_and_check() ? {
+ vexe := @VEXE
+ os.execute_or_exit('$vexe init')
+
+ assert os.read_file('vcreate_test.v') ? == [
+ 'module main\n',
+ 'fn main() {',
+ " println('Hello World!')",
+ '}',
+ '',
+ ].join('\n')
+
+ assert os.read_file('v.mod') ? == [
+ 'Module {',
+ " name: 'vcreate_test'",
+ " description: ''",
+ " version: ''",
+ " license: ''",
+ ' dependencies: []',
+ '}',
+ '',
+ ].join('\n')
+
+ assert os.read_file('.gitignore') ? == [
+ '# Binaries for programs and plugins',
+ 'main',
+ 'vcreate_test',
+ '*.exe',
+ '*.exe~',
+ '*.so',
+ '*.dylib',
+ '*.dll',
+ '',
+ ].join('\n')
+}
+
+fn test_v_init() ? {
+ dir := os.join_path(os.temp_dir(), test_path)
+ os.rmdir_all(dir) or {}
+ os.mkdir(dir) or {}
+ defer {
+ os.rmdir_all(dir) or {}
+ }
+ os.chdir(dir)
+
+ init_and_check() ?
+}
+
+fn test_v_init_in_git_dir() ? {
+ dir := os.join_path(os.temp_dir(), test_path)
+ os.rmdir_all(dir) or {}
+ os.mkdir(dir) or {}
+ defer {
+ os.rmdir_all(dir) or {}
+ }
+ os.chdir(dir)
+ os.execute_or_exit('git init .')
+ init_and_check() ?
+}
+
+fn test_v_init_no_overwrite_gitignore() ? {
+ dir := os.join_path(os.temp_dir(), test_path)
+ os.rmdir_all(dir) or {}
+ os.mkdir(dir) or {}
+ os.write_file('$dir/.gitignore', 'blah') ?
+ defer {
+ os.rmdir_all(dir) or {}
+ }
+ os.chdir(dir)
+
+ vexe := @VEXE
+ os.execute_or_exit('$vexe init')
+
+ assert os.read_file('.gitignore') ? == 'blah'
+}