fix incorrect folder name for julia-0.6.x
Former-commit-id: ef2c7401e0876f22d2f7762d182cfbcd5a7d9c70
This commit is contained in:
47
julia-0.6.3/share/julia/test/unicode/utf8.jl
Normal file
47
julia-0.6.3/share/julia/test/unicode/utf8.jl
Normal file
@@ -0,0 +1,47 @@
|
||||
# This file is a part of Julia. License is MIT: https://julialang.org/license
|
||||
|
||||
@testset "cesu8 input" begin
|
||||
let ch = 0x10000
|
||||
for hi = 0xd800:0xdbff
|
||||
for lo = 0xdc00:0xdfff
|
||||
@test convert(String, Vector{UInt8}(String(Char[hi, lo]))) == string(Char(ch))
|
||||
ch += 1
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@testset "string indexing" begin
|
||||
let str = String(b"this is a test\xed\x80")
|
||||
@test next(str, 15) == ('\ufffd', 16)
|
||||
@test_throws BoundsError getindex(str, 0:3)
|
||||
@test_throws BoundsError getindex(str, 17:18)
|
||||
@test_throws BoundsError getindex(str, 2:17)
|
||||
@test_throws UnicodeError getindex(str, 16:17)
|
||||
@test string(Char(0x110000)) == "\ufffd"
|
||||
end
|
||||
end
|
||||
|
||||
@testset "string reverse" begin
|
||||
@test reverse("") == ""
|
||||
@test reverse("a") == "a"
|
||||
@test reverse("abc") == "cba"
|
||||
@test reverse("xyz\uff\u800\uffff\U10ffff") == "\U10ffff\uffff\u800\uffzyx"
|
||||
for str in [
|
||||
b"xyz\xc1",
|
||||
b"xyz\xd0",
|
||||
b"xyz\xe0",
|
||||
b"xyz\xed\x80",
|
||||
b"xyz\xf0",
|
||||
b"xyz\xf0\x80",
|
||||
b"xyz\xf0\x80\x80"
|
||||
]
|
||||
@test_throws UnicodeError reverse(String(str))
|
||||
end
|
||||
end
|
||||
|
||||
@testset "string convert" begin
|
||||
@test convert(String, b"this is a test\xed\x80\x80") == "this is a test\ud000"
|
||||
## Specifically check UTF-8 string whose lead byte is same as a surrogate
|
||||
@test convert(String, b"\xed\x9f\xbf") == "\ud7ff"
|
||||
end
|
||||
Reference in New Issue
Block a user