Reland "[regexp] implement regexp property sequence proposal"
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}
This commit is contained in:
parent
6a6f050e18
commit
c8bfbed921
2
BUILD.gn
2
BUILD.gn
@ -2360,6 +2360,8 @@ v8_source_set("v8_base") {
|
||||
"src/regexp/jsregexp-inl.h",
|
||||
"src/regexp/jsregexp.cc",
|
||||
"src/regexp/jsregexp.h",
|
||||
"src/regexp/property-sequences.cc",
|
||||
"src/regexp/property-sequences.h",
|
||||
"src/regexp/regexp-ast.cc",
|
||||
"src/regexp/regexp-ast.h",
|
||||
"src/regexp/regexp-macro-assembler-irregexp-inl.h",
|
||||
|
@ -4767,6 +4767,8 @@ void Genesis::InitializeGlobal_harmony_intl_relative_time_format() {
|
||||
|
||||
#endif // V8_INTL_SUPPORT
|
||||
|
||||
void Genesis::InitializeGlobal_harmony_regexp_sequence() {}
|
||||
|
||||
Handle<JSFunction> Genesis::CreateArrayBuffer(
|
||||
Handle<String> name, ArrayBufferKind array_buffer_kind) {
|
||||
// Create the %ArrayBufferPrototype%
|
||||
|
@ -209,10 +209,11 @@ DEFINE_IMPLICATION(harmony_class_fields, harmony_private_fields)
|
||||
// Update bootstrapper.cc whenever adding a new feature flag.
|
||||
|
||||
// Features that are still work in progress (behind individual flags).
|
||||
#define HARMONY_INPROGRESS_BASE(V) \
|
||||
V(harmony_do_expressions, "harmony do-expressions") \
|
||||
V(harmony_class_fields, "harmony fields in class literals") \
|
||||
V(harmony_await_optimization, "harmony await taking 1 tick")
|
||||
#define HARMONY_INPROGRESS_BASE(V) \
|
||||
V(harmony_do_expressions, "harmony do-expressions") \
|
||||
V(harmony_class_fields, "harmony fields in class literals") \
|
||||
V(harmony_await_optimization, "harmony await taking 1 tick") \
|
||||
V(harmony_regexp_sequence, "RegExp Unicode sequence properties")
|
||||
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
#define HARMONY_INPROGRESS(V) \
|
||||
|
1115
src/regexp/property-sequences.cc
Normal file
1115
src/regexp/property-sequences.cc
Normal file
File diff suppressed because it is too large
Load Diff
28
src/regexp/property-sequences.h
Normal file
28
src/regexp/property-sequences.h
Normal file
@ -0,0 +1,28 @@
|
||||
// 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.
|
||||
|
||||
#ifndef V8_REGEXP_PROPERTY_SEQUENCES_H_
|
||||
#define V8_REGEXP_PROPERTY_SEQUENCES_H_
|
||||
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
|
||||
#include "src/globals.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
||||
class UnicodePropertySequences : public AllStatic {
|
||||
public:
|
||||
static const uc32 kEmojiFlagSequences[];
|
||||
|
||||
static const uc32 kEmojiTagSequences[];
|
||||
static const uc32 kEmojiZWJSequences[];
|
||||
};
|
||||
|
||||
} // namespace internal
|
||||
} // namespace v8
|
||||
|
||||
#endif // V8_INTL_SUPPORT
|
||||
|
||||
#endif // V8_REGEXP_PROPERTY_SEQUENCES_H_
|
@ -12,6 +12,7 @@
|
||||
#include "src/objects-inl.h"
|
||||
#include "src/ostreams.h"
|
||||
#include "src/regexp/jsregexp.h"
|
||||
#include "src/regexp/property-sequences.h"
|
||||
#include "src/utils.h"
|
||||
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
@ -344,13 +345,23 @@ RegExpTree* RegExpParser::ParseDisjunction() {
|
||||
if (unicode()) {
|
||||
ZoneList<CharacterRange>* ranges =
|
||||
new (zone()) ZoneList<CharacterRange>(2, zone());
|
||||
if (!ParsePropertyClass(ranges, p == 'P')) {
|
||||
return ReportError(CStrVector("Invalid property name"));
|
||||
std::vector<char> name_1, name_2;
|
||||
if (ParsePropertyClassName(&name_1, &name_2)) {
|
||||
if (AddPropertyClassRange(ranges, p == 'P', name_1, name_2)) {
|
||||
RegExpCharacterClass* cc = new (zone())
|
||||
RegExpCharacterClass(zone(), ranges, builder->flags());
|
||||
builder->AddCharacterClass(cc);
|
||||
break;
|
||||
}
|
||||
if (p == 'p' && name_2.empty()) {
|
||||
RegExpTree* sequence = GetPropertySequence(name_1);
|
||||
if (sequence != nullptr) {
|
||||
builder->AddAtom(sequence);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
RegExpCharacterClass* cc = new (zone())
|
||||
RegExpCharacterClass(zone(), ranges, builder->flags());
|
||||
builder->AddCharacterClass(cc);
|
||||
|
||||
return ReportError(CStrVector("Invalid property name"));
|
||||
} else {
|
||||
builder->AddCharacter(p);
|
||||
}
|
||||
@ -1346,8 +1357,10 @@ bool IsUnicodePropertyValueCharacter(char c) {
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
bool RegExpParser::ParsePropertyClass(ZoneList<CharacterRange>* result,
|
||||
bool negate) {
|
||||
bool RegExpParser::ParsePropertyClassName(std::vector<char>* name_1,
|
||||
std::vector<char>* name_2) {
|
||||
DCHECK(name_1->empty());
|
||||
DCHECK(name_2->empty());
|
||||
// Parse the property class as follows:
|
||||
// - In \p{name}, 'name' is interpreted
|
||||
// - either as a general category property value name.
|
||||
@ -1356,55 +1369,58 @@ bool RegExpParser::ParsePropertyClass(ZoneList<CharacterRange>* result,
|
||||
// and 'value' is interpreted as one of the available property value names.
|
||||
// - Aliases in PropertyAlias.txt and PropertyValueAlias.txt can be used.
|
||||
// - Loose matching is not applied.
|
||||
std::vector<char> first_part;
|
||||
std::vector<char> second_part;
|
||||
if (current() == '{') {
|
||||
// Parse \p{[PropertyName=]PropertyNameValue}
|
||||
for (Advance(); current() != '}' && current() != '='; Advance()) {
|
||||
if (!IsUnicodePropertyValueCharacter(current())) return false;
|
||||
if (!has_next()) return false;
|
||||
first_part.push_back(static_cast<char>(current()));
|
||||
name_1->push_back(static_cast<char>(current()));
|
||||
}
|
||||
if (current() == '=') {
|
||||
for (Advance(); current() != '}'; Advance()) {
|
||||
if (!IsUnicodePropertyValueCharacter(current())) return false;
|
||||
if (!has_next()) return false;
|
||||
second_part.push_back(static_cast<char>(current()));
|
||||
name_2->push_back(static_cast<char>(current()));
|
||||
}
|
||||
second_part.push_back(0); // null-terminate string.
|
||||
name_2->push_back(0); // null-terminate string.
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
Advance();
|
||||
first_part.push_back(0); // null-terminate string.
|
||||
name_1->push_back(0); // null-terminate string.
|
||||
|
||||
DCHECK(first_part.size() - 1 == std::strlen(first_part.data()));
|
||||
DCHECK(second_part.empty() ||
|
||||
second_part.size() - 1 == std::strlen(second_part.data()));
|
||||
DCHECK(name_1->size() - 1 == std::strlen(name_1->data()));
|
||||
DCHECK(name_2->empty() || name_2->size() - 1 == std::strlen(name_2->data()));
|
||||
return true;
|
||||
}
|
||||
|
||||
if (second_part.empty()) {
|
||||
bool RegExpParser::AddPropertyClassRange(ZoneList<CharacterRange>* add_to,
|
||||
bool negate,
|
||||
const std::vector<char>& name_1,
|
||||
const std::vector<char>& name_2) {
|
||||
if (name_2.empty()) {
|
||||
// First attempt to interpret as general category property value name.
|
||||
const char* name = first_part.data();
|
||||
const char* name = name_1.data();
|
||||
if (LookupPropertyValueName(UCHAR_GENERAL_CATEGORY_MASK, name, negate,
|
||||
result, zone())) {
|
||||
add_to, zone())) {
|
||||
return true;
|
||||
}
|
||||
// Interpret "Any", "ASCII", and "Assigned".
|
||||
if (LookupSpecialPropertyValueName(name, result, negate, zone())) {
|
||||
if (LookupSpecialPropertyValueName(name, add_to, negate, zone())) {
|
||||
return true;
|
||||
}
|
||||
// Then attempt to interpret as binary property name with value name 'Y'.
|
||||
UProperty property = u_getPropertyEnum(name);
|
||||
if (!IsSupportedBinaryProperty(property)) return false;
|
||||
if (!IsExactPropertyAlias(name, property)) return false;
|
||||
return LookupPropertyValueName(property, negate ? "N" : "Y", false, result,
|
||||
return LookupPropertyValueName(property, negate ? "N" : "Y", false, add_to,
|
||||
zone());
|
||||
} else {
|
||||
// Both property name and value name are specified. Attempt to interpret
|
||||
// the property name as enumerated property.
|
||||
const char* property_name = first_part.data();
|
||||
const char* value_name = second_part.data();
|
||||
const char* property_name = name_1.data();
|
||||
const char* value_name = name_2.data();
|
||||
UProperty property = u_getPropertyEnum(property_name);
|
||||
if (!IsExactPropertyAlias(property_name, property)) return false;
|
||||
if (property == UCHAR_GENERAL_CATEGORY) {
|
||||
@ -1414,18 +1430,93 @@ bool RegExpParser::ParsePropertyClass(ZoneList<CharacterRange>* result,
|
||||
property != UCHAR_SCRIPT_EXTENSIONS) {
|
||||
return false;
|
||||
}
|
||||
return LookupPropertyValueName(property, value_name, negate, result,
|
||||
return LookupPropertyValueName(property, value_name, negate, add_to,
|
||||
zone());
|
||||
}
|
||||
}
|
||||
|
||||
RegExpTree* RegExpParser::GetPropertySequence(const std::vector<char>& name_1) {
|
||||
if (!FLAG_harmony_regexp_sequence) return nullptr;
|
||||
const char* name = name_1.data();
|
||||
const uc32* sequence_list = nullptr;
|
||||
JSRegExp::Flags flags = JSRegExp::kUnicode;
|
||||
if (NameEquals(name, "Emoji_Flag_Sequence")) {
|
||||
sequence_list = UnicodePropertySequences::kEmojiFlagSequences;
|
||||
} else if (NameEquals(name, "Emoji_Tag_Sequence")) {
|
||||
sequence_list = UnicodePropertySequences::kEmojiTagSequences;
|
||||
} else if (NameEquals(name, "Emoji_ZWJ_Sequence")) {
|
||||
sequence_list = UnicodePropertySequences::kEmojiZWJSequences;
|
||||
}
|
||||
if (sequence_list != nullptr) {
|
||||
// TODO(yangguo): this creates huge regexp code. Alternative to this is
|
||||
// to create a new operator that checks for these sequences at runtime.
|
||||
RegExpBuilder builder(zone(), flags);
|
||||
while (true) { // Iterate through list of sequences.
|
||||
while (*sequence_list != 0) { // Iterate through sequence.
|
||||
builder.AddUnicodeCharacter(*sequence_list);
|
||||
sequence_list++;
|
||||
}
|
||||
sequence_list++;
|
||||
if (*sequence_list == 0) break;
|
||||
builder.NewAlternative();
|
||||
}
|
||||
return builder.ToRegExp();
|
||||
}
|
||||
|
||||
if (NameEquals(name, "Emoji_Keycap_Sequence")) {
|
||||
// https://unicode.org/reports/tr51/#def_emoji_keycap_sequence
|
||||
// emoji_keycap_sequence := [0-9#*] \x{FE0F 20E3}
|
||||
RegExpBuilder builder(zone(), flags);
|
||||
ZoneList<CharacterRange>* prefix_ranges =
|
||||
new (zone()) ZoneList<CharacterRange>(2, zone());
|
||||
prefix_ranges->Add(CharacterRange::Range('0', '9'), zone());
|
||||
prefix_ranges->Add(CharacterRange::Singleton('#'), zone());
|
||||
prefix_ranges->Add(CharacterRange::Singleton('*'), zone());
|
||||
builder.AddCharacterClass(
|
||||
new (zone()) RegExpCharacterClass(zone(), prefix_ranges, flags));
|
||||
builder.AddCharacter(0xFE0F);
|
||||
builder.AddCharacter(0x20E3);
|
||||
return builder.ToRegExp();
|
||||
} else if (NameEquals(name, "Emoji_Modifier_Sequence")) {
|
||||
// https://unicode.org/reports/tr51/#def_emoji_modifier_sequence
|
||||
// emoji_modifier_sequence := emoji_modifier_base emoji_modifier
|
||||
RegExpBuilder builder(zone(), flags);
|
||||
ZoneList<CharacterRange>* modifier_base_ranges =
|
||||
new (zone()) ZoneList<CharacterRange>(2, zone());
|
||||
LookupPropertyValueName(UCHAR_EMOJI_MODIFIER_BASE, "Y", false,
|
||||
modifier_base_ranges, zone());
|
||||
builder.AddCharacterClass(
|
||||
new (zone()) RegExpCharacterClass(zone(), modifier_base_ranges, flags));
|
||||
ZoneList<CharacterRange>* modifier_ranges =
|
||||
new (zone()) ZoneList<CharacterRange>(2, zone());
|
||||
LookupPropertyValueName(UCHAR_EMOJI_MODIFIER, "Y", false, modifier_ranges,
|
||||
zone());
|
||||
builder.AddCharacterClass(
|
||||
new (zone()) RegExpCharacterClass(zone(), modifier_ranges, flags));
|
||||
return builder.ToRegExp();
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
#else // V8_INTL_SUPPORT
|
||||
|
||||
bool RegExpParser::ParsePropertyClass(ZoneList<CharacterRange>* result,
|
||||
bool negate) {
|
||||
bool RegExpParser::ParsePropertyClassName(std::vector<char>* name_1,
|
||||
std::vector<char>* name_2) {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool RegExpParser::AddPropertyClassRange(ZoneList<CharacterRange>* add_to,
|
||||
bool negate,
|
||||
const std::vector<char>& name_1,
|
||||
const std::vector<char>& name_2) {
|
||||
return false;
|
||||
}
|
||||
|
||||
RegExpTree* RegExpParser::GetPropertySequence(const std::vector<char>& name) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
#endif // V8_INTL_SUPPORT
|
||||
|
||||
bool RegExpParser::ParseUnlimitedLengthHexNumber(int max_value, uc32* value) {
|
||||
@ -1591,7 +1682,9 @@ void RegExpParser::ParseClassEscape(ZoneList<CharacterRange>* ranges,
|
||||
if (unicode()) {
|
||||
bool negate = Next() == 'P';
|
||||
Advance(2);
|
||||
if (!ParsePropertyClass(ranges, negate)) {
|
||||
std::vector<char> name_1, name_2;
|
||||
if (!ParsePropertyClassName(&name_1, &name_2) ||
|
||||
!AddPropertyClassRange(ranges, negate, name_1, name_2)) {
|
||||
ReportError(CStrVector("Invalid property name in character class"));
|
||||
}
|
||||
*is_class_escape = true;
|
||||
|
@ -176,7 +176,14 @@ class RegExpParser {
|
||||
bool ParseHexEscape(int length, uc32* value);
|
||||
bool ParseUnicodeEscape(uc32* value);
|
||||
bool ParseUnlimitedLengthHexNumber(int max_value, uc32* value);
|
||||
bool ParsePropertyClass(ZoneList<CharacterRange>* result, bool negate);
|
||||
|
||||
bool ParsePropertyClassName(std::vector<char>* name_1,
|
||||
std::vector<char>* name_2);
|
||||
bool AddPropertyClassRange(ZoneList<CharacterRange>* add_to, bool negate,
|
||||
const std::vector<char>& name_1,
|
||||
const std::vector<char>& name_2);
|
||||
|
||||
RegExpTree* GetPropertySequence(const std::vector<char>& name_1);
|
||||
RegExpTree* ParseCharacterClass(const RegExpBuilder* state);
|
||||
|
||||
uc32 ParseOctalLiteral();
|
||||
|
@ -0,0 +1,266 @@
|
||||
// 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}'));
|
@ -0,0 +1,20 @@
|
||||
// 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_Keycap_Sequence}/u;
|
||||
|
||||
assertTrue(re.test('#\uFE0F\u20E3'));
|
||||
assertTrue(re.test('9\uFE0F\u20E3'));
|
||||
assertTrue(re.test('0\uFE0F\u20E3'));
|
||||
assertTrue(re.test('1\uFE0F\u20E3'));
|
||||
assertTrue(re.test('2\uFE0F\u20E3'));
|
||||
assertTrue(re.test('3\uFE0F\u20E3'));
|
||||
assertTrue(re.test('*\uFE0F\u20E3'));
|
||||
assertTrue(re.test('5\uFE0F\u20E3'));
|
||||
assertTrue(re.test('6\uFE0F\u20E3'));
|
||||
assertTrue(re.test('7\uFE0F\u20E3'));
|
||||
assertTrue(re.test('8\uFE0F\u20E3'));
|
||||
assertTrue(re.test('4\uFE0F\u20E3'));
|
@ -0,0 +1,538 @@
|
||||
// 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_Modifier_Sequence}/u;
|
||||
|
||||
assertTrue(re.test('\u261D\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F9DD}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u261D\u{1F3FD}'));
|
||||
assertTrue(re.test('\u261D\u{1F3FE}'));
|
||||
assertTrue(re.test('\u261D\u{1F3FF}'));
|
||||
assertTrue(re.test('\u26F9\u{1F3FB}'));
|
||||
assertTrue(re.test('\u26F9\u{1F3FC}'));
|
||||
assertTrue(re.test('\u26F9\u{1F3FD}'));
|
||||
assertTrue(re.test('\u26F9\u{1F3FE}'));
|
||||
assertTrue(re.test('\u26F9\u{1F3FF}'));
|
||||
assertTrue(re.test('\u270A\u{1F3FB}'));
|
||||
assertTrue(re.test('\u270A\u{1F3FC}'));
|
||||
assertTrue(re.test('\u270A\u{1F3FD}'));
|
||||
assertTrue(re.test('\u270A\u{1F3FE}'));
|
||||
assertTrue(re.test('\u270A\u{1F3FF}'));
|
||||
assertTrue(re.test('\u270B\u{1F3FB}'));
|
||||
assertTrue(re.test('\u270B\u{1F3FC}'));
|
||||
assertTrue(re.test('\u270B\u{1F3FD}'));
|
||||
assertTrue(re.test('\u270B\u{1F3FE}'));
|
||||
assertTrue(re.test('\u270B\u{1F3FF}'));
|
||||
assertTrue(re.test('\u270C\u{1F3FB}'));
|
||||
assertTrue(re.test('\u270C\u{1F3FC}'));
|
||||
assertTrue(re.test('\u270C\u{1F3FD}'));
|
||||
assertTrue(re.test('\u270C\u{1F3FE}'));
|
||||
assertTrue(re.test('\u270C\u{1F3FF}'));
|
||||
assertTrue(re.test('\u270D\u{1F3FB}'));
|
||||
assertTrue(re.test('\u270D\u{1F3FC}'));
|
||||
assertTrue(re.test('\u270D\u{1F3FD}'));
|
||||
assertTrue(re.test('\u270D\u{1F3FE}'));
|
||||
assertTrue(re.test('\u270D\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F385}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F385}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F385}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F385}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F385}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F3C2}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F3C2}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F3C2}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F3C2}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F3C2}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F3C3}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F3C3}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F3C3}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F3C3}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F3C3}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F3C4}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F3C4}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F3C4}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F3C4}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F3C4}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F3C7}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F3C7}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F3C7}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F3C7}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F3C7}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F3CA}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F3CA}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F3CA}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F3CA}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F3CA}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F3CB}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F3CB}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F3CB}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F3CB}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F3CB}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F3CC}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F3CC}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F3CC}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F3CC}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F3CC}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F442}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F442}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F442}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F442}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F442}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F443}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F443}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F443}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F443}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F443}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F446}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F446}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F446}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F446}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F446}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F447}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F447}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F447}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F447}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F447}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F448}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F448}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F448}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F448}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F448}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F449}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F449}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F449}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F449}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F449}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F44A}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F44A}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F44A}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F44A}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F44A}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F44B}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F44B}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F44B}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F44B}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F44B}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F44C}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F44C}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F44C}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F44C}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F44C}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F44D}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F44D}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F44D}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F44D}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F44D}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F44E}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F44E}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F44E}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F44E}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F44E}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F44F}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F44F}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F44F}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F44F}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F44F}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F450}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F450}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F450}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F450}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F450}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F466}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F466}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F466}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F466}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F466}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F467}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F467}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F467}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F467}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F467}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F46E}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F46E}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F46E}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F46E}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F46E}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F470}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F470}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F470}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F470}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F470}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F471}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F471}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F471}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F471}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F471}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F472}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F472}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F472}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F472}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F472}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F473}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F473}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F473}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F473}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F473}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F474}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F474}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F474}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F474}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F474}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F475}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F475}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F475}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F475}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F475}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F476}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F476}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F476}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F476}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F476}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F477}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F477}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F477}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F477}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F477}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F478}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F478}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F478}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F478}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F478}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F47C}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F47C}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F47C}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F47C}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F47C}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F481}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F481}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F481}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F481}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F481}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F482}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F482}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F482}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F482}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F482}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F483}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F483}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F483}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F483}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F483}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F485}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F485}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F485}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F485}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F485}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F486}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F486}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F486}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F486}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F486}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F487}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F487}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F487}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F487}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F487}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F4AA}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F4AA}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F4AA}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F4AA}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F4AA}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F574}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F574}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F574}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F574}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F574}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F575}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F575}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F575}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F575}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F575}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F57A}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F57A}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F57A}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F57A}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F57A}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F590}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F590}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F590}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F590}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F590}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u261D\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F595}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F595}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F595}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F595}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F596}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F596}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F596}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F596}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F596}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F645}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F645}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F645}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F645}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F645}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F646}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F646}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F646}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F646}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F646}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F647}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F647}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F647}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F647}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F647}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F64B}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F64B}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F64B}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F64B}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F64B}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F64C}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F64C}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F64C}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F64C}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F64C}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F64D}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F64D}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F64D}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F64D}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F64D}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F64E}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F64E}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F64E}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F64E}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F64E}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F64F}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F64F}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F64F}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F64F}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F64F}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F6A3}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F6A3}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F6A3}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F6A3}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F6A3}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F6B4}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F6B4}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F6B4}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F6B4}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F6B4}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F6B5}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F6B5}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F6B5}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F6B5}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F6B5}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F6B6}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F6B6}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F6B6}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F6B6}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F6B6}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F6C0}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F6C0}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F6C0}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F6C0}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F6C0}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F6CC}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F6CC}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F6CC}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F6CC}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F6CC}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F918}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F918}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F918}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F918}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F918}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F919}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F919}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F919}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F919}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F919}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F91A}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F91A}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F91A}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F91A}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F91A}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F91B}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F91B}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F91B}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F91B}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F91B}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F91C}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F91C}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F91C}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F91C}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F91C}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F91E}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F91E}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F91E}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F91E}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F91E}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F91F}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F91F}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F91F}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F91F}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F91F}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F926}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F926}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F926}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F926}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F926}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F930}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F930}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F930}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F930}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F930}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F931}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F931}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F931}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F931}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F931}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F932}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F932}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F932}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F932}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F932}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F933}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F933}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F933}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F933}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F933}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F934}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F934}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F934}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F934}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F934}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F935}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F935}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F935}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F935}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F935}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F936}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F936}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F936}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F936}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F936}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F937}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F937}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F937}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F937}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F937}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F938}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F938}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F938}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F938}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F938}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F939}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F939}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F939}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F939}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F939}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F93D}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F93D}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F93D}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F93D}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F93D}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F93E}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F93E}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F93E}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F93E}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F93E}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F9B5}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F9B5}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F9B5}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F9B5}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F9B5}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F9B6}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F9B6}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F9B6}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F9B6}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F9B6}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F9B8}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F9B8}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F9B8}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F9B8}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F9B8}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F9B9}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F9B9}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F9B9}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F9B9}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F9B9}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F9D1}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F9D1}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F9D1}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F9D1}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F9D1}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F9D2}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F9D2}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F9D2}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F9D2}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F9D2}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F9D3}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F9D3}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F9D3}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F9D3}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F9D3}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F9D4}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F9D4}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F9D4}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F9D4}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F9D4}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F9D5}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F9D5}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F9D5}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F9D5}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F9D5}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F9D6}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F9D6}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F9D6}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F9D6}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F9D6}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F9D7}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F9D7}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F9D7}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F9D7}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F9D7}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F9D8}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F9D8}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F9D8}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F9D8}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F9D8}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F9D9}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F9D9}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F9D9}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F9D9}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F9D9}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F9DA}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F9DA}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F9DA}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F9DA}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F9DA}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F9DB}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F9DB}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F9DB}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F9DB}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F9DB}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F9DC}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F9DC}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F9DC}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F9DC}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F9DC}\u{1F3FF}'));
|
||||
assertTrue(re.test('\u{1F9DD}\u{1F3FB}'));
|
||||
assertTrue(re.test('\u{1F9DD}\u{1F3FC}'));
|
||||
assertTrue(re.test('\u{1F9DD}\u{1F3FD}'));
|
||||
assertTrue(re.test('\u{1F9DD}\u{1F3FE}'));
|
||||
assertTrue(re.test('\u{1F595}\u{1F3FB}'));
|
@ -0,0 +1,11 @@
|
||||
// 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_Tag_Sequence}/u;
|
||||
|
||||
assertTrue(re.test('\u{1F3F4}\u{E0067}\u{E0062}\u{E0065}\u{E006E}\u{E0067}\u{E007F}'));
|
||||
assertTrue(re.test('\u{1F3F4}\u{E0067}\u{E0062}\u{E0073}\u{E0063}\u{E0074}\u{E007F}'));
|
||||
assertTrue(re.test('\u{1F3F4}\u{E0067}\u{E0062}\u{E0077}\u{E006C}\u{E0073}\u{E007F}'));
|
@ -0,0 +1,782 @@
|
||||
// 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_ZWJ_Sequence}/u;
|
||||
|
||||
assertTrue(re.test('\u{1F468}\u200D\u2764\uFE0F\u200D\u{1F468}'));
|
||||
assertTrue(re.test('\u{1F441}\uFE0F\u200D\u{1F5E8}\uFE0F'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F466}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F466}\u200D\u{1F466}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F467}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F467}\u200D\u{1F466}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F467}\u200D\u{1F467}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F468}\u200D\u{1F466}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F468}\u200D\u{1F466}\u200D\u{1F466}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F468}\u200D\u{1F467}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F468}\u200D\u{1F467}\u200D\u{1F466}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F468}\u200D\u{1F467}\u200D\u{1F467}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F469}\u200D\u{1F466}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F469}\u200D\u{1F466}\u200D\u{1F466}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F469}\u200D\u{1F467}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F469}\u200D\u{1F467}\u200D\u{1F466}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F469}\u200D\u{1F467}\u200D\u{1F467}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u2764\uFE0F\u200D\u{1F468}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u2764\uFE0F\u200D\u{1F469}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F469}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F466}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F466}\u200D\u{1F466}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F467}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F467}\u200D\u{1F466}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F467}\u200D\u{1F467}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F469}\u200D\u{1F466}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F469}\u200D\u{1F466}\u200D\u{1F466}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F469}\u200D\u{1F467}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F469}\u200D\u{1F467}\u200D\u{1F466}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F469}\u200D\u{1F467}\u200D\u{1F467}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u2695\uFE0F'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u2696\uFE0F'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u2708\uFE0F'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F33E}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F373}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F393}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F3A4}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F3A8}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F3EB}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F3ED}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F4BB}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F4BC}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F527}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F52C}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F680}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F692}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F9B0}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F9B1}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F9B2}'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u{1F9B3}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FB}\u200D\u2695\uFE0F'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FB}\u200D\u2696\uFE0F'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FB}\u200D\u2708\uFE0F'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FB}\u200D\u{1F33E}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FB}\u200D\u{1F373}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FB}\u200D\u{1F393}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FB}\u200D\u{1F3A4}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FB}\u200D\u{1F3A8}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FB}\u200D\u{1F3EB}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FB}\u200D\u{1F3ED}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FB}\u200D\u{1F4BB}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FB}\u200D\u{1F4BC}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FB}\u200D\u{1F527}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FB}\u200D\u{1F52C}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FB}\u200D\u{1F680}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FB}\u200D\u{1F692}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FB}\u200D\u{1F9B0}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FB}\u200D\u{1F9B1}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FB}\u200D\u{1F9B2}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FB}\u200D\u{1F9B3}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FC}\u200D\u2695\uFE0F'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FC}\u200D\u2696\uFE0F'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FC}\u200D\u2708\uFE0F'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FC}\u200D\u{1F33E}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FC}\u200D\u{1F373}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FC}\u200D\u{1F393}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FC}\u200D\u{1F3A4}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FC}\u200D\u{1F3A8}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FC}\u200D\u{1F3EB}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FC}\u200D\u{1F3ED}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FC}\u200D\u{1F4BB}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FC}\u200D\u{1F4BC}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FC}\u200D\u{1F527}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FC}\u200D\u{1F52C}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FC}\u200D\u{1F680}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FC}\u200D\u{1F692}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FC}\u200D\u{1F9B0}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FC}\u200D\u{1F9B1}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FC}\u200D\u{1F9B2}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FC}\u200D\u{1F9B3}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FD}\u200D\u2695\uFE0F'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FD}\u200D\u2696\uFE0F'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FD}\u200D\u2708\uFE0F'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FD}\u200D\u{1F33E}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FD}\u200D\u{1F373}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FD}\u200D\u{1F393}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FD}\u200D\u{1F3A4}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FD}\u200D\u{1F3A8}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FD}\u200D\u{1F3EB}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FD}\u200D\u{1F3ED}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FD}\u200D\u{1F4BB}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FD}\u200D\u{1F4BC}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FD}\u200D\u{1F527}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FD}\u200D\u{1F52C}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FD}\u200D\u{1F680}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FD}\u200D\u{1F692}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FD}\u200D\u{1F9B0}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FD}\u200D\u{1F9B1}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FD}\u200D\u{1F9B2}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FD}\u200D\u{1F9B3}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FE}\u200D\u2695\uFE0F'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FE}\u200D\u2696\uFE0F'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FE}\u200D\u2708\uFE0F'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FE}\u200D\u{1F33E}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FE}\u200D\u{1F373}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FE}\u200D\u{1F393}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FE}\u200D\u{1F3A4}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FE}\u200D\u{1F3A8}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FE}\u200D\u{1F3EB}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FE}\u200D\u{1F3ED}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FE}\u200D\u{1F4BB}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FE}\u200D\u{1F4BC}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FE}\u200D\u{1F527}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FE}\u200D\u{1F52C}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FE}\u200D\u{1F680}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FE}\u200D\u{1F692}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FE}\u200D\u{1F9B0}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FE}\u200D\u{1F9B1}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FE}\u200D\u{1F9B2}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FE}\u200D\u{1F9B3}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FF}\u200D\u2695\uFE0F'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FF}\u200D\u2696\uFE0F'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FF}\u200D\u2708\uFE0F'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FF}\u200D\u{1F33E}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FF}\u200D\u{1F373}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FF}\u200D\u{1F393}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FF}\u200D\u{1F3A4}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FF}\u200D\u{1F3A8}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FF}\u200D\u{1F3EB}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FF}\u200D\u{1F3ED}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FF}\u200D\u{1F4BB}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FF}\u200D\u{1F4BC}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FF}\u200D\u{1F527}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FF}\u200D\u{1F52C}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FF}\u200D\u{1F680}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FF}\u200D\u{1F692}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FF}\u200D\u{1F9B0}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FF}\u200D\u{1F9B1}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FF}\u200D\u{1F9B2}'));
|
||||
assertTrue(re.test('\u{1F468}\u{1F3FF}\u200D\u{1F9B3}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u2695\uFE0F'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u2696\uFE0F'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u2708\uFE0F'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F33E}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F373}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F393}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F3A4}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F3A8}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F3EB}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F3ED}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F4BB}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F4BC}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F527}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F52C}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F680}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F692}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F9B0}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F9B1}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F9B2}'));
|
||||
assertTrue(re.test('\u{1F469}\u200D\u{1F9B3}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FB}\u200D\u2695\uFE0F'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FB}\u200D\u2696\uFE0F'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FB}\u200D\u2708\uFE0F'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FB}\u200D\u{1F33E}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FB}\u200D\u{1F373}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FB}\u200D\u{1F393}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FB}\u200D\u{1F3A4}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FB}\u200D\u{1F3A8}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FB}\u200D\u{1F3EB}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FB}\u200D\u{1F3ED}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FB}\u200D\u{1F4BB}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FB}\u200D\u{1F4BC}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FB}\u200D\u{1F527}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FB}\u200D\u{1F52C}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FB}\u200D\u{1F680}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FB}\u200D\u{1F692}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FB}\u200D\u{1F9B0}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FB}\u200D\u{1F9B1}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FB}\u200D\u{1F9B2}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FB}\u200D\u{1F9B3}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FC}\u200D\u2695\uFE0F'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FC}\u200D\u2696\uFE0F'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FC}\u200D\u2708\uFE0F'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FC}\u200D\u{1F33E}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FC}\u200D\u{1F373}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FC}\u200D\u{1F393}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FC}\u200D\u{1F3A4}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FC}\u200D\u{1F3A8}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FC}\u200D\u{1F3EB}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FC}\u200D\u{1F3ED}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FC}\u200D\u{1F4BB}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FC}\u200D\u{1F4BC}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FC}\u200D\u{1F527}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FC}\u200D\u{1F52C}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FC}\u200D\u{1F680}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FC}\u200D\u{1F692}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FC}\u200D\u{1F9B0}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FC}\u200D\u{1F9B1}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FC}\u200D\u{1F9B2}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FC}\u200D\u{1F9B3}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FD}\u200D\u2695\uFE0F'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FD}\u200D\u2696\uFE0F'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FD}\u200D\u2708\uFE0F'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FD}\u200D\u{1F33E}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FD}\u200D\u{1F373}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FD}\u200D\u{1F393}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FD}\u200D\u{1F3A4}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FD}\u200D\u{1F3A8}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FD}\u200D\u{1F3EB}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FD}\u200D\u{1F3ED}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FD}\u200D\u{1F4BB}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FD}\u200D\u{1F4BC}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FD}\u200D\u{1F527}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FD}\u200D\u{1F52C}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FD}\u200D\u{1F680}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FD}\u200D\u{1F692}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FD}\u200D\u{1F9B0}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FD}\u200D\u{1F9B1}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FD}\u200D\u{1F9B2}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FD}\u200D\u{1F9B3}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FE}\u200D\u2695\uFE0F'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FE}\u200D\u2696\uFE0F'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FE}\u200D\u2708\uFE0F'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FE}\u200D\u{1F33E}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FE}\u200D\u{1F373}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FE}\u200D\u{1F393}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FE}\u200D\u{1F3A4}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FE}\u200D\u{1F3A8}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FE}\u200D\u{1F3EB}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FE}\u200D\u{1F3ED}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FE}\u200D\u{1F4BB}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FE}\u200D\u{1F4BC}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FE}\u200D\u{1F527}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FE}\u200D\u{1F52C}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FE}\u200D\u{1F680}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FE}\u200D\u{1F692}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FE}\u200D\u{1F9B0}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FE}\u200D\u{1F9B1}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FE}\u200D\u{1F9B2}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FE}\u200D\u{1F9B3}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FF}\u200D\u2695\uFE0F'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FF}\u200D\u2696\uFE0F'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FF}\u200D\u2708\uFE0F'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FF}\u200D\u{1F33E}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FF}\u200D\u{1F373}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FF}\u200D\u{1F393}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FF}\u200D\u{1F3A4}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FF}\u200D\u{1F3A8}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FF}\u200D\u{1F3EB}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FF}\u200D\u{1F3ED}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FF}\u200D\u{1F4BB}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FF}\u200D\u{1F4BC}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FF}\u200D\u{1F527}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FF}\u200D\u{1F52C}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FF}\u200D\u{1F680}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FF}\u200D\u{1F692}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FF}\u200D\u{1F9B0}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FF}\u200D\u{1F9B1}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FF}\u200D\u{1F9B2}'));
|
||||
assertTrue(re.test('\u{1F469}\u{1F3FF}\u200D\u{1F9B3}'));
|
||||
assertTrue(re.test('\u{1F46E}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F46E}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F46E}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F46E}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F46E}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F46E}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F46E}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F46E}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F46E}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F46E}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F46E}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F46E}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F471}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F471}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F471}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F471}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F471}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F471}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F471}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F471}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F471}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F471}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F471}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F471}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F473}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F473}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F473}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F473}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F473}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F473}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F473}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F473}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F473}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F473}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F473}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F473}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F477}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F477}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F477}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F477}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F477}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F477}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F477}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F477}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F477}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F477}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F477}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F477}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F482}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F482}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F482}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F482}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F482}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F482}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F482}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F482}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F482}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F482}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F482}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F482}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F575}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F575}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F575}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F575}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F575}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F575}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F575}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F575}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F575}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F575}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F575}\uFE0F\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F575}\uFE0F\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D9}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D9}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D9}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D9}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D9}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D9}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D9}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D9}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D9}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D9}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D9}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D9}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DA}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DA}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DA}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DA}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DA}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DA}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DA}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DA}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DA}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DA}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DA}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DA}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DB}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DB}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DB}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DB}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DB}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DB}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DB}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DB}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DB}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DB}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DC}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DC}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DC}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DC}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DC}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DC}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F468}\u200D\u2764\uFE0F\u200D\u{1F48B}\u200D\u{1F468}'));
|
||||
assertTrue(re.test('\u{1F9DC}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DC}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DC}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DD}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DD}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DD}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DD}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DD}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DD}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DD}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DD}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DD}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DD}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u26F9\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u26F9\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u26F9\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u26F9\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u26F9\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u26F9\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u26F9\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u26F9\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u26F9\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u26F9\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u26F9\uFE0F\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u26F9\uFE0F\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3C3}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3C3}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3C3}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3C3}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3C3}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3C3}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3C3}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3C3}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3C3}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3C3}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3C3}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3C3}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3C4}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3C4}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3C4}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3C4}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3C4}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3C4}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3C4}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3C4}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3C4}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3C4}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3C4}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3C4}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CA}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CA}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CA}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CA}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CA}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CA}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CA}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CA}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CA}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CA}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CA}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CA}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CB}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CB}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CB}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CB}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CB}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CB}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CB}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CB}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CB}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CB}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CB}\uFE0F\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CB}\uFE0F\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CC}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CC}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CC}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CC}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CC}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CC}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CC}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CC}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CC}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CC}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CC}\uFE0F\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3CC}\uFE0F\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F46F}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F46F}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F486}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F486}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F486}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F486}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F486}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F486}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F486}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F486}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F486}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F486}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F486}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F486}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F487}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F487}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F487}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F487}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F487}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F487}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F487}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F487}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F487}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F487}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F487}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F487}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6A3}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6A3}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6A3}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6A3}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6A3}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6A3}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6A3}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6A3}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6A3}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6A3}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6A3}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6A3}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B4}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B4}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B4}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B4}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B4}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B4}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B4}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B4}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B4}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B4}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B4}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B4}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B5}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B5}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B5}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B5}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B5}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B5}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B5}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B5}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B5}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B5}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B5}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B5}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B6}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B6}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B6}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B6}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B6}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B6}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B6}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B6}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B6}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B6}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B6}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F6B6}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F938}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F938}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F938}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F938}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F938}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F938}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F938}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F938}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F938}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F938}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F938}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F938}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F939}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F939}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F939}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F939}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F939}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F939}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F939}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F939}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F939}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F939}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F939}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F939}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F93C}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F93C}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F93D}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F93D}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F93D}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F93D}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F93D}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F93D}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F93D}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F93D}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F93D}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F93D}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F93D}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F93D}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F93E}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F93E}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F93E}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F93E}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F93E}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F93E}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F93E}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F93E}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F93E}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F93E}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F93E}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F93E}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D6}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D6}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D6}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D6}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D6}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D6}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D6}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D6}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D6}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D6}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D6}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D6}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D7}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D7}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D7}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D7}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D7}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D7}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D7}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D7}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D7}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D7}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D7}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D7}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D8}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D8}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D8}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D8}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D8}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D8}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D8}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D8}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D8}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D8}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D8}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9D8}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F481}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F481}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F481}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F481}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F481}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F481}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F481}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F481}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F481}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F481}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F481}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F481}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F645}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F645}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F645}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F645}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F645}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F645}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F645}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F645}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F645}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F645}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F645}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F645}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F646}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F646}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F646}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F646}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F646}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F646}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F646}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F646}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F646}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F646}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F646}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F646}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F647}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F647}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F647}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F647}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F647}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F647}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F647}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F647}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F647}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F647}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F647}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F647}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64B}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64B}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64B}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64B}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64B}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64B}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64B}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64B}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64B}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64B}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64B}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64B}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64D}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64D}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64D}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64D}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64D}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64D}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64D}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64D}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64D}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64D}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64D}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64D}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64E}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64E}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64E}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64E}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64E}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64E}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64E}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64E}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64E}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64E}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64E}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F64E}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F926}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F926}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F926}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F926}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F926}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F926}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F926}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F926}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F926}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F926}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F926}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F926}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F937}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F937}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F937}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F937}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F937}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F937}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F937}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F937}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F937}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F937}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F937}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F937}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9B8}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9B8}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9B8}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9B8}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9B8}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9B8}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9B8}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9B8}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9B8}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9B8}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9B8}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9B8}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9B9}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9B9}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9B9}\u{1F3FB}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9B9}\u{1F3FB}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9B9}\u{1F3FC}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9B9}\u{1F3FC}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9B9}\u{1F3FD}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9B9}\u{1F3FD}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9B9}\u{1F3FE}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9B9}\u{1F3FE}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9B9}\u{1F3FF}\u200D\u2640\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9B9}\u{1F3FF}\u200D\u2642\uFE0F'));
|
||||
assertTrue(re.test('\u{1F3F3}\uFE0F\u200D\u{1F308}'));
|
||||
assertTrue(re.test('\u{1F3F4}\u200D\u2620\uFE0F'));
|
||||
assertTrue(re.test('\u{1F9DC}\u{1F3FE}\u200D\u2640\uFE0F'));
|
@ -34,3 +34,5 @@ assertThrows("/\\p{In}/u");
|
||||
assertThrows("/\\pI/u");
|
||||
assertThrows("/\\p{I}/u");
|
||||
assertThrows("/\\p{CJK}/u");
|
||||
|
||||
assertThrows("/\\p{}/u");
|
||||
|
57
test/mjsunit/harmony/regexp-property-sequence.js
Normal file
57
test/mjsunit/harmony/regexp-property-sequence.js
Normal file
@ -0,0 +1,57 @@
|
||||
// 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
|
||||
|
||||
// Normal usage.
|
||||
assertDoesNotThrow("/\\p{Emoji_Flag_Sequence}/u");
|
||||
assertTrue(/\p{Emoji_Flag_Sequence}/u.test("\u{1F1E9}\u{1F1EA}"));
|
||||
|
||||
assertDoesNotThrow("/\\p{Emoji_Keycap_Sequence}/u");
|
||||
assertTrue(/\p{Emoji_Keycap_Sequence}/u.test("\u0023\ufe0f\u20e3"));
|
||||
|
||||
assertDoesNotThrow("/\\p{Emoji_Keycap_Sequence}/u");
|
||||
assertFalse(/\p{Emoji_Keycap_Sequence}/u.test("\u0022\ufe0f\u20e3"));
|
||||
|
||||
assertDoesNotThrow("/\\p{Emoji_Modifier_Sequence}/u");
|
||||
assertTrue(/\p{Emoji_Modifier_Sequence}/u.test("\u26f9\u{1f3ff}"));
|
||||
|
||||
assertDoesNotThrow("/\\p{Emoji_ZWJ_Sequence}/u");
|
||||
assertTrue(/\p{Emoji_ZWJ_Sequence}/u.test("\u{1F468}\u{200D}\u{1F467}"));
|
||||
|
||||
// Without unicode flag.
|
||||
assertDoesNotThrow("/\\p{Emoji_Flag_Sequence}/");
|
||||
assertFalse(/\p{Emoji_Flag_Sequence}/.test("\u{1F1E9}\u{1F1EA}"));
|
||||
assertTrue(/\p{Emoji_Flag_Sequence}/.test("\\p{Emoji_Flag_Sequence}"));
|
||||
|
||||
// Negated and/or inside a character class.
|
||||
assertThrows("/\\P{Emoji_Flag_Sequence}/u");
|
||||
assertThrows("/[\\p{Emoji_Flag_Sequence}]/u");
|
||||
assertThrows("/[\\P{Emoji_Flag_Sequence}]/u");
|
||||
assertThrows("/[\\w\\p{Emoji_Flag_Sequence}]/u");
|
||||
assertThrows("/[\\w\\P{Emoji_Flag_Sequence}]/u");
|
||||
|
||||
// Two regional indicators, but not a country.
|
||||
assertFalse(/\p{Emoji_Flag_Sequence}/u.test("\u{1F1E6}\u{1F1E6}"));
|
||||
|
||||
// ZWJ sequence as in two ZWJ elements joined by a ZWJ, but not in the list.
|
||||
assertFalse(/\p{Emoji_ZWJ_Sequence}/u.test("\u{1F467}\u{200D}\u{1F468}"));
|
||||
|
||||
// More complex regexp
|
||||
assertEquals(
|
||||
["country flag: \u{1F1E6}\u{1F1F9}"],
|
||||
/Country Flag: \p{Emoji_Flag_Sequence}/iu.exec(
|
||||
"this is an example of a country flag: \u{1F1E6}\u{1F1F9} is Austra"));
|
||||
assertEquals(
|
||||
["country flag: \u{1F1E6}\u{1F1F9}", "\u{1F1E6}\u{1F1F9}"],
|
||||
/Country Flag: (\p{Emoji_Flag_Sequence})/iu.exec(
|
||||
"this is an example of a country flag: \u{1F1E6}\u{1F1F9} is Austra"));
|
||||
assertEquals(
|
||||
["country flag: \u{1F1E6}\u{1F1F9}"],
|
||||
/Country Flag: ..(?<=\p{Emoji_Flag_Sequence})/iu.exec(
|
||||
"this is an example of a country flag: \u{1F1E6}\u{1F1F9} is Austra"));
|
||||
assertEquals(
|
||||
["flag: \u{1F1E6}\u{1F1F9}", "\u{1F1E6}\u{1F1F9}"],
|
||||
/Flag: ..(?<=(\p{Emoji_Flag_Sequence})|\p{Emoji_Keycap_Sequence})/iu.exec(
|
||||
"this is an example of a country flag: \u{1F1E6}\u{1F1F9} is Austra"));
|
Loading…
Reference in New Issue
Block a user