1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
4 |
|
5 | var _parseObject = _interopRequireDefault(require("./parse-object"));
|
6 |
|
7 | test('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 |