diff --git a/cmd/tools/vcreate.v b/cmd/tools/vcreate.v index 5b5b728236..6adaeac0b9 100644 --- a/cmd/tools/vcreate.v +++ b/cmd/tools/vcreate.v @@ -50,6 +50,7 @@ fn vmod_content(c Create) string { " license: '$c.license'", ' dependencies: []', '}', + '', ].join('\n') } @@ -59,6 +60,7 @@ fn main_content() string { 'fn main() {', " println('Hello World!')", '}', + '', ].join('\n') } @@ -72,6 +74,7 @@ fn gen_gitignore(name string) string { '*.so', '*.dylib', '*.dll', + '', ].join('\n') } @@ -160,7 +163,7 @@ fn init_project() { c.description = '' c.write_vmod(false) c.write_main(false) - c.create_git_repo('') + c.create_git_repo('.') println("Change your module's description in `v.mod`") } diff --git a/cmd/tools/vcreate_test.v b/cmd/tools/vcreate_test.v new file mode 100644 index 0000000000..b4db89a5b5 --- /dev/null +++ b/cmd/tools/vcreate_test.v @@ -0,0 +1,47 @@ +import os + +const test_path = 'vcreate_test' + +fn test_v_init() ? { + dir := os.join_path(os.temp_dir(), test_path) + os.rmdir_all(dir) or {} + os.mkdir(dir) ? + defer { + os.rmdir_all(dir) or {} + } + os.chdir(dir) + + vexe := os.getenv('VEXE') + os.execute_or_panic('$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') +}