From 2533c706aef71b4af8e37316ac3088a274d6f9c1 Mon Sep 17 00:00:00 2001 From: Alexander Medvednikov Date: Thu, 31 Dec 2020 17:22:47 +0100 Subject: [PATCH] vweb: migrate all tests and examples to the new syntax --- cmd/tools/gen_vc.v | 23 +++++++----------- examples/vweb/vweb_assets/vweb_assets.v | 15 ++++++------ vlib/v/checker/tests/vweb_routing_checks.vv | 11 ++++----- vlib/vweb/tests/vweb_test_server.v | 27 ++++++++++----------- 4 files changed, 34 insertions(+), 42 deletions(-) diff --git a/cmd/tools/gen_vc.v b/cmd/tools/gen_vc.v index b204012b45..2fa96f1a18 100644 --- a/cmd/tools/gen_vc.v +++ b/cmd/tools/gen_vc.v @@ -48,7 +48,8 @@ const ( too_short_file_limit = 5000 // create a .c file for these os's vc_build_oses = [ - 'nix', // all nix based os + 'nix', + /* all nix based os */ 'windows', ] ) @@ -87,8 +88,8 @@ mut: // webhook server struct WebhookServer { -pub mut: - vweb vweb.Context + vweb.Context +mut: gen_vc &GenVC } @@ -171,10 +172,10 @@ pub fn (mut ws WebhookServer) genhook() { ws.gen_vc.generate() // error in generate if ws.gen_vc.gen_error { - ws.vweb.json('{status: "failed"}') + ws.json('{status: "failed"}') return } - ws.vweb.json('{status: "ok"}') + ws.json('{status: "ok"}') } pub fn (ws &WebhookServer) reset() { @@ -209,9 +210,7 @@ fn (mut gen_vc GenVC) generate() { // check if gen_vc dir exists if !os.is_dir(gen_vc.options.work_dir) { // try create - os.mkdir(gen_vc.options.work_dir) or { - panic(err) - } + os.mkdir(gen_vc.options.work_dir) or { panic(err) } // still dosen't exist... we have a problem if !os.is_dir(gen_vc.options.work_dir) { gen_vc.logger.error('error creating directory: $gen_vc.options.work_dir') @@ -247,12 +246,8 @@ fn (mut gen_vc GenVC) generate() { ts_v := git_log_v.find_between('Date:', '\n').trim_space() ts_vc := git_log_vc.find_between('Date:', '\n').trim_space() // parse time as string to time.Time - last_commit_time_v := time.parse(ts_v) or { - panic(err) - } - last_commit_time_vc := time.parse(ts_vc) or { - panic(err) - } + last_commit_time_v := time.parse(ts_v) or { panic(err) } + last_commit_time_vc := time.parse(ts_vc) or { panic(err) } // git dates are in users local timezone and v time.parse does not parse // timezones at the moment, so for now get unix timestamp from output also t_unix_v := git_log_v.find_between('Date Unix:', '\n').trim_space().int() diff --git a/examples/vweb/vweb_assets/vweb_assets.v b/examples/vweb/vweb_assets/vweb_assets.v index d1da9eeaa4..e5faf57717 100644 --- a/examples/vweb/vweb_assets/vweb_assets.v +++ b/examples/vweb/vweb_assets/vweb_assets.v @@ -9,8 +9,7 @@ const ( ) struct App { -pub mut: - vweb vweb.Context + vweb.Context } fn main() { @@ -19,9 +18,9 @@ fn main() { pub fn (mut app App) init_once() { // Arbitary mime type. - app.vweb.serve_static('/favicon.ico', 'favicon.ico', 'img/x-icon') + app.serve_static('/favicon.ico', 'favicon.ico', 'img/x-icon') // Automatically make available known static mime types found in given directory. - app.vweb.handle_static('assets') + app.handle_static('assets') // This would make available all known static mime types from current // directory and below. // app.vweb.handle_static('.') @@ -41,10 +40,10 @@ pub fn (mut app App) index() { $vweb.html() } -fn (mut app App) text() { - app.vweb.text('Hello, world from vweb!') +fn (mut app App) text() vweb.Result { + return app.text('Hello, world from vweb!') } -fn (mut app App) time() { - app.vweb.text(time.now().format()) +fn (mut app App) time() vweb.Result { + return app.text(time.now().format()) } diff --git a/vlib/v/checker/tests/vweb_routing_checks.vv b/vlib/v/checker/tests/vweb_routing_checks.vv index a86af53e3f..b2a26cf715 100644 --- a/vlib/v/checker/tests/vweb_routing_checks.vv +++ b/vlib/v/checker/tests/vweb_routing_checks.vv @@ -1,8 +1,7 @@ import vweb struct App { - pub mut: - vweb vweb.Context + vweb.Context } pub fn (mut app App) no_attributes(a string) vweb.Result { @@ -13,21 +12,21 @@ pub fn (mut app App) no_attributes(a string) vweb.Result { ['/foo/:bar'] pub fn (mut app App) foo(a string) vweb.Result { eprintln('foo') - app.vweb.html('works') + app.html('works') return vweb.Result{} } // segfault because path taks 0 vars and fcn takes 1 arg ['/bar'] pub fn (mut app App) bar(a string) vweb.Result { - app.vweb.html('works') + app.html('works') return vweb.Result{} } // no segfault, but it shouldnt compile ['/cow/:low'] pub fn (mut app App) cow() vweb.Result { - app.vweb.html('works') + app.html('works') return vweb.Result{} } @@ -40,7 +39,7 @@ pub fn (app App) init() { } pub fn (mut app App) index() { - app.vweb.html('hello') + app.html('hello') } fn main() { diff --git a/vlib/vweb/tests/vweb_test_server.v b/vlib/vweb/tests/vweb_test_server.v index ce15b02d7e..b491efed5d 100644 --- a/vlib/vweb/tests/vweb_test_server.v +++ b/vlib/vweb/tests/vweb_test_server.v @@ -9,10 +9,9 @@ const ( ) struct App { + vweb.Context port int timeout int -pub mut: - vweb vweb.Context } fn exit_after_timeout(timeout_in_ms int) { @@ -46,16 +45,16 @@ pub fn (mut app App) init_once() { } pub fn (mut app App) index() { - app.vweb.text('Welcome to VWeb') + app.text('Welcome to VWeb') } pub fn (mut app App) simple() vweb.Result { - app.vweb.text('A simple result') + app.text('A simple result') return vweb.Result{} } pub fn (mut app App) html_page() vweb.Result { - app.vweb.html('

ok

') + app.html('

ok

') return vweb.Result{} } @@ -63,35 +62,35 @@ pub fn (mut app App) html_page() vweb.Result { ['/:user/settings'] pub fn (mut app App) settings(username string) vweb.Result { if username !in known_users { - return app.vweb.not_found() + return app.not_found() } - app.vweb.html('username: $username') + app.html('username: $username') return vweb.Result{} } ['/:user/:repo/settings'] pub fn (mut app App) user_repo_settings(username string, repository string) vweb.Result { if username !in known_users { - return app.vweb.not_found() + return app.not_found() } - app.vweb.html('username: $username | repository: $repository') + app.html('username: $username | repository: $repository') return vweb.Result{} } [post] ['/json_echo'] pub fn (mut app App) json() vweb.Result { - app.vweb.set_content_type(app.vweb.req.headers['Content-Type']) - return app.vweb.ok(app.vweb.req.data) + app.set_content_type(app.req.headers['Content-Type']) + return app.ok(app.req.data) } pub fn (mut app App) shutdown() vweb.Result { - session_key := app.vweb.get_cookie('skey') or { return app.vweb.not_found() } + session_key := app.get_cookie('skey') or { return app.not_found() } if session_key != 'superman' { - return app.vweb.not_found() + return app.not_found() } go app.gracefull_exit() - return app.vweb.ok('good bye') + return app.ok('good bye') } fn (mut app App) gracefull_exit() {