From d7623ebbb4e8eab3d43099abe7e6feee1c34a12e Mon Sep 17 00:00:00 2001 From: Razvan Nitu Date: Wed, 2 Feb 2022 15:57:00 +0200 Subject: [PATCH] Fix failing tester + add unittest for imports (#7) --- src/dscanner/imports.d | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/dscanner/imports.d b/src/dscanner/imports.d index d6a0be1..6fc4d87 100644 --- a/src/dscanner/imports.d +++ b/src/dscanner/imports.d @@ -124,3 +124,37 @@ void printImports(bool usingStdin, string[] args, string[] importPaths, bool rec foreach (resolved; resolvedLocations[]) writeln(resolved); } + +unittest +{ + import std.stdio; + import std.file; + import core.stdc.stdio; + + auto deleteme = "test.txt"; + File file = File(deleteme, "w"); + scope(exit) + { + assert(exists(deleteme)); + remove(deleteme); + } + + file.write(q{ + import std.stdio; + import std.fish : scales, head; + import DAGRON = std.experimental.dragon; + import std.file; + }); + + file.close(); + + auto importedFiles = new RedBlackTree!(string); + visitFile(false, deleteme, importedFiles); + + auto expected = new RedBlackTree!(string); + expected.insert("std.stdio"); + expected.insert("std.fish"); + expected.insert("std.file"); + expected.insert("std.experimental.dragon"); + assert(expected == importedFiles); +}