mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
std/lib/collections: add Object.get_len(); add some tests for encoding/json
Signed-off-by: Pierre Curto <pierre.curto@gmail.com>
This commit is contained in:
committed by
Christoffer Lerno
parent
120d5a672c
commit
c09b6154f4
@@ -274,6 +274,14 @@ fn Object* Object.get_at(&self, usz index)
|
|||||||
return self.array.get(index);
|
return self.array.get(index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @require self.is_indexable()
|
||||||
|
**/
|
||||||
|
fn usz Object.get_len(&self)
|
||||||
|
{
|
||||||
|
return self.array.len();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @require self.is_indexable()
|
* @require self.is_indexable()
|
||||||
**/
|
**/
|
||||||
|
|||||||
@@ -6,9 +6,13 @@ import std::encoding::json;
|
|||||||
fn void! simple_test()
|
fn void! simple_test()
|
||||||
{
|
{
|
||||||
ByteReader reader;
|
ByteReader reader;
|
||||||
reader.init(`{ "b": 123, "c": [ { "d": 66 }, null, "hello", false ] }`);
|
reader.init(`{ "b": 123, "c": [ { "d": 66 }, null, "hello", false, { "id": "xyz" } ] }`);
|
||||||
Object* o = json::parse(reader.as_stream())!;
|
Object* o = json::parse(reader.as_stream())!;
|
||||||
assert(o.get_int("b")! == 123);
|
assert(o.get_int("b")! == 123);
|
||||||
|
assert(o.get("c").get_len()! == 5);
|
||||||
assert(o.get("c").get_at(0).get_int("d")! == 66);
|
assert(o.get("c").get_at(0).get_int("d")! == 66);
|
||||||
assert(o.get("c").get_at(1).is_null()!);
|
assert(o.get("c").get_at(1).is_null()!);
|
||||||
|
assert(o.get("c").get_string_at(2)! == "hello");
|
||||||
|
assert(o.get("c").get_bool_at(3)! == false);
|
||||||
|
assert(o.get("c").get_at(4).get_string("id")! == "xyz");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user