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  });