UNPKG

1.61 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
4
5var _parseObject = _interopRequireDefault(require("./parse-object"));
6
7test('parseObject', function () {
8 expect((0, _parseObject.default)({})).toEqual({});
9 expect((0, _parseObject.default)({
10 a: ''
11 })).toEqual({});
12 expect((0, _parseObject.default)({
13 a: 'a'
14 })).toEqual({
15 a: 'a'
16 });
17 expect((0, _parseObject.default)({
18 a: '0'
19 }, {
20 integer: 'a'
21 })).toEqual({
22 a: 0
23 });
24 expect((0, _parseObject.default)({
25 a: '1'
26 }, {
27 integer: 'a'
28 })).toEqual({
29 a: 1
30 });
31 expect((0, _parseObject.default)({
32 a: '1'
33 }, {
34 integer: ['a']
35 })).toEqual({
36 a: 1
37 });
38 expect(function () {
39 return (0, _parseObject.default)({
40 a: 'x'
41 }, {
42 integer: 'a'
43 });
44 }).toThrow("Value 'x' of integer property 'a' is not an integer.");
45 expect((0, _parseObject.default)({
46 a: 'on'
47 }, {
48 toggle: 'a'
49 })).toEqual({
50 a: true
51 });
52 expect((0, _parseObject.default)({
53 a: 'on'
54 }, {
55 toggle: ['a']
56 })).toEqual({
57 a: true
58 });
59 expect((0, _parseObject.default)({}, {
60 toggle: 'a'
61 })).toEqual({});
62 expect(function () {
63 return (0, _parseObject.default)({
64 a: 'x'
65 }, {
66 toggle: 'a'
67 });
68 }).toThrow("Value 'x' of toggle property 'a' is not 'on'.");
69 expect((0, _parseObject.default)({
70 name: 'Sven',
71 lastName: '',
72 age: '30',
73 isCool: 'on'
74 }, {
75 integer: ['age'],
76 toggle: ['isCool', 'isFun']
77 })).toEqual({
78 name: 'Sven',
79 age: 30,
80 isCool: true
81 });
82});
\No newline at end of file