text: // Copyright 2018 Mathias Bynens. All rights reserved.
  // This code is governed by the BSD license found in the LICENSE file.
  
  /*---
  author: Mathias Bynens
  description: >
    Unicode property escapes for `Script_Extensions=Greek`
  info: |
    Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests
    Unicode v11.0.0
  esid: sec-static-semantics-unicodematchproperty-p
  features: [regexp-unicode-property-escapes]
  includes: [regExpUtils.js]
  ---*/
  
  const matchSymbols = buildString({
    loneCodePoints: [
      0x000342,
      0x000345,
      0x00037F,
      0x000384,
      0x000386,
      0x00038C,
      0x001F59,
      0x001F5B,
      0x001F5D,
      0x002126,
      0x00AB65,
      0x0101A0
    ],
    ranges: [
      [0x000370, 0x000373],
      [0x000375, 0x000377],
      [0x00037A, 0x00037D],
      [0x000388, 0x00038A],
      [0x00038E, 0x0003A1],
      [0x0003A3, 0x0003E1],
      [0x0003F0, 0x0003FF],
      [0x001D26, 0x001D2A],
      [0x001D5D, 0x001D61],
      [0x001D66, 0x001D6A],
      [0x001DBF, 0x001DC1],
      [0x001F00, 0x001F15],
      [0x001F18, 0x001F1D],
      [0x001F20, 0x001F45],
      [0x001F48, 0x001F4D],
      [0x001F50, 0x001F57],
      [0x001F5F, 0x001F7D],
      [0x001F80, 0x001FB4],
      [0x001FB6, 0x001FC4],
      [0x001FC6, 0x001FD3],
      [0x001FD6, 0x001FDB],
      [0x001FDD, 0x001FEF],
      [0x001FF2, 0x001FF4],
      [0x001FF6, 0x001FFE],
      [0x010140, 0x01018E],
      [0x01D200, 0x01D245]
    ]
  });
  testPropertyEscapes(
    /^\p{Script_Extensions=Greek}+$/u,
    matchSymbols,
    "\\p{Script_Extensions=Greek}"
  );
  testPropertyEscapes(
    /^\p{Script_Extensions=Grek}+$/u,
    matchSymbols,
    "\\p{Script_Extensions=Grek}"
  );
  testPropertyEscapes(
    /^\p{scx=Greek}+$/u,
    matchSymbols,
    "\\p{scx=Greek}"
  );
  testPropertyEscapes(
    /^\p{scx=Grek}+$/u,
    matchSymbols,
    "\\p{scx=Grek}"
  );
  
  const nonMatchSymbols = buildString({
    loneCodePoints: [
      0x000374,
      0x00037E,
      0x000385,
      0x000387,
      0x00038B,
      0x00038D,
      0x0003A2,
      0x001F58,
      0x001F5A,
      0x001F5C,
      0x001F5E,
      0x001FB5,
      0x001FC5,
      0x001FDC,
      0x001FF5
    ],
    ranges: [
      [0x00DC00, 0x00DFFF],
      [0x000000, 0x000341],
      [0x000343, 0x000344],
      [0x000346, 0x00036F],
      [0x000378, 0x000379],
      [0x000380, 0x000383],
      [0x0003E2, 0x0003EF],
      [0x000400, 0x001D25],
      [0x001D2B, 0x001D5C],
      [0x001D62, 0x001D65],
      [0x001D6B, 0x001DBE],
      [0x001DC2, 0x001EFF],
      [0x001F16, 0x001F17],
      [0x001F1E, 0x001F1F],
      [0x001F46, 0x001F47],
      [0x001F4E, 0x001F4F],
      [0x001F7E, 0x001F7F],
      [0x001FD4, 0x001FD5],
      [0x001FF0, 0x001FF1],
      [0x001FFF, 0x002125],
      [0x002127, 0x00AB64],
      [0x00AB66, 0x00DBFF],
      [0x00E000, 0x01013F],
      [0x01018F, 0x01019F],
      [0x0101A1, 0x01D1FF],
      [0x01D246, 0x10FFFF]
    ]
  });
  testPropertyEscapes(
    /^\P{Script_Extensions=Greek}+$/u,
    nonMatchSymbols,
    "\\P{Script_Extensions=Greek}"
  );
  testPropertyEscapes(
    /^\P{Script_Extensions=Grek}+$/u,
    nonMatchSymbols,
    "\\P{Script_Extensions=Grek}"
  );
  testPropertyEscapes(
    /^\P{scx=Greek}+$/u,
    nonMatchSymbols,
    "\\P{scx=Greek}"
  );
  testPropertyEscapes(
    /^\P{scx=Grek}+$/u,
    nonMatchSymbols,
    "\\P{scx=Grek}"
  );
  