65 lines
2.4 KiB
Python
65 lines
2.4 KiB
Python
# Copyright 2026 jCloud Services GbR
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# https://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
from src.jcloud_config_parser.serialize.json import serialize as serialize_json
|
|
|
|
def test_serialize_json():
|
|
assert serialize_json(True) == 'true'
|
|
assert serialize_json(False) == 'false'
|
|
assert serialize_json(True, indent = 4) == 'true'
|
|
|
|
assert serialize_json(None) == 'null'
|
|
|
|
assert serialize_json({1: {None: True}}, indent = 4) == '''{
|
|
"1": {
|
|
"null": true
|
|
}
|
|
}'''
|
|
assert serialize_json({1: {None: True}}) == '{"1": {"null": true}}'
|
|
assert serialize_json({1: {None: True}, 2: 'Hello, World!'}, separators = (',', ':')) == '{"1":{"null":true},"2":"Hello, World!"}'
|
|
|
|
array = [True, False, 1, None, 'Hello, World!']
|
|
assert serialize_json(array) == '[true, false, 1, null, "Hello, World!"]'
|
|
assert serialize_json(array, 4, 'X', (';', ':')) == '''[
|
|
XXXXtrue;
|
|
XXXXfalse;
|
|
XXXX1;
|
|
XXXXnull;
|
|
XXXX"Hello, World!"
|
|
]'''
|
|
assert serialize_json((1, 2, 3)) == '[1, 2, 3]'
|
|
assert serialize_json(range(3)) == '[0, 1, 2]'
|
|
assert serialize_json(b'\x0142') == '[1, 52, 50]'
|
|
|
|
assert serialize_json('Hello, World!') == '"Hello, World!"'
|
|
assert serialize_json('Hello,\nWorld!') == '"Hello,\\nWorld!"'
|
|
assert serialize_json('Hello,"World!') == '"Hello,\\"World!"'
|
|
assert serialize_json('Hello,\\World!') == '"Hello,\\\\World!"'
|
|
assert serialize_json('Hello,\bWorld!') == '"Hello,\\bWorld!"'
|
|
assert serialize_json('Hello,\tWorld!') == '"Hello,\\tWorld!"'
|
|
assert serialize_json('Hello,\rWorld!') == '"Hello,\\rWorld!"'
|
|
assert serialize_json('Hello,\fWorld!') == '"Hello,\\fWorld!"'
|
|
|
|
assert serialize_json(0) == '0'
|
|
assert serialize_json(1) == '1'
|
|
assert serialize_json(-1) == '-1'
|
|
assert serialize_json(0.0) == '0.0'
|
|
assert serialize_json(-0.0) == '-0.0'
|
|
assert serialize_json(-42.0) == '-42.0'
|
|
|
|
try:
|
|
serialize_json({1, 2, 3})
|
|
assert False, 'Expected TypeError'
|
|
except TypeError:
|
|
pass |