Added converter for ARRAYED_LIST Fixed STRING_32 to JSON_VALUE issue in ejson.e Added missing new line character at the end of some files. Cosmetic
72 lines
2.0 KiB
Plaintext
72 lines
2.0 KiB
Plaintext
class TEST_DS
|
|
|
|
inherit
|
|
SHARED_GOBO_EJSON
|
|
|
|
TS_TEST_CASE
|
|
|
|
create
|
|
make_default
|
|
|
|
feature {NONE} -- Initialization
|
|
|
|
make is
|
|
-- Create test object.
|
|
do
|
|
end
|
|
|
|
feature -- Test
|
|
|
|
test_ds_linked_list_converter is
|
|
local
|
|
jc: JSON_DS_LINKED_LIST_CONVERTER
|
|
l: DS_LINKED_LIST [STRING]
|
|
l2: DS_LINKED_LIST [ANY]
|
|
s: STRING
|
|
jv: JSON_VALUE
|
|
do
|
|
create jc.make
|
|
json.add_converter (jc)
|
|
create l.make
|
|
s := "foo"
|
|
l.put_last (s)
|
|
s := "bar"
|
|
l.put_last (s)
|
|
jv := json.value (l)
|
|
assert ("jv /= Void", jv /= Void)
|
|
s := jv.representation
|
|
l2 ?= json.object (jv, "DS_LINKED_LIST")
|
|
assert ("l2 /= Void", l2 /= Void)
|
|
end
|
|
|
|
test_ds_hash_table_converter is
|
|
local
|
|
tc: JSON_DS_HASH_TABLE_CONVERTER
|
|
t: DS_HASH_TABLE [STRING, STRING]
|
|
t2: DS_HASH_TABLE [ANY, HASHABLE]
|
|
s: STRING
|
|
ucs_key, ucs_value: UC_STRING
|
|
jv: JSON_VALUE
|
|
do
|
|
create tc.make
|
|
json.add_converter (tc)
|
|
create t.make (2)
|
|
t.put ("foo", "1")
|
|
t.put ("bar", "2")
|
|
jv := json.value (t)
|
|
assert ("jv /= Void", jv /= Void)
|
|
s := jv.representation
|
|
t2 ?= json.object (jv, "DS_HASH_TABLE")
|
|
assert ("t2 /= Void", t2 /= Void)
|
|
create ucs_key.make_from_string ("1")
|
|
ucs_value ?= t2 @ ucs_key
|
|
assert ("ucs_value /= Void", ucs_value /= Void)
|
|
assert ("ucs_value.string.is_equal (%"foo%")", ucs_value.string.is_equal ("foo"))
|
|
create ucs_key.make_from_string ("2")
|
|
ucs_value ?= t2 @ ucs_key
|
|
assert ("ucs_value /= Void", ucs_value /= Void)
|
|
assert ("ucs_value.string.is_equal (%"bar%")", ucs_value.string.is_equal ("bar"))
|
|
end
|
|
|
|
end -- class TEST_DS
|