github.com/hernad/nomad@v1.6.112/ui/tests/unit/helpers/stringify-object-test.js (about) 1 /** 2 * Copyright (c) HashiCorp, Inc. 3 * SPDX-License-Identifier: MPL-2.0 4 */ 5 6 import { module, test } from 'qunit'; 7 import { stringifyObject } from 'nomad-ui/helpers/stringify-object'; 8 9 const objectToStringify = { 10 dog: 'thelonious', 11 dogAge: 12, 12 dogDegreesHeld: null, 13 }; 14 15 module('Unit | Helper | stringify-object', function () { 16 test('Contains the correct number of whitespace', function (assert) { 17 // assertions with whitespace > 0 are whitespace + 3, to account for quote, newline and \ characters 18 assert.equal( 19 stringifyObject([objectToStringify], { 20 whitespace: 10, 21 }).indexOf('dog'), 22 13, 23 'Ten spaces' 24 ); 25 assert.equal( 26 stringifyObject([objectToStringify], { 27 whitespace: 5, 28 }).indexOf('dog'), 29 8, 30 'Five spaces' 31 ); 32 assert.equal( 33 stringifyObject([objectToStringify], { 34 whitespace: 0, 35 }).indexOf('dog'), 36 2, 37 'Zero spaces' 38 ); 39 }); 40 test('Observes replacer array', function (assert) { 41 assert.ok( 42 stringifyObject([objectToStringify], { 43 replacer: ['dog', 'dogDegreesHeld'], 44 }).indexOf('dogDegreesHeld'), 45 'Unreplaced value is present' 46 ); 47 assert.equal( 48 stringifyObject([objectToStringify], { 49 replacer: ['dog', 'dogDegreesHeld'], 50 }).indexOf('dogAge'), 51 -1, 52 'Replaced value is missing' 53 ); 54 }); 55 test('Observes replacer function', function (assert) { 56 assert.ok( 57 stringifyObject([objectToStringify], { 58 replacer: (k, v) => (v ? v : undefined), 59 }).indexOf('dogAge'), 60 'Unreplaced value is present' 61 ); 62 assert.equal( 63 stringifyObject([objectToStringify], { 64 replacer: (k, v) => (v ? v : undefined), 65 }).indexOf('dogDegreesHeld'), 66 -1, 67 'Replaced value is missing' 68 ); 69 }); 70 });