Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
d684778a
R
rails
项目概览
张重言
/
rails
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rails
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d684778a
编写于
10月 20, 2018
作者:
F
Francesco Rodríguez
提交者:
Jeremy Daer
10月 20, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Use String#truncate_bytes inside Multibyte::Chars#limit
上级
5943a556
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
1 addition
and
31 deletion
+1
-31
activesupport/lib/active_support/multibyte/chars.rb
activesupport/lib/active_support/multibyte/chars.rb
+1
-13
activesupport/test/multibyte_chars_test.rb
activesupport/test/multibyte_chars_test.rb
+0
-18
未找到文件。
activesupport/lib/active_support/multibyte/chars.rb
浏览文件 @
d684778a
...
...
@@ -122,7 +122,7 @@ def reverse
#
# 'こんにちは'.mb_chars.limit(7).to_s # => "こん"
def
limit
(
limit
)
slice
(
0
...
translate_offset
(
limit
)
)
truncate_bytes
(
limit
,
omission:
nil
)
end
# Capitalizes the first letter of every word, when possible.
...
...
@@ -208,18 +208,6 @@ def as_json(options = nil) #:nodoc:
private
def
translate_offset
(
byte_offset
)
return
nil
if
byte_offset
.
nil?
return
0
if
@wrapped_string
==
""
begin
@wrapped_string
.
byteslice
(
0
...
byte_offset
).
unpack
(
"U*"
).
length
rescue
ArgumentError
byte_offset
-=
1
retry
end
end
def
chars
(
string
)
self
.
class
.
new
(
string
)
end
...
...
activesupport/test/multibyte_chars_test.rb
浏览文件 @
d684778a
...
...
@@ -785,21 +785,3 @@ def string_from_classes(classes)
end
.
pack
(
"U*"
)
end
end
class
MultibyteInternalsTest
<
ActiveSupport
::
TestCase
include
MultibyteTestHelpers
test
"Chars translates a character offset to a byte offset"
do
example
=
chars
(
"Puisque c'était son erreur, il m'a aidé"
)
[
[
0
,
0
],
[
3
,
3
],
[
12
,
11
],
[
14
,
13
],
[
41
,
39
]
].
each
do
|
byte_offset
,
character_offset
|
assert_equal
character_offset
,
example
.
send
(
:translate_offset
,
byte_offset
),
"Expected byte offset
#{
byte_offset
}
to translate to
#{
character_offset
}
"
end
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录