Initial public release of Warp.
Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
use super::*;
|
||||
|
||||
impl BracketChar {
|
||||
fn from_char(c: char) -> Self {
|
||||
Self::try_from(c).unwrap_or_else(|_| panic!("invalid bracket char: {c}"))
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_vim_find_matching_bracket() {
|
||||
assert_eq!(
|
||||
vim_find_matching_bracket("", &BracketChar::from_char('('), 0),
|
||||
None,
|
||||
);
|
||||
assert_eq!(
|
||||
vim_find_matching_bracket("foo(bar)baz", &BracketChar::from_char('('), 3),
|
||||
Some(7.into())
|
||||
);
|
||||
assert_eq!(
|
||||
vim_find_matching_bracket("foo(bar)baz", &BracketChar::from_char(')'), 7),
|
||||
Some(3.into())
|
||||
);
|
||||
assert_eq!(
|
||||
vim_find_matching_bracket("foo(bar)baz", &BracketChar::from_char('('), 8),
|
||||
None
|
||||
);
|
||||
assert_eq!(
|
||||
vim_find_matching_bracket("foo[bar]baz", &BracketChar::from_char('('), 3),
|
||||
None
|
||||
);
|
||||
assert_eq!(
|
||||
vim_find_matching_bracket("foo(bar(hello) world)baz", &BracketChar::from_char('('), 3),
|
||||
Some(20.into())
|
||||
);
|
||||
assert_eq!(
|
||||
vim_find_matching_bracket("foo(bar(hello) world)baz", &BracketChar::from_char(')'), 20),
|
||||
Some(3.into())
|
||||
);
|
||||
assert_eq!(
|
||||
vim_find_matching_bracket(
|
||||
"foo(bar(h[(])llo) world)baz",
|
||||
&BracketChar::from_char('('),
|
||||
3
|
||||
),
|
||||
Some(23.into())
|
||||
);
|
||||
assert_eq!(
|
||||
vim_find_matching_bracket(
|
||||
"function foo() {\necho hello world\necho hi\n}\nfoo",
|
||||
&BracketChar::from_char('{'),
|
||||
15
|
||||
),
|
||||
Some(42.into())
|
||||
);
|
||||
assert_eq!(
|
||||
vim_find_matching_bracket(
|
||||
"function foo() {\necho hello world\necho hi\n}\nfoo",
|
||||
&BracketChar::from_char('}'),
|
||||
42
|
||||
),
|
||||
Some(15.into())
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user