uri-js-compatibility.test.js 1019 B

123456789101112131415161718192021222324252627282930313233
  1. 'use strict'
  2. const test = require('tape')
  3. const fastURI = require('../')
  4. const uriJsParseFixtures = require('./fixtures/uri-js-parse.json')
  5. const uriJsSerializeFixtures = require('./fixtures/uri-js-serialize.json')
  6. test('uri-js compatibility Parse', (t) => {
  7. uriJsParseFixtures.forEach((
  8. [value, expected]
  9. ) => {
  10. if (value === '//10.10.000.10') {
  11. return t.skip('Skipping //10.10.000.10 as it is not a valid URI per URI spec: https://datatracker.ietf.org/doc/html/rfc5954#section-4.1')
  12. }
  13. if (value.slice(0, 6) === 'mailto') {
  14. return t.skip('Skipping mailto schema test as it is not supported by fastifyURI')
  15. }
  16. t.same(JSON.parse(JSON.stringify(fastURI.parse(value))), expected, 'Compatibility parse: ' + value)
  17. })
  18. t.end()
  19. })
  20. test('uri-js compatibility serialize', (t) => {
  21. uriJsSerializeFixtures.forEach(([value, expected]) => {
  22. t.same(
  23. fastURI.serialize(value),
  24. expected,
  25. 'Compatibility serialize: ' + JSON.stringify(value)
  26. )
  27. })
  28. t.end()
  29. })