summaryrefslogtreecommitdiff
path: root/spec/frontend_integration/test_helpers/snapshot_serializer.js
blob: 8c4f95a9156a94bb1ad160870393cf1eb1fffc7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
export default {
  test(value) {
    return value instanceof HTMLElement && !value.$_hit;
  },
  print(element, serialize) {
    element.$_hit = true;
    element.querySelectorAll('[style]').forEach(el => {
      el.$_hit = true;
      if (el.style.display === 'none') {
        el.textContent = '(jest: contents hidden)';
      }
    });

    return serialize(element)
      .replace(/^\s*<!---->$/gm, '')
      .replace(/\n\s*\n/gm, '\n');
  },
};