mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-26 13:29:12 +00:00
Remove scalars and graphemes from Str
This commit is contained in:
parent
65738acb26
commit
b48fa0698a
26 changed files with 140 additions and 12721 deletions
|
@ -67,7 +67,7 @@ fn str_split_empty_delimiter() {
|
|||
r#"
|
||||
when List.first (Str.split "JJJ" "") is
|
||||
Ok str ->
|
||||
Str.countGraphemes str
|
||||
Str.countUtf8Bytes str
|
||||
|
||||
_ ->
|
||||
1729
|
||||
|
@ -97,7 +97,7 @@ fn str_split_bigger_delimiter_small_str() {
|
|||
r#"
|
||||
when List.first (Str.split "JJJ" "JJJJ there") is
|
||||
Ok str ->
|
||||
Str.countGraphemes str
|
||||
Str.countUtf8Bytes str
|
||||
|
||||
_ ->
|
||||
1729
|
||||
|
@ -528,21 +528,6 @@ fn str_starts_with() {
|
|||
assert_evals_to!(r#"Str.startsWith "" "hello world""#, false, bool);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(any(feature = "gen-llvm", feature = "gen-dev"))]
|
||||
fn str_starts_with_scalar() {
|
||||
assert_evals_to!(
|
||||
&format!(r#"Str.startsWithScalar "foobar" {}"#, 'f' as u32),
|
||||
true,
|
||||
bool
|
||||
);
|
||||
assert_evals_to!(
|
||||
&format!(r#"Str.startsWithScalar "zoobar" {}"#, 'f' as u32),
|
||||
false,
|
||||
bool
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(any(feature = "gen-llvm", feature = "gen-dev"))]
|
||||
fn str_ends_with() {
|
||||
|
@ -551,28 +536,6 @@ fn str_ends_with() {
|
|||
assert_evals_to!(r#"Str.endsWith "" "hello world""#, false, bool);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(any(feature = "gen-llvm", feature = "gen-dev"))]
|
||||
fn str_count_graphemes_small_str() {
|
||||
assert_evals_to!(r#"Str.countGraphemes "å🤔""#, 2, usize);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(any(feature = "gen-llvm", feature = "gen-dev"))]
|
||||
fn str_count_graphemes_three_js() {
|
||||
assert_evals_to!(r#"Str.countGraphemes "JJJ""#, 3, usize);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(any(feature = "gen-llvm", feature = "gen-dev"))]
|
||||
fn str_count_graphemes_big_str() {
|
||||
assert_evals_to!(
|
||||
r#"Str.countGraphemes "6🤔å🤔e¥🤔çppkd🙃1jdal🦯asdfa∆ltråø˚waia8918.,🏅jjc""#,
|
||||
45,
|
||||
usize
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(any(feature = "gen-llvm", feature = "gen-dev"))]
|
||||
fn str_starts_with_same_big_str() {
|
||||
|
@ -1625,103 +1588,6 @@ fn issue_2811() {
|
|||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(any(feature = "gen-llvm", feature = "gen-dev"))]
|
||||
fn to_scalar_1_byte() {
|
||||
assert_evals_to!(
|
||||
indoc!(
|
||||
r#"
|
||||
Str.toScalars "R"
|
||||
"#
|
||||
),
|
||||
RocList::from_slice(&[82u32]),
|
||||
RocList<u32>
|
||||
);
|
||||
|
||||
assert_evals_to!(
|
||||
indoc!(
|
||||
r#"
|
||||
Str.toScalars "Roc!"
|
||||
"#
|
||||
),
|
||||
RocList::from_slice(&[82u32, 111, 99, 33]),
|
||||
RocList<u32>
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(any(feature = "gen-llvm", feature = "gen-dev"))]
|
||||
fn to_scalar_2_byte() {
|
||||
assert_evals_to!(
|
||||
indoc!(
|
||||
r#"
|
||||
Str.toScalars "é"
|
||||
"#
|
||||
),
|
||||
RocList::from_slice(&[233u32]),
|
||||
RocList<u32>
|
||||
);
|
||||
|
||||
assert_evals_to!(
|
||||
indoc!(
|
||||
r#"
|
||||
Str.toScalars "Cäfés"
|
||||
"#
|
||||
),
|
||||
RocList::from_slice(&[67u32, 228, 102, 233, 115]),
|
||||
RocList<u32>
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(any(feature = "gen-llvm", feature = "gen-dev"))]
|
||||
fn to_scalar_3_byte() {
|
||||
assert_evals_to!(
|
||||
indoc!(
|
||||
r#"
|
||||
Str.toScalars "鹏"
|
||||
"#
|
||||
),
|
||||
RocList::from_slice(&[40527u32]),
|
||||
RocList<u32>
|
||||
);
|
||||
|
||||
assert_evals_to!(
|
||||
indoc!(
|
||||
r#"
|
||||
Str.toScalars "鹏很有趣"
|
||||
"#
|
||||
),
|
||||
RocList::from_slice(&[40527u32, 24456, 26377, 36259]),
|
||||
RocList<u32>
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(any(feature = "gen-llvm", feature = "gen-dev"))]
|
||||
fn to_scalar_4_byte() {
|
||||
// from https://design215.com/toolbox/utf8-4byte-characters.php
|
||||
assert_evals_to!(
|
||||
indoc!(
|
||||
r#"
|
||||
Str.toScalars "𒀀"
|
||||
"#
|
||||
),
|
||||
RocList::from_slice(&[73728u32]),
|
||||
RocList<u32>
|
||||
);
|
||||
|
||||
assert_evals_to!(
|
||||
indoc!(
|
||||
r#"
|
||||
Str.toScalars "𒀀𒀁"
|
||||
"#
|
||||
),
|
||||
RocList::from_slice(&[73728u32, 73729u32]),
|
||||
RocList<u32>
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(any(feature = "gen-llvm", feature = "gen-dev"))]
|
||||
fn str_split_first_one_char() {
|
||||
|
@ -1909,34 +1775,6 @@ fn str_walk_utf8_with_index() {
|
|||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(feature = "gen-llvm")]
|
||||
fn str_append_scalar() {
|
||||
assert_evals_to!(
|
||||
indoc!(
|
||||
r#"
|
||||
Str.appendScalar "abcd" 'A'
|
||||
"#
|
||||
),
|
||||
RocStr::from("abcdA"),
|
||||
RocStr
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(any(feature = "gen-llvm", feature = "gen-dev"))]
|
||||
fn str_walk_scalars() {
|
||||
assert_evals_to!(
|
||||
indoc!(
|
||||
r#"
|
||||
Str.walkScalars "abcd" [] List.append
|
||||
"#
|
||||
),
|
||||
RocList::from_slice(&['a', 'b', 'c', 'd']),
|
||||
RocList<char>
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(feature = "gen-llvm-wasm")]
|
||||
fn llvm_wasm_str_layout() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue