vfmt: shorten `main.const_name` to just `const_name`

pull/8347/head^2
Delyan Angelov 2021-01-25 13:08:43 +02:00
parent ea11488339
commit dbaccd4272
No known key found for this signature in database
GPG Key ID: 66886C0F12D595ED
25 changed files with 183 additions and 175 deletions

View File

@ -131,10 +131,10 @@ fn (vd VDoc) render_search_index(out Output) {
fn (mut vd VDoc) render_static_html(out Output) { fn (mut vd VDoc) render_static_html(out Output) {
vd.assets = { vd.assets = {
'doc_css': vd.get_resource(main.css_js_assets[0], out) 'doc_css': vd.get_resource(css_js_assets[0], out)
'normalize_css': vd.get_resource(main.css_js_assets[1], out) 'normalize_css': vd.get_resource(css_js_assets[1], out)
'doc_js': vd.get_resource(main.css_js_assets[2], out) 'doc_js': vd.get_resource(css_js_assets[2], out)
'dark_mode_js': vd.get_resource(main.css_js_assets[3], out) 'dark_mode_js': vd.get_resource(css_js_assets[3], out)
'light_icon': vd.get_resource('light.svg', out) 'light_icon': vd.get_resource('light.svg', out)
'dark_icon': vd.get_resource('dark.svg', out) 'dark_icon': vd.get_resource('dark.svg', out)
'menu_icon': vd.get_resource('menu.svg', out) 'menu_icon': vd.get_resource('menu.svg', out)
@ -144,7 +144,7 @@ fn (mut vd VDoc) render_static_html(out Output) {
fn (vd VDoc) get_resource(name string, out Output) string { fn (vd VDoc) get_resource(name string, out Output) string {
cfg := vd.cfg cfg := vd.cfg
path := os.join_path(main.res_path, name) path := os.join_path(res_path, name)
mut res := os.read_file(path) or { panic('vdoc: could not read $path') } mut res := os.read_file(path) or { panic('vdoc: could not read $path') }
/* /*
if minify { if minify {
@ -294,7 +294,7 @@ fn (vd VDoc) gen_html(d doc.Doc) string {
symbols_toc_str := symbols_toc.str() symbols_toc_str := symbols_toc.str()
modules_toc.free() modules_toc.free()
symbols_toc.free() symbols_toc.free()
return main.html_content.replace('{{ title }}', d.head.name).replace('{{ head_name }}', return html_content.replace('{{ title }}', d.head.name).replace('{{ head_name }}',
header_name).replace('{{ version }}', version).replace('{{ light_icon }}', vd.assets['light_icon']).replace('{{ dark_icon }}', header_name).replace('{{ version }}', version).replace('{{ light_icon }}', vd.assets['light_icon']).replace('{{ dark_icon }}',
vd.assets['dark_icon']).replace('{{ menu_icon }}', vd.assets['menu_icon']).replace('{{ head_assets }}', vd.assets['dark_icon']).replace('{{ menu_icon }}', vd.assets['menu_icon']).replace('{{ head_assets }}',
if cfg.inline_assets { if cfg.inline_assets {
@ -452,7 +452,7 @@ fn doc_node_html(dn doc.DocNode, link string, head bool, include_examples bool,
dnw.write('${tabs[2]}<div class="title"><$head_tag>$dn.kind $sym_name$hash_link</$head_tag>') dnw.write('${tabs[2]}<div class="title"><$head_tag>$dn.kind $sym_name$hash_link</$head_tag>')
} }
if link.len != 0 { if link.len != 0 {
dnw.write('<a class="link" rel="noreferrer" target="_blank" href="$link">$main.link_svg</a>') dnw.write('<a class="link" rel="noreferrer" target="_blank" href="$link">$link_svg</a>')
} }
dnw.write('</div>') dnw.write('</div>')
} }

View File

@ -247,7 +247,7 @@ fn (mut vd VDoc) generate_docs_from_file() {
exit(1) exit(1)
} }
dir_path := if cfg.is_vlib { dir_path := if cfg.is_vlib {
main.vroot vroot
} else if os.is_dir(cfg.input_path) { } else if os.is_dir(cfg.input_path) {
cfg.input_path cfg.input_path
} else { } else {
@ -404,8 +404,8 @@ fn parse_arguments(args []string) Config {
} }
'-f' { '-f' {
format := cmdline.option(current_args, '-f', '') format := cmdline.option(current_args, '-f', '')
if format !in main.allowed_formats { if format !in allowed_formats {
allowed_str := main.allowed_formats.join(', ') allowed_str := allowed_formats.join(', ')
eprintln('vdoc: "$format" is not a valid format. Only $allowed_str are allowed.') eprintln('vdoc: "$format" is not a valid format. Only $allowed_str are allowed.')
exit(1) exit(1)
} }
@ -472,7 +472,7 @@ fn parse_arguments(args []string) Config {
if cfg.input_path.trim_right('/') == 'vlib' { if cfg.input_path.trim_right('/') == 'vlib' {
cfg.is_vlib = true cfg.is_vlib = true
cfg.is_multi = true cfg.is_multi = true
cfg.input_path = os.join_path(main.vroot, 'vlib') cfg.input_path = os.join_path(vroot, 'vlib')
} else if !is_path { } else if !is_path {
// TODO vd.vprintln('Input "$cfg.input_path" is not a valid path. Looking for modules named "$cfg.input_path"...') // TODO vd.vprintln('Input "$cfg.input_path" is not a valid path. Looking for modules named "$cfg.input_path"...')
mod_path := doc.lookup_module(cfg.input_path) or { mod_path := doc.lookup_module(cfg.input_path) or {
@ -486,7 +486,7 @@ fn parse_arguments(args []string) Config {
fn main() { fn main() {
if os.args.len < 2 || '-h' in os.args || '--help' in os.args || os.args[1..] == ['doc', 'help'] { if os.args.len < 2 || '-h' in os.args || '--help' in os.args || os.args[1..] == ['doc', 'help'] {
os.system('$main.vexe help doc') os.system('$vexe help doc')
exit(0) exit(0)
} }
args := os.args[2..].clone() args := os.args[2..].clone()

View File

@ -48,7 +48,7 @@ fn check_path(vexe string, dir string, tests []string) int {
println(found) println(found)
println('============\n') println('============\n')
println('diff:') println('diff:')
println(util.color_compare_strings(main.diff_cmd, found, expected)) println(util.color_compare_strings(diff_cmd, found, expected))
println('============\n') println('============\n')
nb_fail++ nb_fail++
} else { } else {

View File

@ -38,12 +38,12 @@ const show_warnings = '-hide-warnings' !in vet_options
fn main() { fn main() {
opt := Options{ opt := Options{
is_verbose: main.is_verbose is_verbose: is_verbose
} }
mut vet := Vet{ mut vet := Vet{
opt: opt opt: opt
} }
mut paths := cmdline.only_non_options(main.vet_options) mut paths := cmdline.only_non_options(vet_options)
vtmp := os.getenv('VTMP') vtmp := os.getenv('VTMP')
if vtmp != '' { if vtmp != '' {
// `v test-cleancode` passes also `-o tmpfolder` as well as all options in VFLAGS // `v test-cleancode` passes also `-o tmpfolder` as well as all options in VFLAGS
@ -57,7 +57,7 @@ fn main() {
} }
if path.ends_with('.v') || path.ends_with('.vv') { if path.ends_with('.v') || path.ends_with('.vv') {
if path.contains('cmd/tools/vvet/tests/') { if path.contains('cmd/tools/vvet/tests/') {
if main.is_force || paths.len == 1 { if is_force || paths.len == 1 {
vet.vet_file(path, true) vet.vet_file(path, true)
continue continue
} else { } else {
@ -79,7 +79,7 @@ fn main() {
files << vfiles files << vfiles
files << vvfiles files << vvfiles
for file in files { for file in files {
if !main.is_force && file.ends_with('.vv') && file.contains('cmd/tools/vvet/tests/') { if !is_force && file.ends_with('.vv') && file.contains('cmd/tools/vvet/tests/') {
continue continue
} }
vet.vet_file(file, false) vet.vet_file(file, false)
@ -90,7 +90,7 @@ fn main() {
warnings := vet.errors.filter(it.kind == .warning) warnings := vet.errors.filter(it.kind == .warning)
errors := vet.errors.filter(it.kind == .error) errors := vet.errors.filter(it.kind == .error)
errors_vfmt := vet.errors.filter(it.kind == .error && it.fix == .vfmt) errors_vfmt := vet.errors.filter(it.kind == .error && it.fix == .vfmt)
if main.show_warnings { if show_warnings {
for err in warnings { for err in warnings {
eprintln('$err.file_path:$err.pos.line_nr: warning: $err.message') eprintln('$err.file_path:$err.pos.line_nr: warning: $err.message')
} }

View File

@ -94,7 +94,7 @@ fn main() {
} }
// Start calling the correct functions/external tools // Start calling the correct functions/external tools
// Note for future contributors: Please add new subcommands in the `match` block below. // Note for future contributors: Please add new subcommands in the `match` block below.
if command in main.simple_cmd { if command in simple_cmd {
// External tools // External tools
util.launch_tool(prefs.is_verbose, 'v' + command, os.args[1..]) util.launch_tool(prefs.is_verbose, 'v' + command, os.args[1..])
return return

View File

@ -1679,8 +1679,8 @@ const (
world = '世界' world = '世界'
) )
println(main.pi) println(pi)
println(main.world) println(world)
``` ```
Constants are declared with `const`. They can only be defined Constants are declared with `const`. They can only be defined
@ -1716,17 +1716,19 @@ const (
blue = rgb(0, 0, 255) blue = rgb(0, 0, 255)
) )
println(main.numbers) println(numbers)
println(main.red) println(red)
println(main.blue) println(blue)
``` ```
Global variables are not allowed, so this can be really useful. Global variables are not allowed, so this can be really useful.
When naming constants, `snake_case` must be used. In order to distinguish consts When naming constants, `snake_case` must be used. In order to distinguish consts
from local variables, the full path to consts must be specified. For example, from local variables, the full path to consts must be specified. For example,
to access the PI const, full `math.pi` name must be used both outside the `math` module, to access the PI const, full `math.pi` name must be used both outside the `math`
and inside it. This can be seen in the example above with `println(main.numbers)`. module, and inside it. That restriction is relaxed only for the `main` module
(the one containing your `fn main()`, where you can use the shorter name of the
constants too, i.e. just `println(numbers)`, not `println(main.numbers)` .
vfmt takes care of this rule, so you can type `println(pi)` inside the `math` module, vfmt takes care of this rule, so you can type `println(pi)` inside the `math` module,
and vffmt will automatically update it to `println(math.pi)`. and vffmt will automatically update it to `println(math.pi)`.

View File

@ -307,7 +307,7 @@ fn test_fixed() {
nums[1] = 7 nums[1] = 7
assert nums[1] == 7 assert nums[1] == 7
nums2 := [5]int{} // c_n nums2 := [5]int{} // c_n
assert nums2[main.c_n - 1] == 0 assert nums2[c_n - 1] == 0
} }
fn modify(mut numbers []int) { fn modify(mut numbers []int) {
@ -1101,12 +1101,12 @@ const (
) )
fn test_multidimensional_array_initialization_with_consts() { fn test_multidimensional_array_initialization_with_consts() {
mut data := [][][]int{len: main.grid_size_1, init: [][]int{len: main.grid_size_2, init: []int{len: main.grid_size_3, init: main.cell_value}}} mut data := [][][]int{len: grid_size_1, init: [][]int{len: grid_size_2, init: []int{len: grid_size_3, init: cell_value}}}
assert data.len == main.grid_size_1 assert data.len == grid_size_1
assert data[0].len == main.grid_size_2 assert data[0].len == grid_size_2
assert data[0][0].len == main.grid_size_3 assert data[0][0].len == grid_size_3
assert data[0][0][0] == main.cell_value assert data[0][0][0] == cell_value
assert data[1][1][1] == main.cell_value assert data[1][1][1] == cell_value
} }
fn test_byteptr_vbytes() { fn test_byteptr_vbytes() {

View File

@ -67,7 +67,7 @@ const (
fn main() { fn main() {
// get a mutable reference to the subscriber // get a mutable reference to the subscriber
mut sub := main.eb.subscriber mut sub := eb.subscriber
// subscribe to the 'error' event // subscribe to the 'error' event
sub.subscribe('error', on_error) sub.subscribe('error', on_error)
// start the work // start the work

View File

@ -8,18 +8,18 @@ const (
) )
fn testsuite_begin() { fn testsuite_begin() {
eprintln('testsuite_begin, tfolder = $main.tfolder') eprintln('testsuite_begin, tfolder = $tfolder')
os.rmdir_all(main.tfolder) os.rmdir_all(tfolder)
assert !os.is_dir(main.tfolder) assert !os.is_dir(tfolder)
os.mkdir_all(main.tfolder) os.mkdir_all(tfolder)
os.chdir(main.tfolder) os.chdir(tfolder)
assert os.is_dir(main.tfolder) assert os.is_dir(tfolder)
} }
fn testsuite_end() { fn testsuite_end() {
os.chdir(os.wd_at_startup) os.chdir(os.wd_at_startup)
os.rmdir_all(main.tfolder) os.rmdir_all(tfolder)
assert !os.is_dir(main.tfolder) assert !os.is_dir(tfolder)
} }
fn test_inode_file_type() { fn test_inode_file_type() {

View File

@ -12,21 +12,21 @@ const (
const args_at_start = os.args.clone() const args_at_start = os.args.clone()
fn testsuite_begin() { fn testsuite_begin() {
eprintln('testsuite_begin, tfolder = $main.tfolder') eprintln('testsuite_begin, tfolder = $tfolder')
os.rmdir_all(main.tfolder) os.rmdir_all(tfolder)
assert !os.is_dir(main.tfolder) assert !os.is_dir(tfolder)
os.mkdir_all(main.tfolder) os.mkdir_all(tfolder)
os.chdir(main.tfolder) os.chdir(tfolder)
assert os.is_dir(main.tfolder) assert os.is_dir(tfolder)
// println('args_at_start: $args_at_start') // println('args_at_start: $args_at_start')
assert main.args_at_start.len > 0 assert args_at_start.len > 0
assert main.args_at_start == os.args assert args_at_start == os.args
} }
fn testsuite_end() { fn testsuite_end() {
os.chdir(os.wd_at_startup) os.chdir(os.wd_at_startup)
os.rmdir_all(main.tfolder) os.rmdir_all(tfolder)
assert !os.is_dir(main.tfolder) assert !os.is_dir(tfolder)
// eprintln('testsuite_end , tfolder = $tfolder removed.') // eprintln('testsuite_end , tfolder = $tfolder removed.')
} }
@ -434,8 +434,8 @@ struct IntPoint {
fn test_write_file_array_bytes() { fn test_write_file_array_bytes() {
fpath := './abytes.bin' fpath := './abytes.bin'
mut arr := []byte{len: main.maxn} mut arr := []byte{len: maxn}
for i in 0 .. main.maxn { for i in 0 .. maxn {
arr[i] = 65 + byte(i) arr[i] = 65 + byte(i)
} }
os.write_file_array(fpath, arr) os.write_file_array(fpath, arr)
@ -447,14 +447,14 @@ fn test_write_file_array_bytes() {
fn test_write_file_array_structs() { fn test_write_file_array_structs() {
fpath := './astructs.bin' fpath := './astructs.bin'
mut arr := []IntPoint{len: main.maxn} mut arr := []IntPoint{len: maxn}
for i in 0 .. main.maxn { for i in 0 .. maxn {
arr[i] = IntPoint{65 + i, 65 + i + 10} arr[i] = IntPoint{65 + i, 65 + i + 10}
} }
os.write_file_array(fpath, arr) os.write_file_array(fpath, arr)
rarr := os.read_file_array<IntPoint>(fpath) rarr := os.read_file_array<IntPoint>(fpath)
assert rarr == arr assert rarr == arr
assert rarr.len == main.maxn assert rarr.len == maxn
// eprintln( rarr.str().replace('\n', ' ').replace('},', '},\n')) // eprintln( rarr.str().replace('\n', ' ').replace('},', '},\n'))
} }

View File

@ -76,7 +76,7 @@ const (
) )
fn test_from() { fn test_from() {
for item in main.versions_to_test { for item in versions_to_test {
ver := semver.from(item.raw) or { ver := semver.from(item.raw) or {
assert false assert false
return return
@ -87,7 +87,7 @@ fn test_from() {
assert ver.metadata == item.metadata assert ver.metadata == item.metadata
assert ver.prerelease == item.prerelease assert ver.prerelease == item.prerelease
} }
for ver in main.invalid_versions_to_test { for ver in invalid_versions_to_test {
semver.from(ver) or { semver.from(ver) or {
assert true assert true
continue continue
@ -140,7 +140,7 @@ fn test_compare() {
} }
fn test_satisfies() { fn test_satisfies() {
for item in main.ranges_to_test { for item in ranges_to_test {
ver := semver.from(item.raw_version) or { ver := semver.from(item.raw_version) or {
assert false assert false
return return
@ -155,13 +155,13 @@ fn test_satisfies_invalid() {
assert false assert false
return return
} }
for item in main.invalid_ranges_to_test { for item in invalid_ranges_to_test {
assert ver.satisfies(item) == false assert ver.satisfies(item) == false
} }
} }
fn test_coerce() { fn test_coerce() {
for item in main.coerce_to_test { for item in coerce_to_test {
valid := semver.from(item.valid) or { valid := semver.from(item.valid) or {
assert false assert false
return return
@ -183,10 +183,10 @@ fn test_coerce_invalid() {
} }
fn test_is_valid() { fn test_is_valid() {
for item in main.versions_to_test { for item in versions_to_test {
assert semver.is_valid(item.raw) assert semver.is_valid(item.raw)
} }
for item in main.invalid_versions_to_test { for item in invalid_versions_to_test {
assert semver.is_valid(item) == false assert semver.is_valid(item) == false
} }
} }

View File

@ -48,19 +48,19 @@ const (
fn test_big_sb() { fn test_big_sb() {
mut sb := strings.new_builder(100) mut sb := strings.new_builder(100)
mut sb2 := strings.new_builder(10000) mut sb2 := strings.new_builder(10000)
for i in 0 .. main.maxn { for i in 0 .. maxn {
sb.writeln(i.str()) sb.writeln(i.str())
sb2.write('+') sb2.write('+')
} }
s := sb.str() s := sb.str()
lines := s.split_into_lines() lines := s.split_into_lines()
assert lines.len == main.maxn assert lines.len == maxn
assert lines[0] == '0' assert lines[0] == '0'
assert lines[1] == '1' assert lines[1] == '1'
assert lines[777] == '777' assert lines[777] == '777'
assert lines[98765] == '98765' assert lines[98765] == '98765'
println(sb2.len) println(sb2.len)
assert sb2.len == main.maxn assert sb2.len == maxn
} }
fn test_byte_write() { fn test_byte_write() {

View File

@ -19,70 +19,70 @@ fn test_now_format() {
} }
fn test_format() { fn test_format() {
assert '11.07.1980 21:23' == main.time_to_test.get_fmt_str(.dot, .hhmm24, .ddmmyyyy) assert '11.07.1980 21:23' == time_to_test.get_fmt_str(.dot, .hhmm24, .ddmmyyyy)
} }
fn test_hhmm() { fn test_hhmm() {
assert '21:23' == main.time_to_test.hhmm() assert '21:23' == time_to_test.hhmm()
} }
fn test_hhmm12() { fn test_hhmm12() {
assert '9:23 p.m.' == main.time_to_test.hhmm12() assert '9:23 p.m.' == time_to_test.hhmm12()
} }
fn test_hhmmss() { fn test_hhmmss() {
assert '21:23:42' == main.time_to_test.hhmmss() assert '21:23:42' == time_to_test.hhmmss()
} }
fn test_ymmdd() { fn test_ymmdd() {
assert '1980-07-11' == main.time_to_test.ymmdd() assert '1980-07-11' == time_to_test.ymmdd()
} }
fn test_ddmmy() { fn test_ddmmy() {
assert '11.07.1980' == main.time_to_test.ddmmy() assert '11.07.1980' == time_to_test.ddmmy()
} }
fn test_md() { fn test_md() {
assert 'Jul 11' == main.time_to_test.md() assert 'Jul 11' == time_to_test.md()
} }
fn test_get_fmt_time_str() { fn test_get_fmt_time_str() {
assert '21:23:42' == main.time_to_test.get_fmt_time_str(.hhmmss24) assert '21:23:42' == time_to_test.get_fmt_time_str(.hhmmss24)
assert '21:23' == main.time_to_test.get_fmt_time_str(.hhmm24) assert '21:23' == time_to_test.get_fmt_time_str(.hhmm24)
assert '9:23:42 p.m.' == main.time_to_test.get_fmt_time_str(.hhmmss12) assert '9:23:42 p.m.' == time_to_test.get_fmt_time_str(.hhmmss12)
assert '9:23 p.m.' == main.time_to_test.get_fmt_time_str(.hhmm12) assert '9:23 p.m.' == time_to_test.get_fmt_time_str(.hhmm12)
} }
fn test_get_fmt_date_str() { fn test_get_fmt_date_str() {
assert '11.07.1980' == main.time_to_test.get_fmt_date_str(.dot, .ddmmyyyy) assert '11.07.1980' == time_to_test.get_fmt_date_str(.dot, .ddmmyyyy)
assert '11/07/1980' == main.time_to_test.get_fmt_date_str(.slash, .ddmmyyyy) assert '11/07/1980' == time_to_test.get_fmt_date_str(.slash, .ddmmyyyy)
assert '11-07-1980' == main.time_to_test.get_fmt_date_str(.hyphen, .ddmmyyyy) assert '11-07-1980' == time_to_test.get_fmt_date_str(.hyphen, .ddmmyyyy)
assert '11 07 1980' == main.time_to_test.get_fmt_date_str(.space, .ddmmyyyy) assert '11 07 1980' == time_to_test.get_fmt_date_str(.space, .ddmmyyyy)
assert '07.11.1980' == main.time_to_test.get_fmt_date_str(.dot, .mmddyyyy) assert '07.11.1980' == time_to_test.get_fmt_date_str(.dot, .mmddyyyy)
assert '07/11/1980' == main.time_to_test.get_fmt_date_str(.slash, .mmddyyyy) assert '07/11/1980' == time_to_test.get_fmt_date_str(.slash, .mmddyyyy)
assert '07-11-1980' == main.time_to_test.get_fmt_date_str(.hyphen, .mmddyyyy) assert '07-11-1980' == time_to_test.get_fmt_date_str(.hyphen, .mmddyyyy)
assert '07 11 1980' == main.time_to_test.get_fmt_date_str(.space, .mmddyyyy) assert '07 11 1980' == time_to_test.get_fmt_date_str(.space, .mmddyyyy)
assert '11.07.80' == main.time_to_test.get_fmt_date_str(.dot, .ddmmyy) assert '11.07.80' == time_to_test.get_fmt_date_str(.dot, .ddmmyy)
assert '11/07/80' == main.time_to_test.get_fmt_date_str(.slash, .ddmmyy) assert '11/07/80' == time_to_test.get_fmt_date_str(.slash, .ddmmyy)
assert '11-07-80' == main.time_to_test.get_fmt_date_str(.hyphen, .ddmmyy) assert '11-07-80' == time_to_test.get_fmt_date_str(.hyphen, .ddmmyy)
assert '11 07 80' == main.time_to_test.get_fmt_date_str(.space, .ddmmyy) assert '11 07 80' == time_to_test.get_fmt_date_str(.space, .ddmmyy)
assert '07.11.80' == main.time_to_test.get_fmt_date_str(.dot, .mmddyy) assert '07.11.80' == time_to_test.get_fmt_date_str(.dot, .mmddyy)
assert '07/11/80' == main.time_to_test.get_fmt_date_str(.slash, .mmddyy) assert '07/11/80' == time_to_test.get_fmt_date_str(.slash, .mmddyy)
assert '07-11-80' == main.time_to_test.get_fmt_date_str(.hyphen, .mmddyy) assert '07-11-80' == time_to_test.get_fmt_date_str(.hyphen, .mmddyy)
assert '07 11 80' == main.time_to_test.get_fmt_date_str(.space, .mmddyy) assert '07 11 80' == time_to_test.get_fmt_date_str(.space, .mmddyy)
assert 'Jul 11' == main.time_to_test.get_fmt_date_str(.space, .mmmd) assert 'Jul 11' == time_to_test.get_fmt_date_str(.space, .mmmd)
assert 'Jul 11' == main.time_to_test.get_fmt_date_str(.space, .mmmdd) assert 'Jul 11' == time_to_test.get_fmt_date_str(.space, .mmmdd)
assert 'Jul 11 1980' == main.time_to_test.get_fmt_date_str(.space, .mmmddyyyy) assert 'Jul 11 1980' == time_to_test.get_fmt_date_str(.space, .mmmddyyyy)
assert '1980-07-11' == main.time_to_test.get_fmt_date_str(.hyphen, .yyyymmdd) assert '1980-07-11' == time_to_test.get_fmt_date_str(.hyphen, .yyyymmdd)
} }
fn test_get_fmt_str() { fn test_get_fmt_str() {
// Since get_fmt_time_str and get_fmt_date_str do have comprehensive // Since get_fmt_time_str and get_fmt_date_str do have comprehensive
// tests I don't want to exaggerate here with all possible // tests I don't want to exaggerate here with all possible
// combinations. // combinations.
assert '11.07.1980 21:23:42' == main.time_to_test.get_fmt_str(.dot, .hhmmss24, .ddmmyyyy) assert '11.07.1980 21:23:42' == time_to_test.get_fmt_str(.dot, .hhmmss24, .ddmmyyyy)
} }
fn test_utc_string() { fn test_utc_string() {
assert 'Fri, 11 Jul 1980 21:23:42 UTC' == main.time_to_test.utc_string() assert 'Fri, 11 Jul 1980 21:23:42 UTC' == time_to_test.utc_string()
} }

View File

@ -83,17 +83,17 @@ fn test_unix() {
} }
fn test_format_ss() { fn test_format_ss() {
assert '11.07.1980 21:23:42' == main.time_to_test.get_fmt_str(.dot, .hhmmss24, .ddmmyyyy) assert '11.07.1980 21:23:42' == time_to_test.get_fmt_str(.dot, .hhmmss24, .ddmmyyyy)
} }
fn test_format_ss_milli() { fn test_format_ss_milli() {
assert '11.07.1980 21:23:42.123' == main.time_to_test.get_fmt_str(.dot, .hhmmss24_milli, .ddmmyyyy) assert '11.07.1980 21:23:42.123' == time_to_test.get_fmt_str(.dot, .hhmmss24_milli, .ddmmyyyy)
assert '1980-07-11 21:23:42.123' == main.time_to_test.format_ss_milli() assert '1980-07-11 21:23:42.123' == time_to_test.format_ss_milli()
} }
fn test_format_ss_micro() { fn test_format_ss_micro() {
assert '11.07.1980 21:23:42.123456' == main.time_to_test.get_fmt_str(.dot, .hhmmss24_micro, .ddmmyyyy) assert '11.07.1980 21:23:42.123456' == time_to_test.get_fmt_str(.dot, .hhmmss24_micro, .ddmmyyyy)
assert '1980-07-11 21:23:42.123456' == main.time_to_test.format_ss_micro() assert '1980-07-11 21:23:42.123456' == time_to_test.format_ss_micro()
} }
fn test_smonth() { fn test_smonth() {
@ -153,12 +153,12 @@ fn test_add() {
d_seconds := 3 d_seconds := 3
d_microseconds := 13 d_microseconds := 13
duration := time.Duration(d_seconds * time.second + d_microseconds * time.microsecond) duration := time.Duration(d_seconds * time.second + d_microseconds * time.microsecond)
t1 := main.time_to_test t1 := time_to_test
t2 := main.time_to_test.add(duration) t2 := time_to_test.add(duration)
assert t2.second == t1.second + d_seconds assert t2.second == t1.second + d_seconds
assert t2.microsecond == t1.microsecond + d_microseconds assert t2.microsecond == t1.microsecond + d_microseconds
assert t2.unix == t1.unix + u64(d_seconds) assert t2.unix == t1.unix + u64(d_seconds)
t3 := main.time_to_test.add(-duration) t3 := time_to_test.add(-duration)
assert t3.second == t1.second - d_seconds assert t3.second == t1.second - d_seconds
assert t3.microsecond == t1.microsecond - d_microseconds assert t3.microsecond == t1.microsecond - d_microseconds
assert t3.unix == t1.unix - u64(d_seconds) assert t3.unix == t1.unix - u64(d_seconds)
@ -166,13 +166,13 @@ fn test_add() {
fn test_add_days() { fn test_add_days() {
num_of_days := 3 num_of_days := 3
t := main.time_to_test.add_days(num_of_days) t := time_to_test.add_days(num_of_days)
assert t.day == main.time_to_test.day + num_of_days assert t.day == time_to_test.day + num_of_days
assert t.unix == main.time_to_test.unix + 86400 * u64(num_of_days) assert t.unix == time_to_test.unix + 86400 * u64(num_of_days)
} }
fn test_str() { fn test_str() {
assert '1980-07-11 21:23:42' == main.time_to_test.str() assert '1980-07-11 21:23:42' == time_to_test.str()
} }
// not optimal test but will find obvious bugs // not optimal test but will find obvious bugs

View File

@ -1150,19 +1150,27 @@ pub fn (mut f Fmt) ident(node ast.Ident) {
// This allows using the variable `minute` inside time's functions // This allows using the variable `minute` inside time's functions
// and also makes it clear that a module const is being used // and also makes it clear that a module const is being used
// (since V's conts are no longer ALL_CAP). // (since V's conts are no longer ALL_CAP).
// ^^^ except for `main`, where consts are allowed to not have a `main.` prefix.
if !node.name.contains('.') && !f.inside_const { if !node.name.contains('.') && !f.inside_const {
full_name := f.cur_mod + '.' + node.name full_name := f.cur_mod + '.' + node.name
if obj := f.file.global_scope.find(full_name) { if obj := f.file.global_scope.find(full_name) {
if obj is ast.ConstField { if obj is ast.ConstField {
// "v.fmt.foo" => "fmt.foo" // "v.fmt.foo" => "fmt.foo"
vals := full_name.split('.') vals := full_name.split('.')
short := vals[vals.len - 2] + '.' + vals[vals.len - 1] mod_prefix := vals[vals.len - 2]
const_name := vals[vals.len - 1]
// f.write(f.short_module(full_name)) // f.write(f.short_module(full_name))
if mod_prefix == 'main' {
f.write(const_name)
return
} else {
short := mod_prefix + '.' + const_name
f.write(short) f.write(short)
return return
} }
} }
} }
}
name := f.short_module(node.name) name := f.short_module(node.name)
// f.write('<$it.name => $name>') // f.write('<$it.name => $name>')
f.write(name) f.write(name)

View File

@ -21,7 +21,7 @@ fn test_fmt() {
vexe := os.getenv('VEXE') vexe := os.getenv('VEXE')
if vexe.len == 0 || !os.exists(vexe) { if vexe.len == 0 || !os.exists(vexe) {
eprintln('VEXE must be set') eprintln('VEXE must be set')
exit(main.error_missing_vexe) exit(error_missing_vexe)
} }
vroot := os.dir(vexe) vroot := os.dir(vexe)
os.chdir(vroot) os.chdir(vroot)
@ -59,7 +59,7 @@ fn test_fmt() {
if expected_ocontent != result_ocontent { if expected_ocontent != result_ocontent {
fmt_bench.fail() fmt_bench.fail()
eprintln(fmt_bench.step_message_fail('file $vrelpath after formatting, does not look as expected.')) eprintln(fmt_bench.step_message_fail('file $vrelpath after formatting, does not look as expected.'))
if ipath.ends_with(main.b2v_keep_path) { if ipath.ends_with(b2v_keep_path) {
continue continue
} }
if diff_cmd == '' { if diff_cmd == '' {
@ -79,19 +79,19 @@ fn test_fmt() {
eprintln(term.h_divider('-')) eprintln(term.h_divider('-'))
eprintln(fmt_bench.total_message(fmt_message)) eprintln(fmt_bench.total_message(fmt_message))
if fmt_bench.nfail > 0 { if fmt_bench.nfail > 0 {
exit(main.error_failed_tests) exit(error_failed_tests)
} }
} }
fn fill_bin2v_keep() ? { fn fill_bin2v_keep() ? {
img0 := os.join_path('tutorials', 'img', 'hello.png') img0 := os.join_path('tutorials', 'img', 'hello.png')
img1 := os.join_path('tutorials', 'img', 'time.png') img1 := os.join_path('tutorials', 'img', 'time.png')
os.rm(main.b2v_keep_path) ? os.rm(b2v_keep_path) ?
os.exec('v bin2v -w $main.b2v_keep_path $img0 $img1') ? os.exec('v bin2v -w $b2v_keep_path $img0 $img1') ?
} }
fn restore_bin2v_placeholder() ? { fn restore_bin2v_placeholder() ? {
text := '// This is a placeholder file which will be filled with bin2v output before the test. text := '// This is a placeholder file which will be filled with bin2v output before the test.
// HINT: do NOT delete, move or rename this file!\n' // HINT: do NOT delete, move or rename this file!\n'
os.write_file(main.b2v_keep_path, text) ? os.write_file(b2v_keep_path, text) ?
} }

View File

@ -19,7 +19,7 @@ fn test_fmt() {
vexe := os.getenv('VEXE') vexe := os.getenv('VEXE')
if vexe.len == 0 || !os.exists(vexe) { if vexe.len == 0 || !os.exists(vexe) {
eprintln('VEXE must be set') eprintln('VEXE must be set')
exit(main.error_missing_vexe) exit(error_missing_vexe)
} }
vroot := os.dir(vexe) vroot := os.dir(vexe)
tmpfolder := os.temp_dir() tmpfolder := os.temp_dir()
@ -69,6 +69,6 @@ fn test_fmt() {
eprintln(term.h_divider('-')) eprintln(term.h_divider('-'))
eprintln(fmt_bench.total_message(fmt_message)) eprintln(fmt_bench.total_message(fmt_message))
if fmt_bench.nfail > 0 { if fmt_bench.nfail > 0 {
exit(main.error_failed_tests) exit(error_failed_tests)
} }
} }

View File

@ -22,7 +22,7 @@ fn test_vlib_fmt() {
vexe := os.getenv('VEXE') vexe := os.getenv('VEXE')
if vexe.len == 0 || !os.exists(vexe) { if vexe.len == 0 || !os.exists(vexe) {
eprintln('VEXE must be set') eprintln('VEXE must be set')
exit(main.error_missing_vexe) exit(error_missing_vexe)
} }
vroot := os.dir(vexe) vroot := os.dir(vexe)
tmpfolder := os.temp_dir() tmpfolder := os.temp_dir()
@ -67,6 +67,6 @@ fn test_vlib_fmt() {
eprintln(term.h_divider('-')) eprintln(term.h_divider('-'))
eprintln(fmt_bench.total_message(fmt_message)) eprintln(fmt_bench.total_message(fmt_message))
if fmt_bench.nfail > 0 { if fmt_bench.nfail > 0 {
exit(main.error_failed_tests) exit(error_failed_tests)
} }
} }

View File

@ -41,7 +41,7 @@ fn test_channel_array_mut() {
sem := sync.new_semaphore() sem := sync.new_semaphore()
go do_rec_calc_send(chs, sem) go do_rec_calc_send(chs, sem)
mut t := i64(100) mut t := i64(100)
for _ in 0 .. main.num_iterations { for _ in 0 .. num_iterations {
chs[0] <- t chs[0] <- t
t = <-chs[1] t = <-chs[1]
} }
@ -55,7 +55,7 @@ fn test_channel_array_mut() {
c := ch[1].cap c := ch[1].cap
d := ch[o].len d := ch[o].len
sem.wait() sem.wait()
assert t == 100 + main.num_iterations assert t == 100 + num_iterations
ch2 := chan mut St{cap: 10} ch2 := chan mut St{cap: 10}
go g(ch2) go g(ch2)
} }

View File

@ -2,13 +2,13 @@ const n = 1000
fn f(ch chan int) { fn f(ch chan int) {
mut s := 0 mut s := 0
for _ in 0 .. main.n { for _ in 0 .. n {
s += <-ch or { s += <-ch or {
println('Something went wrong:') println('Something went wrong:')
println('got $err') println('got $err')
} }
} }
assert s == main.n * (main.n + 1) / 2 assert s == n * (n + 1) / 2
ch.close() ch.close()
} }
@ -29,5 +29,5 @@ fn main() {
for { for {
s = do_send(ch, s) or { break } s = do_send(ch, s) or { break }
} }
assert s == main.n + 1 assert s == n + 1
} }

View File

@ -6,7 +6,7 @@ mut:
} }
fn (shared x St) f(shared z St) { fn (shared x St) f(shared z St) {
for _ in 0 .. main.reads_per_thread { for _ in 0 .. reads_per_thread {
rlock x { // other instances may read at the same time rlock x { // other instances may read at the same time
time.sleep_ms(1) time.sleep_ms(1)
assert x.a == 7 || x.a == 5 assert x.a == 7 || x.a == 5
@ -29,12 +29,12 @@ fn test_shared_lock() {
a: 5 a: 5
} }
shared z := &St{ shared z := &St{
a: main.read_threads a: read_threads
} }
for _ in 0 .. main.read_threads { for _ in 0 .. read_threads {
go x.f(shared z) go x.f(shared z)
} }
for i in 0 .. main.writes { for i in 0 .. writes {
lock x { // wait for ongoing reads to finish, don't start new ones lock x { // wait for ongoing reads to finish, don't start new ones
x.a = 17 // this value should never be read x.a = 17 // this value should never be read
time.sleep_ms(50) time.sleep_ms(50)

View File

@ -16,7 +16,7 @@ fn test_c_files() {
println('Running V => C tests') println('Running V => C tests')
vexe := os.getenv('VEXE') vexe := os.getenv('VEXE')
vroot := os.dir(vexe) vroot := os.dir(vexe)
for i in 1 .. (main.nr_tests + 1) { for i in 1 .. (nr_tests + 1) {
path := '$vroot/vlib/v/gen/tests/${i}.vv' path := '$vroot/vlib/v/gen/tests/${i}.vv'
ctext := os.read_file('$vroot/vlib/v/gen/tests/${i}.c') or { panic(err) } ctext := os.read_file('$vroot/vlib/v/gen/tests/${i}.c') or { panic(err) }
mut b := builder.new_builder(pref.Preferences{}) mut b := builder.new_builder(pref.Preferences{})
@ -28,7 +28,7 @@ fn test_c_files() {
res = res[..pos] + res[end + 15..] res = res[..pos] + res[end + 15..]
} }
if compare_texts(res, ctext, path) { if compare_texts(res, ctext, path) {
println('$main.term_ok $i') println('$term_ok $i')
} else { } else {
assert false assert false
} }
@ -57,7 +57,7 @@ fn compare_texts(a string, b string, path string) bool {
line_b := lines_b[i] line_b := lines_b[i]
if line_a.trim_space() != line_b.trim_space() { if line_a.trim_space() != line_b.trim_space() {
println('$path: Got\n$a') println('$path: Got\n$a')
println('$path:$i: $main.term_fail') println('$path:$i: $term_fail')
println(term.bold(term.bright_yellow('actual : ')) + line_a) println(term.bold(term.bright_yellow('actual : ')) + line_a)
println(term.green('expected: ') + line_b) println(term.green('expected: ') + line_b)
println(lines_b[i + 1]) println(lines_b[i + 1])

View File

@ -14,12 +14,12 @@ fn test_parse_valid_cflags() {
expected_flags := [ expected_flags := [
make_flag('freebsd', '-I', '/usr/local/include/freetype2'), make_flag('freebsd', '-I', '/usr/local/include/freetype2'),
make_flag('linux', '-l', 'glfw'), make_flag('linux', '-l', 'glfw'),
make_flag('mingw', main.no_name, '-mwindows'), make_flag('mingw', no_name, '-mwindows'),
make_flag('solaris', '-L', '/opt/local/lib'), make_flag('solaris', '-L', '/opt/local/lib'),
make_flag('darwin', '-framework', 'Cocoa'), make_flag('darwin', '-framework', 'Cocoa'),
make_flag('windows', '-l', 'gdi32'), make_flag('windows', '-l', 'gdi32'),
make_flag(main.no_os, '-l', 'mysqlclient'), make_flag(no_os, '-l', 'mysqlclient'),
make_flag(main.no_os, main.no_name, '-test'), make_flag(no_os, no_name, '-test'),
] ]
parse_valid_flag(mut t, '-lmysqlclient') parse_valid_flag(mut t, '-lmysqlclient')
parse_valid_flag(mut t, '-test') parse_valid_flag(mut t, '-test')
@ -49,22 +49,22 @@ fn test_parse_invalid_cflags() {
assert_parse_invalid_flag(mut t, 'solaris') assert_parse_invalid_flag(mut t, 'solaris')
assert_parse_invalid_flag(mut t, 'windows') assert_parse_invalid_flag(mut t, 'windows')
// Empty flag is not allowed // Empty flag is not allowed
assert_parse_invalid_flag(mut t, main.no_flag) assert_parse_invalid_flag(mut t, no_flag)
assert t.cflags.len == 0 assert t.cflags.len == 0
} }
fn parse_valid_flag(mut t table.Table, flag string) { fn parse_valid_flag(mut t table.Table, flag string) {
t.parse_cflag(flag, main.module_name, main.cdefines) or { } t.parse_cflag(flag, module_name, cdefines) or { }
} }
fn assert_parse_invalid_flag(mut t table.Table, flag string) { fn assert_parse_invalid_flag(mut t table.Table, flag string) {
t.parse_cflag(flag, main.module_name, main.cdefines) or { return } t.parse_cflag(flag, module_name, cdefines) or { return }
assert false assert false
} }
fn make_flag(os string, name string, value string) cflag.CFlag { fn make_flag(os string, name string, value string) cflag.CFlag {
return cflag.CFlag{ return cflag.CFlag{
mod: main.module_name mod: module_name
os: os os: os
name: name name: name
value: value value: value

View File

@ -18,18 +18,18 @@ const (
// setup of vweb webserver // setup of vweb webserver
fn testsuite_begin() { fn testsuite_begin() {
os.chdir(main.vroot) os.chdir(vroot)
if os.exists(main.serverexe) { if os.exists(serverexe) {
os.rm(main.serverexe) os.rm(serverexe)
} }
} }
fn test_a_simple_vweb_app_can_be_compiled() { fn test_a_simple_vweb_app_can_be_compiled() {
// did_server_compile := os.system('$vexe -g -o $serverexe vlib/vweb/tests/vweb_test_server.v') // did_server_compile := os.system('$vexe -g -o $serverexe vlib/vweb/tests/vweb_test_server.v')
// TODO: find out why it does not compile with -usecache and -g // TODO: find out why it does not compile with -usecache and -g
did_server_compile := os.system('$main.vexe -o $main.serverexe vlib/vweb/tests/vweb_test_server.v') did_server_compile := os.system('$vexe -o $serverexe vlib/vweb/tests/vweb_test_server.v')
assert did_server_compile == 0 assert did_server_compile == 0
assert os.exists(main.serverexe) assert os.exists(serverexe)
} }
fn test_a_simple_vweb_app_runs_in_the_background() { fn test_a_simple_vweb_app_runs_in_the_background() {
@ -37,10 +37,10 @@ fn test_a_simple_vweb_app_runs_in_the_background() {
$if !windows { $if !windows {
suffix = ' > /dev/null &' suffix = ' > /dev/null &'
} }
if main.vweb_logfile != '' { if vweb_logfile != '' {
suffix = ' 2>> $main.vweb_logfile >> $main.vweb_logfile &' suffix = ' 2>> $vweb_logfile >> $vweb_logfile &'
} }
server_exec_cmd := '$main.serverexe $main.sport $main.exit_after_time $suffix' server_exec_cmd := '$serverexe $sport $exit_after_time $suffix'
$if debug_net_socket_client ? { $if debug_net_socket_client ? {
eprintln('running:\n$server_exec_cmd') eprintln('running:\n$server_exec_cmd')
} }
@ -102,14 +102,14 @@ fn assert_common_http_headers(x http.Response) {
} }
fn test_http_client_index() { fn test_http_client_index() {
x := http.get('http://127.0.0.1:$main.sport/') or { panic(err) } x := http.get('http://127.0.0.1:$sport/') or { panic(err) }
assert_common_http_headers(x) assert_common_http_headers(x)
assert x.headers['Content-Type'] == 'text/plain' assert x.headers['Content-Type'] == 'text/plain'
assert x.text == 'Welcome to VWeb' assert x.text == 'Welcome to VWeb'
} }
fn test_http_client_chunk_transfer() { fn test_http_client_chunk_transfer() {
x := http.get('http://127.0.0.1:$main.sport/chunk') or { panic(err) } x := http.get('http://127.0.0.1:$sport/chunk') or { panic(err) }
assert_common_http_headers(x) assert_common_http_headers(x)
assert x.headers['Transfer-Encoding'] == 'chunked' assert x.headers['Transfer-Encoding'] == 'chunked'
assert x.text == 'Lorem ipsum dolor sit amet, consetetur sadipscing' assert x.text == 'Lorem ipsum dolor sit amet, consetetur sadipscing'
@ -117,9 +117,9 @@ fn test_http_client_chunk_transfer() {
fn test_http_client_404() { fn test_http_client_404() {
url_404_list := [ url_404_list := [
'http://127.0.0.1:$main.sport/zxcnbnm', 'http://127.0.0.1:$sport/zxcnbnm',
'http://127.0.0.1:$main.sport/JHKAJA', 'http://127.0.0.1:$sport/JHKAJA',
'http://127.0.0.1:$main.sport/unknown', 'http://127.0.0.1:$sport/unknown',
] ]
for url in url_404_list { for url in url_404_list {
res := http.get(url) or { panic(err) } res := http.get(url) or { panic(err) }
@ -128,39 +128,39 @@ fn test_http_client_404() {
} }
fn test_http_client_simple() { fn test_http_client_simple() {
x := http.get('http://127.0.0.1:$main.sport/simple') or { panic(err) } x := http.get('http://127.0.0.1:$sport/simple') or { panic(err) }
assert_common_http_headers(x) assert_common_http_headers(x)
assert x.headers['Content-Type'] == 'text/plain' assert x.headers['Content-Type'] == 'text/plain'
assert x.text == 'A simple result' assert x.text == 'A simple result'
} }
fn test_http_client_html_page() { fn test_http_client_html_page() {
x := http.get('http://127.0.0.1:$main.sport/html_page') or { panic(err) } x := http.get('http://127.0.0.1:$sport/html_page') or { panic(err) }
assert_common_http_headers(x) assert_common_http_headers(x)
assert x.headers['Content-Type'] == 'text/html' assert x.headers['Content-Type'] == 'text/html'
assert x.text == '<h1>ok</h1>' assert x.text == '<h1>ok</h1>'
} }
fn test_http_client_settings_page() { fn test_http_client_settings_page() {
x := http.get('http://127.0.0.1:$main.sport/bilbo/settings') or { panic(err) } x := http.get('http://127.0.0.1:$sport/bilbo/settings') or { panic(err) }
assert_common_http_headers(x) assert_common_http_headers(x)
assert x.text == 'username: bilbo' assert x.text == 'username: bilbo'
// //
y := http.get('http://127.0.0.1:$main.sport/kent/settings') or { panic(err) } y := http.get('http://127.0.0.1:$sport/kent/settings') or { panic(err) }
assert_common_http_headers(y) assert_common_http_headers(y)
assert y.text == 'username: kent' assert y.text == 'username: kent'
} }
fn test_http_client_user_repo_settings_page() { fn test_http_client_user_repo_settings_page() {
x := http.get('http://127.0.0.1:$main.sport/bilbo/gostamp/settings') or { panic(err) } x := http.get('http://127.0.0.1:$sport/bilbo/gostamp/settings') or { panic(err) }
assert_common_http_headers(x) assert_common_http_headers(x)
assert x.text == 'username: bilbo | repository: gostamp' assert x.text == 'username: bilbo | repository: gostamp'
// //
y := http.get('http://127.0.0.1:$main.sport/kent/golang/settings') or { panic(err) } y := http.get('http://127.0.0.1:$sport/kent/golang/settings') or { panic(err) }
assert_common_http_headers(y) assert_common_http_headers(y)
assert y.text == 'username: kent | repository: golang' assert y.text == 'username: kent | repository: golang'
// //
z := http.get('http://127.0.0.1:$main.sport/missing/golang/settings') or { panic(err) } z := http.get('http://127.0.0.1:$sport/missing/golang/settings') or { panic(err) }
assert z.status_code == 404 assert z.status_code == 404
} }
@ -175,9 +175,7 @@ fn test_http_client_json_post() {
age: 123 age: 123
} }
json_for_ouser := json.encode(ouser) json_for_ouser := json.encode(ouser)
mut x := http.post_json('http://127.0.0.1:$main.sport/json_echo', json_for_ouser) or { mut x := http.post_json('http://127.0.0.1:$sport/json_echo', json_for_ouser) or { panic(err) }
panic(err)
}
$if debug_net_socket_client ? { $if debug_net_socket_client ? {
eprintln('/json_echo endpoint response: $x') eprintln('/json_echo endpoint response: $x')
} }
@ -186,7 +184,7 @@ fn test_http_client_json_post() {
nuser := json.decode(User, x.text) or { User{} } nuser := json.decode(User, x.text) or { User{} }
assert '$ouser' == '$nuser' assert '$ouser' == '$nuser'
// //
x = http.post_json('http://127.0.0.1:$main.sport/json', json_for_ouser) or { panic(err) } x = http.post_json('http://127.0.0.1:$sport/json', json_for_ouser) or { panic(err) }
$if debug_net_socket_client ? { $if debug_net_socket_client ? {
eprintln('/json endpoint response: $x') eprintln('/json endpoint response: $x')
} }
@ -197,7 +195,7 @@ fn test_http_client_json_post() {
} }
fn test_http_client_shutdown_does_not_work_without_a_cookie() { fn test_http_client_shutdown_does_not_work_without_a_cookie() {
x := http.get('http://127.0.0.1:$main.sport/shutdown') or { x := http.get('http://127.0.0.1:$sport/shutdown') or {
assert err == '' assert err == ''
return return
} }
@ -208,7 +206,7 @@ fn test_http_client_shutdown_does_not_work_without_a_cookie() {
fn testsuite_end() { fn testsuite_end() {
// This test is guaranteed to be called last. // This test is guaranteed to be called last.
// It sends a request to the server to shutdown. // It sends a request to the server to shutdown.
x := http.fetch('http://127.0.0.1:$main.sport/shutdown', x := http.fetch('http://127.0.0.1:$sport/shutdown',
method: .get method: .get
cookies: { cookies: {
'skey': 'superman' 'skey': 'superman'
@ -236,7 +234,7 @@ fn simple_tcp_client(config SimpleTcpClientConfig) ?string {
mut tries := 0 mut tries := 0
for tries < config.retries { for tries < config.retries {
tries++ tries++
client = net.dial_tcp('127.0.0.1:$main.sport') or { client = net.dial_tcp('127.0.0.1:$sport') or {
if tries > config.retries { if tries > config.retries {
return error(err) return error(err)
} }
@ -245,8 +243,8 @@ fn simple_tcp_client(config SimpleTcpClientConfig) ?string {
} }
break break
} }
client.set_read_timeout(main.tcp_r_timeout) client.set_read_timeout(tcp_r_timeout)
client.set_write_timeout(main.tcp_w_timeout) client.set_write_timeout(tcp_w_timeout)
defer { defer {
client.close() client.close()
} }

View File

@ -64,7 +64,7 @@ pub fn (mut app App) chunk() vweb.Result {
// the following serve custom routes // the following serve custom routes
['/:user/settings'] ['/:user/settings']
pub fn (mut app App) settings(username string) vweb.Result { pub fn (mut app App) settings(username string) vweb.Result {
if username !in main.known_users { if username !in known_users {
return app.not_found() return app.not_found()
} }
return app.html('username: $username') return app.html('username: $username')
@ -72,7 +72,7 @@ pub fn (mut app App) settings(username string) vweb.Result {
['/:user/:repo/settings'] ['/:user/:repo/settings']
pub fn (mut app App) user_repo_settings(username string, repository string) vweb.Result { pub fn (mut app App) user_repo_settings(username string, repository string) vweb.Result {
if username !in main.known_users { if username !in known_users {
return app.not_found() return app.not_found()
} }
return app.html('username: $username | repository: $repository') return app.html('username: $username | repository: $repository')