mirror of
https://github.com/zaphar/ucg.git
synced 2025-07-21 18:10:42 -04:00
* Assert now requires a tuple instead of a string containing statements. * We include a helpful ucg based unit testing module. Fixes: #26
139 lines
2.5 KiB
Plaintext
139 lines
2.5 KiB
Plaintext
let simpletpl = {
|
|
foo = "bar"
|
|
};
|
|
|
|
let stringfieldtpl = {
|
|
"field 1" = 1,
|
|
};
|
|
|
|
let nestedtpl = {
|
|
inner = {
|
|
field = "value",
|
|
},
|
|
scalar = 1,
|
|
list = [1, 2, 3, 4],
|
|
maybe_val = NULL,
|
|
};
|
|
|
|
assert {
|
|
ok = simpletpl.foo == "bar",
|
|
desc = "simpletpl.foo == \"bar\"",
|
|
};
|
|
assert {
|
|
ok = stringfieldtpl."field 1" == 1,
|
|
desc = "stringfieldtpl.\"field 1\" == 1",
|
|
};
|
|
assert {
|
|
ok = nestedtpl.scalar == 1,
|
|
desc = "nestedtpl.scalar == 1",
|
|
};
|
|
assert {
|
|
ok = nestedtpl.maybe_val == NULL,
|
|
desc = "nestedtpl.maybe_val == NULL",
|
|
};
|
|
assert {
|
|
ok = nestedtpl.inner.field == "value",
|
|
desc = "nestedtpl.inner.field == \"value\"",
|
|
};
|
|
assert {
|
|
ok = nestedtpl.list.0 == 1,
|
|
desc = "nestedtpl.list.0 == 1",
|
|
};
|
|
assert {
|
|
ok = nestedtpl.list.1 == 2,
|
|
desc = "nestedtpl.list.1 == 2",
|
|
};
|
|
assert {
|
|
ok = nestedtpl.list.2 == 3,
|
|
desc = "nestedtpl.list.2 == 3",
|
|
};
|
|
assert {
|
|
ok = nestedtpl.list.3 == 4,
|
|
desc = "nestedtpl.list.3 == 4",
|
|
};
|
|
|
|
let nestedcopy = nestedtpl{
|
|
inner = self.inner{
|
|
inner = {
|
|
field3 = "three",
|
|
},
|
|
field2 = 2,
|
|
},
|
|
maybe_val = "some val",
|
|
};
|
|
|
|
let deepnestedcopy = nestedcopy{
|
|
ignoreme = "ignored",
|
|
inner = self.inner{
|
|
inner = self.inner{
|
|
field4 = 4,
|
|
},
|
|
},
|
|
};
|
|
|
|
assert {
|
|
ok = nestedcopy.inner.field2 == 2,
|
|
desc = "nestedcopy.inner.field2 == 2",
|
|
};
|
|
assert {
|
|
ok = nestedcopy.inner.inner.field3 == "three",
|
|
desc = "nestedcopy.inner.inner.field3 == \"three\"",
|
|
};
|
|
assert {
|
|
ok = deepnestedcopy.inner.inner.field4 == 4,
|
|
desc = "deepnestedcopy.inner.inner.field4 == 4",
|
|
};
|
|
assert {
|
|
ok = deepnestedcopy.maybe_val == "some val",
|
|
desc = "deepnestedcopy.maybe_val == \"some val\"",
|
|
};
|
|
|
|
let base_maybe = {
|
|
real = "A real value",
|
|
};
|
|
|
|
let copy_maybe = base_maybe{
|
|
real = NULL,
|
|
};
|
|
|
|
assert {
|
|
ok = copy_maybe.real == NULL,
|
|
desc = "copy_maybe.real == NULL",
|
|
};
|
|
|
|
let quotedself_tpl = {
|
|
"self" = "myself",
|
|
};
|
|
|
|
assert {
|
|
ok = quotedself_tpl."self" == "myself",
|
|
desc = "quotedself_tpl.\"self\" == \"myself\"",
|
|
};
|
|
|
|
let quotedenv_tpl = {
|
|
"env" = "myenv",
|
|
};
|
|
|
|
assert {
|
|
ok = quotedenv_tpl."env" == "myenv",
|
|
desc = "quotedenv_tpl.\"env\" == \"myenv\"",
|
|
};
|
|
|
|
let unquotedenv_tpl = {
|
|
env = "myenv",
|
|
};
|
|
|
|
assert {
|
|
ok = unquotedenv_tpl."env" == "myenv",
|
|
desc = "unquotedenv_tpl.\"env\" == \"myenv\"",
|
|
};
|
|
|
|
let unquotedself_tpl = {
|
|
self = "myself",
|
|
};
|
|
|
|
assert {
|
|
ok = unquotedself_tpl."self" == "myself",
|
|
desc = "unquotedself_tpl.\"self\" == \"myself\"",
|
|
};
|