From 34b43c2f9e132183813e40da59fe0f9686b02d5a Mon Sep 17 00:00:00 2001 From: Ayato Suzuki <54477535+P-SiZK@users.noreply.github.com> Date: Wed, 22 Jan 2025 18:21:51 +0900 Subject: [PATCH 1/2] Refactor codepen embed code tests --- spec/qiita/markdown/processor_spec.rb | 67 ++++++++++----------------- 1 file changed, 24 insertions(+), 43 deletions(-) diff --git a/spec/qiita/markdown/processor_spec.rb b/spec/qiita/markdown/processor_spec.rb index a7a7487..88124aa 100644 --- a/spec/qiita/markdown/processor_spec.rb +++ b/spec/qiita/markdown/processor_spec.rb @@ -1406,52 +1406,33 @@ end shared_examples_for "override embed code attributes" do |allowed:| - context "with HTML embed code for CodePen using old script url" do - let(:markdown) do - <<-MARKDOWN.strip_heredoc -

- - MARKDOWN - end - - if allowed - it "does not sanitize embed code" do - should eq <<-HTML.strip_heredoc -

- - HTML - end - else - it "forces async attribute on script" do - should eq <<-HTML.strip_heredoc + [ + "https://production-assets.codepen.io/assets/embed/ei.js", + "https://static.codepen.io/assets/embed/ei.js", + "https://cpwebassets.codepen.io/assets/embed/ei.js", + ].each do |script_url| + context "with HTML embed code for CodePen using script url `#{script_url}`" do + let(:markdown) do + <<-MARKDOWN.strip_heredoc

- - HTML + + MARKDOWN end - end - end - context "with HTML embed code for CodePen" do - let(:markdown) do - <<-MARKDOWN.strip_heredoc -

- - MARKDOWN - end - - if allowed - it "does not sanitize embed code" do - should eq <<-HTML.strip_heredoc -

- - HTML - end - else - it "forces async attribute on script" do - should eq <<-HTML.strip_heredoc -

- - HTML + if allowed + it "does not sanitize embed code" do + should eq <<-HTML.strip_heredoc +

+ + HTML + end + else + it "forces async attribute on script" do + should eq <<-HTML.strip_heredoc +

+ + HTML + end end end end From 3e0e0b15381a021bc2c2f3ea58525a41b679e70e Mon Sep 17 00:00:00 2001 From: Ayato Suzuki <54477535+P-SiZK@users.noreply.github.com> Date: Wed, 22 Jan 2025 16:10:22 +0900 Subject: [PATCH 2/2] Add new codepen embed script url public.codepenassets.com --- lib/qiita/markdown/embed/code_pen.rb | 1 + spec/qiita/markdown/processor_spec.rb | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/qiita/markdown/embed/code_pen.rb b/lib/qiita/markdown/embed/code_pen.rb index 76349fa..bfea6f0 100644 --- a/lib/qiita/markdown/embed/code_pen.rb +++ b/lib/qiita/markdown/embed/code_pen.rb @@ -6,6 +6,7 @@ module CodePen "https://production-assets.codepen.io/assets/embed/ei.js", "https://static.codepen.io/assets/embed/ei.js", "https://cpwebassets.codepen.io/assets/embed/ei.js", + "https://public.codepenassets.com/embed/index.js", ] CLASS_NAME = %w[codepen] DATA_ATTRIBUTES = %w[ diff --git a/spec/qiita/markdown/processor_spec.rb b/spec/qiita/markdown/processor_spec.rb index 88124aa..7cf76e4 100644 --- a/spec/qiita/markdown/processor_spec.rb +++ b/spec/qiita/markdown/processor_spec.rb @@ -1410,6 +1410,7 @@ "https://production-assets.codepen.io/assets/embed/ei.js", "https://static.codepen.io/assets/embed/ei.js", "https://cpwebassets.codepen.io/assets/embed/ei.js", + "https://public.codepenassets.com/embed/index.js", ].each do |script_url| context "with HTML embed code for CodePen using script url `#{script_url}`" do let(:markdown) do