aboutsummaryrefslogtreecommitdiff
path: root/internal/reader/rewrite/rewriter_test.go
diff options
context:
space:
mode:
authorGravatar jvoisin <julien.voisin@dustri.org> 2024-02-27 12:58:08 +0100
committerGravatar Frédéric Guillot <f@miniflux.net> 2024-02-27 20:41:15 -0800
commitdb6ae707ef5b04e6d1bcc0a40fe15dcd96de4fb0 (patch)
tree2ffaad7c666c72b8c5e68ab2aa40687d251b99a6 /internal/reader/rewrite/rewriter_test.go
parent97feec8ebf450d449d0975076ae0e99d4b076a5f (diff)
downloadv2-db6ae707ef5b04e6d1bcc0a40fe15dcd96de4fb0.tar.gz
v2-db6ae707ef5b04e6d1bcc0a40fe15dcd96de4fb0.tar.zst
v2-db6ae707ef5b04e6d1bcc0a40fe15dcd96de4fb0.zip
Add some tests for add_image_title
I'm not sure if the behaviour is expected, but I didn't manage to get the content injection to work in my browser, so I guess it's alright?
Diffstat (limited to 'internal/reader/rewrite/rewriter_test.go')
-rw-r--r--internal/reader/rewrite/rewriter_test.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/internal/reader/rewrite/rewriter_test.go b/internal/reader/rewrite/rewriter_test.go
index 3910ccd4..fa2b765b 100644
--- a/internal/reader/rewrite/rewriter_test.go
+++ b/internal/reader/rewrite/rewriter_test.go
@@ -671,3 +671,35 @@ func TestAddHackerNewsLinksUsingOpener(t *testing.T) {
t.Errorf(`Not expected output: got "%+v" instead of "%+v"`, testEntry, controlEntry)
}
}
+
+func TestAddImageTitle(t *testing.T) {
+ testEntry := &model.Entry{
+ Title: `A title`,
+ Content: `
+ <img src="pif" title="pouf">
+ <img src="pif" title="pouf" alt='"onerror=alert(1) a="'>
+ <img src="pif" title="pouf" alt='&quot;onerror=alert(1) a=&quot'>
+ <img src="pif" title="pouf" alt=';&amp;quot;onerror=alert(1) a=;&amp;quot;'>
+ <img src="pif" alt="pouf" title='"onerror=alert(1) a="'>
+ <img src="pif" alt="pouf" title='&quot;onerror=alert(1) a=&quot'>
+ <img src="pif" alt="pouf" title=';&amp;quot;onerror=alert(1) a=;&amp;quot;'>
+ `,
+ }
+
+ controlEntry := &model.Entry{
+ Title: `A title`,
+ Content: `<figure><img src="pif" alt=""/><figcaption><p>pouf</p></figcaption></figure>
+ <figure><img src="pif" alt="" onerror="alert(1)" a=""/><figcaption><p>pouf</p></figcaption></figure>
+ <figure><img src="pif" alt="" onerror="alert(1)" a=""/><figcaption><p>pouf</p></figcaption></figure>
+ <figure><img src="pif" alt=";&#34;onerror=alert(1) a=;&#34;"/><figcaption><p>pouf</p></figcaption></figure>
+ <figure><img src="pif" alt="pouf"/><figcaption><p>&#34;onerror=alert(1) a=&#34;</p></figcaption></figure>
+ <figure><img src="pif" alt="pouf"/><figcaption><p>&#34;onerror=alert(1) a=&#34;</p></figcaption></figure>
+ <figure><img src="pif" alt="pouf"/><figcaption><p>;&amp;quot;onerror=alert(1) a=;&amp;quot;</p></figcaption></figure>
+ `,
+ }
+ Rewriter("https://example.org/article", testEntry, `add_image_title`)
+
+ if !reflect.DeepEqual(testEntry, controlEntry) {
+ t.Errorf(`Not expected output: got "%+v" instead of "%+v"`, testEntry, controlEntry)
+ }
+}