toosl: fix `v init` - terminate newly created files with newlines, add a test (#10480)
* vcreate: Add test for `v init`. * vcreate: Init git properly with no dir arg. `v init` would fail to create a .gitignore file. When not providing a dir arg, passing "" to create_git_repo would result in: ``` V panic: failed to create gitignore: failed to open file "/.gitignore" ``` * vcreate: Terminate files with newline. Fixes #10478.pull/10484/head
parent
e31be9f5c4
commit
30fac1f877
|
@ -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`")
|
||||
}
|
||||
|
|
|
@ -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')
|
||||
}
|
Loading…
Reference in New Issue