Move repeating matches and unmatches to keyword arguments

And default to the corresponding instance variables.
This commit is contained in:
Nobuyoshi Nakada 2023-10-01 18:55:58 +09:00
parent 3ae44035dd
commit b0d7935e80
No known key found for this signature in database
GPG Key ID: 3582D74E1FEE4465

View File

@ -1360,84 +1360,86 @@ class TestRegexp < Test::Unit::TestCase
end end
def test_unicode_age def test_unicode_age
assert_unicode_age("\u261c", %w"6.0 1.1", []) assert_unicode_age("\u261c", matches: %w"6.0 1.1", unmatches: [])
assert_unicode_age("\u31f6", %w"6.0 3.2", %w"3.1 3.0 1.1") assert_unicode_age("\u31f6", matches: %w"6.0 3.2", unmatches: %w"3.1 3.0 1.1")
assert_unicode_age("\u2754", %w"6.0", %w"5.0 4.0 3.0 2.0 1.1") assert_unicode_age("\u2754", matches: %w"6.0", unmatches: %w"5.0 4.0 3.0 2.0 1.1")
assert_unicode_age("\u32FF", %w"12.1", %w"12.0") assert_unicode_age("\u32FF", matches: %w"12.1", unmatches: %w"12.0")
end end
def test_unicode_age_14_0 def test_unicode_age_14_0
matches = %w"14.0" @matches = %w"14.0"
unmatches = %w"13.0" @unmatches = %w"13.0"
assert_unicode_age("\u{10570}", matches, unmatches)
assert_unicode_age("\u9FFF", matches, unmatches) assert_unicode_age("\u{10570}")
assert_unicode_age("\u{2A6DF}", matches, unmatches) assert_unicode_age("\u9FFF")
assert_unicode_age("\u{2B738}", matches, unmatches) assert_unicode_age("\u{2A6DF}")
assert_unicode_age("\u{2B738}")
end end
def test_unicode_age_15_0 def test_unicode_age_15_0
matches = %w"15.0" @matches = %w"15.0"
unmatches = %w"14.0" @unmatches = %w"14.0"
assert_unicode_age("\u{0CF3}", matches, unmatches,
assert_unicode_age("\u{0CF3}",
"KANNADA SIGN COMBINING ANUSVARA ABOVE RIGHT") "KANNADA SIGN COMBINING ANUSVARA ABOVE RIGHT")
assert_unicode_age("\u{0ECE}", matches, unmatches, "LAO YAMAKKAN") assert_unicode_age("\u{0ECE}", "LAO YAMAKKAN")
assert_unicode_age("\u{10EFD}".."\u{10EFF}", matches, unmatches, assert_unicode_age("\u{10EFD}".."\u{10EFF}",
"ARABIC SMALL LOW WORD SAKTA..ARABIC SMALL LOW WORD MADDA") "ARABIC SMALL LOW WORD SAKTA..ARABIC SMALL LOW WORD MADDA")
assert_unicode_age("\u{1123F}".."\u{11241}", matches, unmatches, assert_unicode_age("\u{1123F}".."\u{11241}",
"KHOJKI LETTER QA..KHOJKI VOWEL SIGN VOCALIC R") "KHOJKI LETTER QA..KHOJKI VOWEL SIGN VOCALIC R")
assert_unicode_age("\u{11B00}".."\u{11B09}", matches, unmatches, assert_unicode_age("\u{11B00}".."\u{11B09}",
"DEVANAGARI HEAD MARK..DEVANAGARI SIGN MINDU") "DEVANAGARI HEAD MARK..DEVANAGARI SIGN MINDU")
assert_unicode_age("\u{11F00}".."\u{11F10}", matches, unmatches, assert_unicode_age("\u{11F00}".."\u{11F10}",
"KAWI SIGN CANDRABINDU..KAWI LETTER O") "KAWI SIGN CANDRABINDU..KAWI LETTER O")
assert_unicode_age("\u{11F12}".."\u{11F3A}", matches, unmatches, assert_unicode_age("\u{11F12}".."\u{11F3A}",
"KAWI LETTER KA..KAWI VOWEL SIGN VOCALIC R") "KAWI LETTER KA..KAWI VOWEL SIGN VOCALIC R")
assert_unicode_age("\u{11F3E}".."\u{11F59}", matches, unmatches, assert_unicode_age("\u{11F3E}".."\u{11F59}",
"KAWI VOWEL SIGN E..KAWI DIGIT NINE") "KAWI VOWEL SIGN E..KAWI DIGIT NINE")
assert_unicode_age("\u{1342F}", matches, unmatches, assert_unicode_age("\u{1342F}",
"EGYPTIAN HIEROGLYPH V011D") "EGYPTIAN HIEROGLYPH V011D")
assert_unicode_age("\u{13439}".."\u{1343F}", matches, unmatches, assert_unicode_age("\u{13439}".."\u{1343F}",
"EGYPTIAN HIEROGLYPH INSERT AT MIDDLE..EGYPTIAN HIEROGLYPH END WALLED ENCLOSURE") "EGYPTIAN HIEROGLYPH INSERT AT MIDDLE..EGYPTIAN HIEROGLYPH END WALLED ENCLOSURE")
assert_unicode_age("\u{13440}".."\u{13455}", matches, unmatches, assert_unicode_age("\u{13440}".."\u{13455}",
"EGYPTIAN HIEROGLYPH MIRROR HORIZONTALLY..EGYPTIAN HIEROGLYPH MODIFIER DAMAGED") "EGYPTIAN HIEROGLYPH MIRROR HORIZONTALLY..EGYPTIAN HIEROGLYPH MODIFIER DAMAGED")
assert_unicode_age("\u{1B132}", matches, unmatches, "HIRAGANA LETTER SMALL KO") assert_unicode_age("\u{1B132}", "HIRAGANA LETTER SMALL KO")
assert_unicode_age("\u{1B155}", matches, unmatches, "KATAKANA LETTER SMALL KO") assert_unicode_age("\u{1B155}", "KATAKANA LETTER SMALL KO")
assert_unicode_age("\u{1D2C0}".."\u{1D2D3}", matches, unmatches, assert_unicode_age("\u{1D2C0}".."\u{1D2D3}",
"KAKTOVIK NUMERAL ZERO..KAKTOVIK NUMERAL NINETEEN") "KAKTOVIK NUMERAL ZERO..KAKTOVIK NUMERAL NINETEEN")
assert_unicode_age("\u{1DF25}".."\u{1DF2A}", matches, unmatches, assert_unicode_age("\u{1DF25}".."\u{1DF2A}",
"LATIN SMALL LETTER D WITH MID-HEIGHT LEFT HOOK..LATIN SMALL LETTER T WITH MID-HEIGHT LEFT HOOK") "LATIN SMALL LETTER D WITH MID-HEIGHT LEFT HOOK..LATIN SMALL LETTER T WITH MID-HEIGHT LEFT HOOK")
assert_unicode_age("\u{1E030}".."\u{1E06D}", matches, unmatches, assert_unicode_age("\u{1E030}".."\u{1E06D}",
"MODIFIER LETTER CYRILLIC SMALL A..MODIFIER LETTER CYRILLIC SMALL STRAIGHT U WITH STROKE") "MODIFIER LETTER CYRILLIC SMALL A..MODIFIER LETTER CYRILLIC SMALL STRAIGHT U WITH STROKE")
assert_unicode_age("\u{1E08F}", matches, unmatches, assert_unicode_age("\u{1E08F}",
"COMBINING CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I") "COMBINING CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I")
assert_unicode_age("\u{1E4D0}".."\u{1E4F9}", matches, unmatches, assert_unicode_age("\u{1E4D0}".."\u{1E4F9}",
"NAG MUNDARI LETTER O..NAG MUNDARI DIGIT NINE") "NAG MUNDARI LETTER O..NAG MUNDARI DIGIT NINE")
assert_unicode_age("\u{1F6DC}", matches, unmatches, "WIRELESS") assert_unicode_age("\u{1F6DC}", "WIRELESS")
assert_unicode_age("\u{1F774}".."\u{1F776}", matches, unmatches, assert_unicode_age("\u{1F774}".."\u{1F776}",
"LOT OF FORTUNE..LUNAR ECLIPSE") "LOT OF FORTUNE..LUNAR ECLIPSE")
assert_unicode_age("\u{1F77B}".."\u{1F77F}", matches, unmatches, assert_unicode_age("\u{1F77B}".."\u{1F77F}",
"HAUMEA..ORCUS") "HAUMEA..ORCUS")
assert_unicode_age("\u{1F7D9}", matches, unmatches, "NINE POINTED WHITE STAR") assert_unicode_age("\u{1F7D9}", "NINE POINTED WHITE STAR")
assert_unicode_age("\u{1FA75}".."\u{1FA77}", matches, unmatches, assert_unicode_age("\u{1FA75}".."\u{1FA77}",
"LIGHT BLUE HEART..PINK HEART") "LIGHT BLUE HEART..PINK HEART")
assert_unicode_age("\u{1FA87}".."\u{1FA88}", matches, unmatches, assert_unicode_age("\u{1FA87}".."\u{1FA88}",
"MARACAS..FLUTE") "MARACAS..FLUTE")
assert_unicode_age("\u{1FAAD}".."\u{1FAAF}", matches, unmatches, assert_unicode_age("\u{1FAAD}".."\u{1FAAF}",
"FOLDING HAND FAN..KHANDA") "FOLDING HAND FAN..KHANDA")
assert_unicode_age("\u{1FABB}".."\u{1FABD}", matches, unmatches, assert_unicode_age("\u{1FABB}".."\u{1FABD}",
"HYACINTH..WING") "HYACINTH..WING")
assert_unicode_age("\u{1FABF}", matches, unmatches, "GOOSE") assert_unicode_age("\u{1FABF}", "GOOSE")
assert_unicode_age("\u{1FACE}".."\u{1FACF}", matches, unmatches, assert_unicode_age("\u{1FACE}".."\u{1FACF}",
"MOOSE..DONKEY") "MOOSE..DONKEY")
assert_unicode_age("\u{1FADA}".."\u{1FADB}", matches, unmatches, assert_unicode_age("\u{1FADA}".."\u{1FADB}",
"GINGER ROOT..PEA POD") "GINGER ROOT..PEA POD")
assert_unicode_age("\u{1FAE8}", matches, unmatches, "SHAKING FACE") assert_unicode_age("\u{1FAE8}", "SHAKING FACE")
assert_unicode_age("\u{1FAF7}".."\u{1FAF8}", matches, unmatches, assert_unicode_age("\u{1FAF7}".."\u{1FAF8}",
"LEFTWARDS PUSHING HAND..RIGHTWARDS PUSHING HAND") "LEFTWARDS PUSHING HAND..RIGHTWARDS PUSHING HAND")
assert_unicode_age("\u{2B739}", matches, unmatches, assert_unicode_age("\u{2B739}",
"CJK UNIFIED IDEOGRAPH-2B739") "CJK UNIFIED IDEOGRAPH-2B739")
assert_unicode_age("\u{31350}".."\u{323AF}", matches, unmatches, assert_unicode_age("\u{31350}".."\u{323AF}",
"CJK UNIFIED IDEOGRAPH-31350..CJK UNIFIED IDEOGRAPH-323AF") "CJK UNIFIED IDEOGRAPH-31350..CJK UNIFIED IDEOGRAPH-323AF")
end end
@ -1445,7 +1447,7 @@ class TestRegexp < Test::Unit::TestCase
h[age] = [/\A\p{age=#{age}}+\z/u, /\A\P{age=#{age}}+\z/u].freeze h[age] = [/\A\p{age=#{age}}+\z/u, /\A\P{age=#{age}}+\z/u].freeze
end end
def assert_unicode_age(char, matches, unmatches, mesg = nil) def assert_unicode_age(char, mesg = nil, matches: @matches, unmatches: @unmatches)
if Range === char if Range === char
char = char.to_a.join("") char = char.to_a.join("")
end end