Home Reference Source Test

test/encoder/UtfTest.mjs

  1. /*global describe, it */
  2. 'use strict';
  3.  
  4. import {fromUtf} from "../../src/encoder/utf";
  5. import {toHex} from "../../src/encoder/hex";
  6. import 'chai/register-assert';
  7.  
  8. class UtfTest {
  9. test() {
  10. /** @test fromUtf */
  11. describe('Encoder UTF tests', function () {
  12. /** @test fromUtf */
  13. it("fromUtf('\\0')", function () {
  14. assert.equal(toHex(fromUtf('\0')), '00');
  15. });
  16.  
  17. /** @test fromUtf */
  18. it("fromUtf('\\x5c')", function () {
  19. assert.equal(toHex(fromUtf('\x5c')), '5c');
  20. });
  21.  
  22. /** @test fromUtf */
  23. it("fromUtf('\\x7f')", function () {
  24. assert.equal(toHex(fromUtf('\x7f')), '7f');
  25. });
  26.  
  27. /** @test fromUtf */
  28. it("fromUtf('\\x80')", function () {
  29. assert.equal(toHex(fromUtf('\x80')), 'c280');
  30. });
  31.  
  32. /** @test fromUtf */
  33. it("fromUtf('\\u05ca')", function () {
  34. assert.equal(toHex(fromUtf('\u05ca')), 'd78a');
  35. });
  36.  
  37. /** @test fromUtf */
  38. it("fromUtf('\\u07ff')", function () {
  39. assert.equal(toHex(fromUtf('\u07ff')), 'dfbf');
  40. });
  41.  
  42. /** @test fromUtf */
  43. it("fromUtf('\\u0800')", function () {
  44. assert.equal(toHex(fromUtf('\u0800')), 'e0a080');
  45. });
  46.  
  47. /** @test fromUtf */
  48. it("fromUtf('\\u2c3c')", function () {
  49. assert.equal(toHex(fromUtf('\u2c3c')), 'e2b0bc');
  50. });
  51.  
  52. /** @test fromUtf */
  53. it("fromUtf('\\uffff')", function () {
  54. assert.equal(toHex(fromUtf('\uffff')), 'efbfbf');
  55. });
  56.  
  57. /** @test fromUtf */
  58. it("fromUtf('\\ud800\\udc00')", function () {
  59. assert.equal(toHex(fromUtf('\ud800\udc00')), 'f0908080');
  60. });
  61.  
  62. /** @test fromUtf */
  63. it("fromUtf('\\ud834\\udf06')", function () {
  64. assert.equal(toHex(fromUtf('\ud834\udf06')), 'f09d8c86');
  65. });
  66.  
  67. /** @test fromUtf */
  68. it("fromUtf('\\udbff\\udfff')", function () {
  69. assert.equal(toHex(fromUtf('\udbff\udfff')), 'f48fbfbf');
  70. });
  71. });
  72. }
  73. }
  74.  
  75. export default UtfTest;