Skip to content

Commit

Permalink
Add additional tests on usage of IgnoreURLs for internal links
Browse files Browse the repository at this point in the history
  • Loading branch information
wjdp committed Mar 28, 2022
1 parent 095de9a commit 4266055
Showing 1 changed file with 27 additions and 4 deletions.
31 changes: 27 additions & 4 deletions htmltest/check-link_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -516,20 +516,43 @@ func TestAnchorInternalHashWeird(t *testing.T) {
tExpectIssueCount(t, hT, 0)
}

func TestAnchorInternalUrl(t *testing.T) {
// fails for internal linking writen not in IgnoreInternalURLs (#168)
func TestAnchorInternalUrlDoesNotExist(t *testing.T) {
// fails for internal link not in IgnoreInternalURLs (#168)
hT := tTestFile("fixtures/links/link_directory_internal_invalid.html")
tExpectIssueCount(t, hT, 1)
tExpectIssue(t, hT, "target does not exist", 1)
}

func TestAnchorInternalUrlOption(t *testing.T) {
// passes for internal linking writen in IgnoreInternalURLs option (#168)
func TestAnchorInternalUrlIgnoreUsingIgnoreInternalURLs(t *testing.T) {
// passes for internal link in IgnoreInternalURLs option (#168)
hT := tTestFileOpts("fixtures/links/link_directory_internal_valid.html",
map[string]interface{}{"IgnoreInternalURLs": []interface{}{"/misc/js/script.js"}})
tExpectIssueCount(t, hT, 0)
}

func TestAnchorInternalUrlIgnoreInternalURLsIsStrict(t *testing.T) {
// fails as IgnoreInternalURLs requires a string match
hT := tTestFileOpts("fixtures/links/link_directory_internal_valid.html",
map[string]interface{}{"IgnoreInternalURLs": []interface{}{"misc/js/script.js"}})
tExpectIssueCount(t, hT, 1)
tExpectIssue(t, hT, "target does not exist", 1)
}

func TestAnchorInternalUrlIgnoreUsingIgnoreURLs(t *testing.T) {
// passes for internal link in IgnoreURLs option using regex
hT := tTestFileOpts("fixtures/links/link_directory_internal_valid.html",
map[string]interface{}{"IgnoreURLs": []interface{}{"^/misc/js/script.js$"}})
tExpectIssueCount(t, hT, 0)
}

func TestAnchorInternalUrlNotIgnoreUsingIgnoreURLs(t *testing.T) {
// fails for internal link in when doesn't match strict regex in IgnoreURLs
hT := tTestFileOpts("fixtures/links/link_directory_internal_invalid.html",
map[string]interface{}{"IgnoreURLs": []interface{}{"^/misc/js/script.js$"}})
tExpectIssueCount(t, hT, 1)
tExpectIssue(t, hT, "target does not exist", 1)
}

func TestAnchorMultipleProblems(t *testing.T) {
// finds a mix of broken and unbroken links
t.Skip("Only single problem, and an hash which is not yet supported.")
Expand Down

0 comments on commit 4266055

Please sign in to comment.