[ruby/prism] Add windows-1250 encoding

a362535ca4
This commit is contained in:
Kevin Newton 2023-11-11 22:52:23 -05:00 committed by git
parent aebc6e8b8d
commit ca789e7232
4 changed files with 134 additions and 76 deletions

View file

@ -4,45 +4,49 @@ require_relative "test_helper"
module Prism
class EncodingTest < TestCase
%w[
ascii
ascii-8bit
big5
binary
euc-jp
gbk
iso-8859-1
iso-8859-2
iso-8859-3
iso-8859-4
iso-8859-5
iso-8859-6
iso-8859-7
iso-8859-8
iso-8859-9
iso-8859-10
iso-8859-11
iso-8859-13
iso-8859-14
iso-8859-15
iso-8859-16
koi8-r
shift_jis
sjis
us-ascii
utf-8
utf8-mac
windows-31j
windows-1251
windows-1252
CP1251
CP1252
CP51932
].each do |encoding|
define_method "test_encoding_#{encoding}" do
result = Prism.parse("# encoding: #{encoding}\n'string'")
actual = result.value.statements.body.first.unescaped.encoding
assert_equal Encoding.find(encoding), actual
[
"US-ASCII",
"ASCII-8BIT",
"Big5",
"CP51932",
"EUC-JP",
"GBK",
"ISO-8859-1",
"ISO-8859-2",
"ISO-8859-3",
"ISO-8859-4",
"ISO-8859-5",
"ISO-8859-6",
"ISO-8859-7",
"ISO-8859-8",
"ISO-8859-9",
"ISO-8859-10",
"ISO-8859-11",
"ISO-8859-13",
"ISO-8859-14",
"ISO-8859-15",
"ISO-8859-16",
"KOI8-R",
"Shift_JIS",
"Windows-31J",
"UTF-8",
"UTF8-MAC",
"Windows-1250",
"Windows-1251",
"Windows-1252",
].each do |canonical_name|
encoding = Encoding.find(canonical_name)
encoding.names.each do |name|
# Even though UTF-8-MAC is an alias for UTF8-MAC, CRuby treats it as
# UTF-8. So we'll skip this test.
next if name == "UTF-8-MAC"
define_method "test_encoding_#{name}" do
result = Prism.parse("# encoding: #{name}\n'string'")
actual = result.value.statements.body.first.unescaped.encoding
assert_equal encoding, actual
end
end
end