c8bfbed921
This is a reland of f4c14fd971
TBR=jgruber@chromium.org
Original change's description:
> [regexp] implement regexp property sequence proposal
>
> Also-By: mathias@chromium.org
> Bug: v8:7467
> Change-Id: I9fd6e61f4da1097c2375f671b4801e9730f792c4
> Reviewed-on: https://chromium-review.googlesource.com/1227974
> Commit-Queue: Yang Guo <yangguo@chromium.org>
> Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> Reviewed-by: Mathias Bynens <mathias@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#55991}
Bug: v8:7467
Change-Id: If07137dea5a8ea42dbff1d749d997eb4ae055d80
Reviewed-on: https://chromium-review.googlesource.com/1232634
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56017}
267 lines
11 KiB
JavaScript
267 lines
11 KiB
JavaScript
// Copyright 2018 the V8 project authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
// Flags: --harmony-regexp-sequence
|
|
|
|
const re = /\p{Emoji_Flag_Sequence}/u;
|
|
|
|
assertTrue(re.test('\u{1F1E6}\u{1F1E8}'));
|
|
assertTrue(re.test('\u{1F1FF}\u{1F1FC}'));
|
|
assertTrue(re.test('\u{1F1E6}\u{1F1EA}'));
|
|
assertTrue(re.test('\u{1F1E6}\u{1F1EB}'));
|
|
assertTrue(re.test('\u{1F1E6}\u{1F1EC}'));
|
|
assertTrue(re.test('\u{1F1E6}\u{1F1EE}'));
|
|
assertTrue(re.test('\u{1F1E6}\u{1F1F1}'));
|
|
assertTrue(re.test('\u{1F1E6}\u{1F1F2}'));
|
|
assertTrue(re.test('\u{1F1E6}\u{1F1F4}'));
|
|
assertTrue(re.test('\u{1F1E6}\u{1F1F6}'));
|
|
assertTrue(re.test('\u{1F1E6}\u{1F1F7}'));
|
|
assertTrue(re.test('\u{1F1E6}\u{1F1F8}'));
|
|
assertTrue(re.test('\u{1F1E6}\u{1F1F9}'));
|
|
assertTrue(re.test('\u{1F1E6}\u{1F1FA}'));
|
|
assertTrue(re.test('\u{1F1E6}\u{1F1FC}'));
|
|
assertTrue(re.test('\u{1F1E6}\u{1F1FD}'));
|
|
assertTrue(re.test('\u{1F1E6}\u{1F1FF}'));
|
|
assertTrue(re.test('\u{1F1E7}\u{1F1E6}'));
|
|
assertTrue(re.test('\u{1F1E7}\u{1F1E7}'));
|
|
assertTrue(re.test('\u{1F1E7}\u{1F1E9}'));
|
|
assertTrue(re.test('\u{1F1E7}\u{1F1EA}'));
|
|
assertTrue(re.test('\u{1F1E7}\u{1F1EB}'));
|
|
assertTrue(re.test('\u{1F1E7}\u{1F1EC}'));
|
|
assertTrue(re.test('\u{1F1E7}\u{1F1ED}'));
|
|
assertTrue(re.test('\u{1F1E7}\u{1F1EE}'));
|
|
assertTrue(re.test('\u{1F1E7}\u{1F1EF}'));
|
|
assertTrue(re.test('\u{1F1E7}\u{1F1F1}'));
|
|
assertTrue(re.test('\u{1F1E7}\u{1F1F2}'));
|
|
assertTrue(re.test('\u{1F1E7}\u{1F1F3}'));
|
|
assertTrue(re.test('\u{1F1E7}\u{1F1F4}'));
|
|
assertTrue(re.test('\u{1F1E7}\u{1F1F6}'));
|
|
assertTrue(re.test('\u{1F1E7}\u{1F1F7}'));
|
|
assertTrue(re.test('\u{1F1E7}\u{1F1F8}'));
|
|
assertTrue(re.test('\u{1F1E7}\u{1F1F9}'));
|
|
assertTrue(re.test('\u{1F1E7}\u{1F1FB}'));
|
|
assertTrue(re.test('\u{1F1E7}\u{1F1FC}'));
|
|
assertTrue(re.test('\u{1F1E7}\u{1F1FE}'));
|
|
assertTrue(re.test('\u{1F1E7}\u{1F1FF}'));
|
|
assertTrue(re.test('\u{1F1E8}\u{1F1E6}'));
|
|
assertTrue(re.test('\u{1F1E8}\u{1F1E8}'));
|
|
assertTrue(re.test('\u{1F1E8}\u{1F1E9}'));
|
|
assertTrue(re.test('\u{1F1E8}\u{1F1EB}'));
|
|
assertTrue(re.test('\u{1F1E8}\u{1F1EC}'));
|
|
assertTrue(re.test('\u{1F1E8}\u{1F1ED}'));
|
|
assertTrue(re.test('\u{1F1E8}\u{1F1EE}'));
|
|
assertTrue(re.test('\u{1F1E8}\u{1F1F0}'));
|
|
assertTrue(re.test('\u{1F1E8}\u{1F1F1}'));
|
|
assertTrue(re.test('\u{1F1E8}\u{1F1F2}'));
|
|
assertTrue(re.test('\u{1F1E8}\u{1F1F3}'));
|
|
assertTrue(re.test('\u{1F1E8}\u{1F1F4}'));
|
|
assertTrue(re.test('\u{1F1E8}\u{1F1F5}'));
|
|
assertTrue(re.test('\u{1F1E8}\u{1F1F7}'));
|
|
assertTrue(re.test('\u{1F1E8}\u{1F1FA}'));
|
|
assertTrue(re.test('\u{1F1E8}\u{1F1FB}'));
|
|
assertTrue(re.test('\u{1F1E8}\u{1F1FC}'));
|
|
assertTrue(re.test('\u{1F1E8}\u{1F1FD}'));
|
|
assertTrue(re.test('\u{1F1E8}\u{1F1FE}'));
|
|
assertTrue(re.test('\u{1F1E8}\u{1F1FF}'));
|
|
assertTrue(re.test('\u{1F1E9}\u{1F1EA}'));
|
|
assertTrue(re.test('\u{1F1E9}\u{1F1EC}'));
|
|
assertTrue(re.test('\u{1F1E9}\u{1F1EF}'));
|
|
assertTrue(re.test('\u{1F1E9}\u{1F1F0}'));
|
|
assertTrue(re.test('\u{1F1E9}\u{1F1F2}'));
|
|
assertTrue(re.test('\u{1F1E9}\u{1F1F4}'));
|
|
assertTrue(re.test('\u{1F1E9}\u{1F1FF}'));
|
|
assertTrue(re.test('\u{1F1EA}\u{1F1E6}'));
|
|
assertTrue(re.test('\u{1F1EA}\u{1F1E8}'));
|
|
assertTrue(re.test('\u{1F1EA}\u{1F1EA}'));
|
|
assertTrue(re.test('\u{1F1EA}\u{1F1EC}'));
|
|
assertTrue(re.test('\u{1F1EA}\u{1F1ED}'));
|
|
assertTrue(re.test('\u{1F1EA}\u{1F1F7}'));
|
|
assertTrue(re.test('\u{1F1EA}\u{1F1F8}'));
|
|
assertTrue(re.test('\u{1F1EA}\u{1F1F9}'));
|
|
assertTrue(re.test('\u{1F1EA}\u{1F1FA}'));
|
|
assertTrue(re.test('\u{1F1EB}\u{1F1EE}'));
|
|
assertTrue(re.test('\u{1F1EB}\u{1F1EF}'));
|
|
assertTrue(re.test('\u{1F1EB}\u{1F1F0}'));
|
|
assertTrue(re.test('\u{1F1EB}\u{1F1F2}'));
|
|
assertTrue(re.test('\u{1F1EB}\u{1F1F4}'));
|
|
assertTrue(re.test('\u{1F1EB}\u{1F1F7}'));
|
|
assertTrue(re.test('\u{1F1EC}\u{1F1E6}'));
|
|
assertTrue(re.test('\u{1F1EC}\u{1F1E7}'));
|
|
assertTrue(re.test('\u{1F1EC}\u{1F1E9}'));
|
|
assertTrue(re.test('\u{1F1EC}\u{1F1EA}'));
|
|
assertTrue(re.test('\u{1F1EC}\u{1F1EB}'));
|
|
assertTrue(re.test('\u{1F1EC}\u{1F1EC}'));
|
|
assertTrue(re.test('\u{1F1EC}\u{1F1ED}'));
|
|
assertTrue(re.test('\u{1F1EC}\u{1F1EE}'));
|
|
assertTrue(re.test('\u{1F1EC}\u{1F1F1}'));
|
|
assertTrue(re.test('\u{1F1EC}\u{1F1F2}'));
|
|
assertTrue(re.test('\u{1F1EC}\u{1F1F3}'));
|
|
assertTrue(re.test('\u{1F1EC}\u{1F1F5}'));
|
|
assertTrue(re.test('\u{1F1EC}\u{1F1F6}'));
|
|
assertTrue(re.test('\u{1F1EC}\u{1F1F7}'));
|
|
assertTrue(re.test('\u{1F1EC}\u{1F1F8}'));
|
|
assertTrue(re.test('\u{1F1EC}\u{1F1F9}'));
|
|
assertTrue(re.test('\u{1F1EC}\u{1F1FA}'));
|
|
assertTrue(re.test('\u{1F1EC}\u{1F1FC}'));
|
|
assertTrue(re.test('\u{1F1EC}\u{1F1FE}'));
|
|
assertTrue(re.test('\u{1F1ED}\u{1F1F0}'));
|
|
assertTrue(re.test('\u{1F1ED}\u{1F1F2}'));
|
|
assertTrue(re.test('\u{1F1ED}\u{1F1F3}'));
|
|
assertTrue(re.test('\u{1F1ED}\u{1F1F7}'));
|
|
assertTrue(re.test('\u{1F1ED}\u{1F1F9}'));
|
|
assertTrue(re.test('\u{1F1ED}\u{1F1FA}'));
|
|
assertTrue(re.test('\u{1F1EE}\u{1F1E8}'));
|
|
assertTrue(re.test('\u{1F1EE}\u{1F1E9}'));
|
|
assertTrue(re.test('\u{1F1EE}\u{1F1EA}'));
|
|
assertTrue(re.test('\u{1F1EE}\u{1F1F1}'));
|
|
assertTrue(re.test('\u{1F1EE}\u{1F1F2}'));
|
|
assertTrue(re.test('\u{1F1EE}\u{1F1F3}'));
|
|
assertTrue(re.test('\u{1F1EE}\u{1F1F4}'));
|
|
assertTrue(re.test('\u{1F1EE}\u{1F1F6}'));
|
|
assertTrue(re.test('\u{1F1EE}\u{1F1F7}'));
|
|
assertTrue(re.test('\u{1F1EE}\u{1F1F8}'));
|
|
assertTrue(re.test('\u{1F1EE}\u{1F1F9}'));
|
|
assertTrue(re.test('\u{1F1EF}\u{1F1EA}'));
|
|
assertTrue(re.test('\u{1F1EF}\u{1F1F2}'));
|
|
assertTrue(re.test('\u{1F1EF}\u{1F1F4}'));
|
|
assertTrue(re.test('\u{1F1EF}\u{1F1F5}'));
|
|
assertTrue(re.test('\u{1F1F0}\u{1F1EA}'));
|
|
assertTrue(re.test('\u{1F1F0}\u{1F1EC}'));
|
|
assertTrue(re.test('\u{1F1F0}\u{1F1ED}'));
|
|
assertTrue(re.test('\u{1F1F0}\u{1F1EE}'));
|
|
assertTrue(re.test('\u{1F1F0}\u{1F1F2}'));
|
|
assertTrue(re.test('\u{1F1F0}\u{1F1F3}'));
|
|
assertTrue(re.test('\u{1F1F0}\u{1F1F5}'));
|
|
assertTrue(re.test('\u{1F1F0}\u{1F1F7}'));
|
|
assertTrue(re.test('\u{1F1F0}\u{1F1FC}'));
|
|
assertTrue(re.test('\u{1F1E6}\u{1F1E9}'));
|
|
assertTrue(re.test('\u{1F1F0}\u{1F1FF}'));
|
|
assertTrue(re.test('\u{1F1F1}\u{1F1E6}'));
|
|
assertTrue(re.test('\u{1F1F1}\u{1F1E7}'));
|
|
assertTrue(re.test('\u{1F1F1}\u{1F1E8}'));
|
|
assertTrue(re.test('\u{1F1F1}\u{1F1EE}'));
|
|
assertTrue(re.test('\u{1F1F1}\u{1F1F0}'));
|
|
assertTrue(re.test('\u{1F1F1}\u{1F1F7}'));
|
|
assertTrue(re.test('\u{1F1F1}\u{1F1F8}'));
|
|
assertTrue(re.test('\u{1F1F1}\u{1F1F9}'));
|
|
assertTrue(re.test('\u{1F1F1}\u{1F1FA}'));
|
|
assertTrue(re.test('\u{1F1F1}\u{1F1FB}'));
|
|
assertTrue(re.test('\u{1F1F1}\u{1F1FE}'));
|
|
assertTrue(re.test('\u{1F1F2}\u{1F1E6}'));
|
|
assertTrue(re.test('\u{1F1F2}\u{1F1E8}'));
|
|
assertTrue(re.test('\u{1F1F2}\u{1F1E9}'));
|
|
assertTrue(re.test('\u{1F1F2}\u{1F1EA}'));
|
|
assertTrue(re.test('\u{1F1F2}\u{1F1EB}'));
|
|
assertTrue(re.test('\u{1F1F2}\u{1F1EC}'));
|
|
assertTrue(re.test('\u{1F1F2}\u{1F1ED}'));
|
|
assertTrue(re.test('\u{1F1F2}\u{1F1F0}'));
|
|
assertTrue(re.test('\u{1F1F2}\u{1F1F1}'));
|
|
assertTrue(re.test('\u{1F1F2}\u{1F1F2}'));
|
|
assertTrue(re.test('\u{1F1F2}\u{1F1F3}'));
|
|
assertTrue(re.test('\u{1F1F2}\u{1F1F4}'));
|
|
assertTrue(re.test('\u{1F1F2}\u{1F1F5}'));
|
|
assertTrue(re.test('\u{1F1F2}\u{1F1F6}'));
|
|
assertTrue(re.test('\u{1F1F2}\u{1F1F7}'));
|
|
assertTrue(re.test('\u{1F1F2}\u{1F1F8}'));
|
|
assertTrue(re.test('\u{1F1F2}\u{1F1F9}'));
|
|
assertTrue(re.test('\u{1F1F2}\u{1F1FA}'));
|
|
assertTrue(re.test('\u{1F1F2}\u{1F1FB}'));
|
|
assertTrue(re.test('\u{1F1F2}\u{1F1FC}'));
|
|
assertTrue(re.test('\u{1F1F2}\u{1F1FD}'));
|
|
assertTrue(re.test('\u{1F1F2}\u{1F1FE}'));
|
|
assertTrue(re.test('\u{1F1F2}\u{1F1FF}'));
|
|
assertTrue(re.test('\u{1F1F3}\u{1F1E6}'));
|
|
assertTrue(re.test('\u{1F1F3}\u{1F1E8}'));
|
|
assertTrue(re.test('\u{1F1F3}\u{1F1EA}'));
|
|
assertTrue(re.test('\u{1F1F3}\u{1F1EB}'));
|
|
assertTrue(re.test('\u{1F1F3}\u{1F1EC}'));
|
|
assertTrue(re.test('\u{1F1F3}\u{1F1EE}'));
|
|
assertTrue(re.test('\u{1F1F3}\u{1F1F1}'));
|
|
assertTrue(re.test('\u{1F1F3}\u{1F1F4}'));
|
|
assertTrue(re.test('\u{1F1F3}\u{1F1F5}'));
|
|
assertTrue(re.test('\u{1F1F3}\u{1F1F7}'));
|
|
assertTrue(re.test('\u{1F1F3}\u{1F1FA}'));
|
|
assertTrue(re.test('\u{1F1F3}\u{1F1FF}'));
|
|
assertTrue(re.test('\u{1F1F4}\u{1F1F2}'));
|
|
assertTrue(re.test('\u{1F1F5}\u{1F1E6}'));
|
|
assertTrue(re.test('\u{1F1F5}\u{1F1EA}'));
|
|
assertTrue(re.test('\u{1F1F5}\u{1F1EB}'));
|
|
assertTrue(re.test('\u{1F1F5}\u{1F1EC}'));
|
|
assertTrue(re.test('\u{1F1F5}\u{1F1ED}'));
|
|
assertTrue(re.test('\u{1F1F5}\u{1F1F0}'));
|
|
assertTrue(re.test('\u{1F1F5}\u{1F1F1}'));
|
|
assertTrue(re.test('\u{1F1F5}\u{1F1F2}'));
|
|
assertTrue(re.test('\u{1F1F5}\u{1F1F3}'));
|
|
assertTrue(re.test('\u{1F1F5}\u{1F1F7}'));
|
|
assertTrue(re.test('\u{1F1F5}\u{1F1F8}'));
|
|
assertTrue(re.test('\u{1F1F5}\u{1F1F9}'));
|
|
assertTrue(re.test('\u{1F1F5}\u{1F1FC}'));
|
|
assertTrue(re.test('\u{1F1F5}\u{1F1FE}'));
|
|
assertTrue(re.test('\u{1F1F6}\u{1F1E6}'));
|
|
assertTrue(re.test('\u{1F1F7}\u{1F1EA}'));
|
|
assertTrue(re.test('\u{1F1F7}\u{1F1F4}'));
|
|
assertTrue(re.test('\u{1F1F7}\u{1F1F8}'));
|
|
assertTrue(re.test('\u{1F1F7}\u{1F1FA}'));
|
|
assertTrue(re.test('\u{1F1F7}\u{1F1FC}'));
|
|
assertTrue(re.test('\u{1F1F8}\u{1F1E6}'));
|
|
assertTrue(re.test('\u{1F1F8}\u{1F1E7}'));
|
|
assertTrue(re.test('\u{1F1F8}\u{1F1E8}'));
|
|
assertTrue(re.test('\u{1F1F8}\u{1F1E9}'));
|
|
assertTrue(re.test('\u{1F1F8}\u{1F1EA}'));
|
|
assertTrue(re.test('\u{1F1F8}\u{1F1EC}'));
|
|
assertTrue(re.test('\u{1F1F8}\u{1F1ED}'));
|
|
assertTrue(re.test('\u{1F1F8}\u{1F1EE}'));
|
|
assertTrue(re.test('\u{1F1F8}\u{1F1EF}'));
|
|
assertTrue(re.test('\u{1F1F8}\u{1F1F0}'));
|
|
assertTrue(re.test('\u{1F1F8}\u{1F1F1}'));
|
|
assertTrue(re.test('\u{1F1F8}\u{1F1F2}'));
|
|
assertTrue(re.test('\u{1F1F8}\u{1F1F3}'));
|
|
assertTrue(re.test('\u{1F1F8}\u{1F1F4}'));
|
|
assertTrue(re.test('\u{1F1F8}\u{1F1F7}'));
|
|
assertTrue(re.test('\u{1F1F8}\u{1F1F8}'));
|
|
assertTrue(re.test('\u{1F1F8}\u{1F1F9}'));
|
|
assertTrue(re.test('\u{1F1F8}\u{1F1FB}'));
|
|
assertTrue(re.test('\u{1F1F8}\u{1F1FD}'));
|
|
assertTrue(re.test('\u{1F1F8}\u{1F1FE}'));
|
|
assertTrue(re.test('\u{1F1F8}\u{1F1FF}'));
|
|
assertTrue(re.test('\u{1F1F9}\u{1F1E6}'));
|
|
assertTrue(re.test('\u{1F1F9}\u{1F1E8}'));
|
|
assertTrue(re.test('\u{1F1F9}\u{1F1E9}'));
|
|
assertTrue(re.test('\u{1F1F9}\u{1F1EB}'));
|
|
assertTrue(re.test('\u{1F1F9}\u{1F1EC}'));
|
|
assertTrue(re.test('\u{1F1F9}\u{1F1ED}'));
|
|
assertTrue(re.test('\u{1F1F9}\u{1F1EF}'));
|
|
assertTrue(re.test('\u{1F1F9}\u{1F1F0}'));
|
|
assertTrue(re.test('\u{1F1F9}\u{1F1F1}'));
|
|
assertTrue(re.test('\u{1F1F9}\u{1F1F2}'));
|
|
assertTrue(re.test('\u{1F1F9}\u{1F1F3}'));
|
|
assertTrue(re.test('\u{1F1F9}\u{1F1F4}'));
|
|
assertTrue(re.test('\u{1F1F9}\u{1F1F7}'));
|
|
assertTrue(re.test('\u{1F1F9}\u{1F1F9}'));
|
|
assertTrue(re.test('\u{1F1F9}\u{1F1FB}'));
|
|
assertTrue(re.test('\u{1F1F9}\u{1F1FC}'));
|
|
assertTrue(re.test('\u{1F1F9}\u{1F1FF}'));
|
|
assertTrue(re.test('\u{1F1FA}\u{1F1E6}'));
|
|
assertTrue(re.test('\u{1F1FA}\u{1F1EC}'));
|
|
assertTrue(re.test('\u{1F1FA}\u{1F1F2}'));
|
|
assertTrue(re.test('\u{1F1FA}\u{1F1F3}'));
|
|
assertTrue(re.test('\u{1F1FA}\u{1F1F8}'));
|
|
assertTrue(re.test('\u{1F1FA}\u{1F1FE}'));
|
|
assertTrue(re.test('\u{1F1FA}\u{1F1FF}'));
|
|
assertTrue(re.test('\u{1F1FB}\u{1F1E6}'));
|
|
assertTrue(re.test('\u{1F1FB}\u{1F1E8}'));
|
|
assertTrue(re.test('\u{1F1FB}\u{1F1EA}'));
|
|
assertTrue(re.test('\u{1F1FB}\u{1F1EC}'));
|
|
assertTrue(re.test('\u{1F1FB}\u{1F1EE}'));
|
|
assertTrue(re.test('\u{1F1FB}\u{1F1F3}'));
|
|
assertTrue(re.test('\u{1F1FB}\u{1F1FA}'));
|
|
assertTrue(re.test('\u{1F1FC}\u{1F1EB}'));
|
|
assertTrue(re.test('\u{1F1FC}\u{1F1F8}'));
|
|
assertTrue(re.test('\u{1F1FD}\u{1F1F0}'));
|
|
assertTrue(re.test('\u{1F1FE}\u{1F1EA}'));
|
|
assertTrue(re.test('\u{1F1FE}\u{1F1F9}'));
|
|
assertTrue(re.test('\u{1F1FF}\u{1F1E6}'));
|
|
assertTrue(re.test('\u{1F1FF}\u{1F1F2}'));
|
|
assertTrue(re.test('\u{1F1F0}\u{1F1FE}'));
|