mirror of
https://github.com/denoland/deno.git
synced 2024-11-29 16:30:56 -05:00
fix(cli/doc): doc printer missing [] around tuple type (#6523)
This commit is contained in:
parent
89ebe2079b
commit
660f86f1a2
2 changed files with 19 additions and 1 deletions
|
@ -206,7 +206,7 @@ fn render_ts_type(ts_type: doc::ts_type::TsTypeDef) -> String {
|
|||
TsTypeDefKind::This => "this".to_string(),
|
||||
TsTypeDefKind::Tuple => {
|
||||
let tuple = ts_type.tuple.unwrap();
|
||||
let mut output = "".to_string();
|
||||
let mut output = "[".to_string();
|
||||
if !tuple.is_empty() {
|
||||
for ts_type in tuple {
|
||||
output += render_ts_type(ts_type).as_str();
|
||||
|
@ -214,6 +214,7 @@ fn render_ts_type(ts_type: doc::ts_type::TsTypeDef) -> String {
|
|||
}
|
||||
output.truncate(output.len() - 2);
|
||||
}
|
||||
output += "]";
|
||||
output
|
||||
}
|
||||
TsTypeDefKind::TypeLiteral => {
|
||||
|
|
|
@ -1605,3 +1605,20 @@ export namespace Deno {
|
|||
let found = find_nodes_by_name_recursively(entries, "a.b.c".to_string());
|
||||
assert_eq!(found.len(), 0);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn generic_instantiated_with_tuple_type() {
|
||||
let source_code = r#"
|
||||
interface Generic<T> {}
|
||||
export function f(): Generic<[string, number]> { return {}; }
|
||||
"#;
|
||||
|
||||
let loader =
|
||||
TestLoader::new(vec![("test.ts".to_string(), source_code.to_string())]);
|
||||
let entries = DocParser::new(loader).parse("test.ts").await.unwrap();
|
||||
|
||||
assert!(colors::strip_ansi_codes(
|
||||
crate::doc::printer::format(entries).as_str()
|
||||
)
|
||||
.contains("Generic<[string, number]>"))
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue