From 9bc47b25d3481caf7b1314e31427c9d5a84f1c53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A1n=20Enr=C3=ADquez?= Date: Tue, 6 Dec 2022 18:56:36 +0100 Subject: [PATCH] [#197] Golden tests --- src/Xrefcheck/Verify.hs | 19 +++++++++---------- tests/golden/check-local-refs/expected1.gold | 4 ++-- tests/golden/check-local-refs/expected2.gold | 2 +- tests/golden/check-local-refs/expected3.gold | 4 ++-- 4 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/Xrefcheck/Verify.hs b/src/Xrefcheck/Verify.hs index 4ab86678..e09a1661 100644 --- a/src/Xrefcheck/Verify.hs +++ b/src/Xrefcheck/Verify.hs @@ -415,17 +415,16 @@ verifyReference = retryVerification 0 $ if shouldCheckLocType mode rInfo then case rInfo of - RIFileLocal -> do - let fromRoot = "" - checkRef rAnchor root file fromRoot + RIFileLocal -> checkRef rAnchor root file "" RIFileRelative -> do + let relativeToRoot = getRelativeOrAbsoluteChild root (takeDirectory file) + toString rLink canonicalPath <- takeDirectory file toString rLink - checkRef rAnchor root canonicalPath fromRoot + checkRef rAnchor root canonicalPath relativeToRoot RIFileAbsolute -> do - canonicalPath <- root checkExternalResource config rLink RIOtherProtocol -> verifying pass else return mempty @@ -515,12 +514,12 @@ verifyReference isVirtual canonicalRoot = matchesGlobPatterns canonicalRoot (ecIgnoreLocalRefsTo cExclusions) - checkRef mAnchor canonicalRoot referredFile fromRoot = verifying $ + checkRef mAnchor canonicalRoot referredFile relativeToRoot = verifying $ unless (isVirtual canonicalRoot referredFile) do referredFileRelative <- case getRelativeChild canonicalRoot referredFile of Just ps -> pure ps - Nothing -> throwError (LocalFileOutsideRepo fromRoot) + Nothing -> throwError (LocalFileOutsideRepo relativeToRoot) mFileStatus <- tryGetFileStatus referredFileRelative referredFile case mFileStatus of diff --git a/tests/golden/check-local-refs/expected1.gold b/tests/golden/check-local-refs/expected1.gold index 592008a9..7b6b6631 100644 --- a/tests/golden/check-local-refs/expected1.gold +++ b/tests/golden/check-local-refs/expected1.gold @@ -24,7 +24,7 @@ - anchor: - File does not exist: - dir1/dir2/D2F2.md/ + dir1/dir2/D2F2.md ➥ In file dir1/dir2/d2f1.md bad reference (relative) at src:29:1-32: @@ -33,7 +33,7 @@ - anchor: - File does not exist: - dir1/dir2/../DIR2 + dir1/DIR2 ➥ In file dir1/dir2/d2f1.md bad reference (relative) at src:31:1-38: diff --git a/tests/golden/check-local-refs/expected2.gold b/tests/golden/check-local-refs/expected2.gold index 15b2113d..53b9c979 100644 --- a/tests/golden/check-local-refs/expected2.gold +++ b/tests/golden/check-local-refs/expected2.gold @@ -24,7 +24,7 @@ - anchor: - File does not exist: - dir2/D2F2.md/ + dir2/D2F2.md ➥ In file dir2/d2f1.md bad reference (relative) at src:29:1-32: diff --git a/tests/golden/check-local-refs/expected3.gold b/tests/golden/check-local-refs/expected3.gold index 4f231eda..2c92f771 100644 --- a/tests/golden/check-local-refs/expected3.gold +++ b/tests/golden/check-local-refs/expected3.gold @@ -24,9 +24,9 @@ - anchor: - File does not exist: - dir2/D2F2.md/ + dir2/D2F2.md - ➥ In file dir1/dir2/d2f1.md + ➥ In file dir2/d2f1.md bad reference (relative) at src:31:1-38: - text: "bad-anchor-rel-1" - link: d2f2.md