summaryrefslogtreecommitdiff
path: root/cli/doc/tests.rs
diff options
context:
space:
mode:
authoruki00a <uki00a@gmail.com>2020-06-09 21:12:47 +0900
committerGitHub <noreply@github.com>2020-06-09 14:12:47 +0200
commit2b2d800b43e548e615abef80278d20dda5ae7d42 (patch)
tree3fadab0dbce29b7ce98f08a43fb3ca0bed2924bb /cli/doc/tests.rs
parentb3e189ee4f97a9d6c5b7a2164d644aa4c7fa4b79 (diff)
feat(doc): display all overloads in cli details view (#6186)
Diffstat (limited to 'cli/doc/tests.rs')
-rw-r--r--cli/doc/tests.rs48
1 files changed, 48 insertions, 0 deletions
diff --git a/cli/doc/tests.rs b/cli/doc/tests.rs
index f3355a520..8886f76be 100644
--- a/cli/doc/tests.rs
+++ b/cli/doc/tests.rs
@@ -1557,3 +1557,51 @@ export type numLit = 5;
]);
assert_eq!(actual, expected_json);
}
+
+#[tokio::test]
+async fn filter_nodes_by_name() {
+ use super::find_nodes_by_name_recursively;
+ let source_code = r#"
+export namespace Deno {
+ export class Buffer {}
+ export function test(options: object): void;
+ export function test(name: string, fn: Function): void;
+ export function test(name: string | object, fn?: Function): void {}
+}
+
+export namespace Deno {
+ export namespace Inner {
+ export function a(): void {}
+ export const b = 100;
+ }
+}
+"#;
+ let loader =
+ TestLoader::new(vec![("test.ts".to_string(), source_code.to_string())]);
+ let entries = DocParser::new(loader).parse("test.ts").await.unwrap();
+
+ let found =
+ find_nodes_by_name_recursively(entries.clone(), "Deno".to_string());
+ assert_eq!(found.len(), 2);
+ assert_eq!(found[0].name, "Deno".to_string());
+ assert_eq!(found[1].name, "Deno".to_string());
+
+ let found =
+ find_nodes_by_name_recursively(entries.clone(), "Deno.test".to_string());
+ assert_eq!(found.len(), 3);
+ assert_eq!(found[0].name, "test".to_string());
+ assert_eq!(found[1].name, "test".to_string());
+ assert_eq!(found[2].name, "test".to_string());
+
+ let found =
+ find_nodes_by_name_recursively(entries.clone(), "Deno.Inner.a".to_string());
+ assert_eq!(found.len(), 1);
+ assert_eq!(found[0].name, "a".to_string());
+
+ let found =
+ find_nodes_by_name_recursively(entries.clone(), "Deno.test.a".to_string());
+ assert_eq!(found.len(), 0);
+
+ let found = find_nodes_by_name_recursively(entries, "a.b.c".to_string());
+ assert_eq!(found.len(), 0);
+}