aboutsummaryrefslogtreecommitdiffstats
path: root/vanilla/node_modules/jsdom/lib/jsdom/living/nodes/SVGTests-impl.js
blob: 6ff11827f44fc14b965f19550b476318abc99b37 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
"use strict";

const { splitOnASCIIWhitespace, splitOnCommas } = require("../helpers/strings");
const { reserializeCommaSeparatedTokens, reserializeSpaceSeparatedTokens } = require("../helpers/svg/basic-types");
const SVGStringList = require("../generated/SVGStringList");

class SVGTestsImpl {
  get requiredExtensions() {
    return SVGStringList.createImpl(this._globalObject, [], {
      element: this,
      attribute: "requiredExtensions"
    });
  }

  get systemLanguage() {
    return SVGStringList.createImpl(this._globalObject, [], {
      element: this,
      attribute: "systemLanguage"
    });
  }
}

SVGTestsImpl.attributeRegistry = new Map([
  // https://svgwg.org/svg2-draft/struct.html#RequiredExtensionsAttribute
  [
    "requiredExtensions", {
      getValue: splitOnASCIIWhitespace,
      serialize: reserializeSpaceSeparatedTokens,
      initialValue: undefined
    }
  ],
  // https://svgwg.org/svg2-draft/struct.html#SystemLanguageAttribute
  [
    "systemLanguage", {
      getValue: splitOnCommas,
      serialize: reserializeCommaSeparatedTokens,
      initialValue: undefined
    }
  ]
]);

exports.implementation = SVGTestsImpl;