diff --git a/htmltest/check-link_test.go b/htmltest/check-link_test.go index ff8ac2f..bcc32ac 100644 --- a/htmltest/check-link_test.go +++ b/htmltest/check-link_test.go @@ -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.")