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