From 817f5bf0a6726a483458422292afa2053679d344 Mon Sep 17 00:00:00 2001 From: Michiel Vlootman Date: Fri, 23 Aug 2019 09:04:40 +0200 Subject: [PATCH] add test for [json:fieldname] Added test also tests the output from json.encode to make sure the json:fieldname attribute is used. --- vlib/json/json_test.v | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/vlib/json/json_test.v b/vlib/json/json_test.v index e2f32558ff..91471a7bf4 100644 --- a/vlib/json/json_test.v +++ b/vlib/json/json_test.v @@ -1,24 +1,33 @@ import json struct User { - age int - nums []int - last_name string [json:lastName] + age int + nums []int + last_name string [json:lastName] + is_registered bool [json:IsRegistered] } fn test_parse_user() { - s := '{"age": 10, "nums": [1,2,3], "lastName": "Johnson"}' + s := '{"age": 10, "nums": [1,2,3], "lastName": "Johnson", "IsRegistered": true}' u := json.decode(User, s) or { exit(1) } assert u.age == 10 assert u.last_name == 'Johnson' + assert u.is_registered == true assert u.nums.len == 3 assert u.nums[0] == 1 assert u.nums[1] == 2 assert u.nums[2] == 3 } +fn test_encode_user(){ + usr := User{ age: 10, nums: [1,2,3], last_name: 'Johnson', is_registered: true} + expected := '{"age":10,"nums":[1,2,3],"lastName":"Johnson","IsRegistered":true}' + out := json.encode(usr) + assert out == expected +} + struct Color { space string point string [raw] @@ -32,4 +41,3 @@ fn test_raw_json_field() { assert color.point == '{"Y":123}' assert color.space == 'YCbCr' } -