From 76f6a8f9df8401a38abb7c6b1ba2c34caaec8235 Mon Sep 17 00:00:00 2001
From: Nathan Sebhastian
{% codepen https://codepen.io/twhite96/pen/XKqrJX %}
+ default-tab{% codepen https://codepen.io/twhite96/pen/XKqrJX default-tab=js,result %}
+ Put executable code within a runkit liquid block, as follows:
{% runkit
// hidden setup JavaScript code goes in this preamble area
const hiddenVar = 42
%}
// visible, reader-editable JavaScript code goes here
console.log(hiddenVar)
{% endrunkit %}
diff --git a/spec/liquid_tags/codepen_tag_spec.rb b/spec/liquid_tags/codepen_tag_spec.rb
index 1f198d86e..d0122ed49 100644
--- a/spec/liquid_tags/codepen_tag_spec.rb
+++ b/spec/liquid_tags/codepen_tag_spec.rb
@@ -3,6 +3,7 @@ require "rails_helper"
RSpec.describe CodepenTag, type: :liquid_template do
describe "#link" do
let(:codepen_link) { "https://codepen.io/twhite96/pen/XKqrJX" }
+ let(:codepen_link_with_default_tab) { "https://codepen.io/twhite96/pen/XKqrJX default-tab=js,result" }
xss_links = %w(
//evil.com/?codepen.io
@@ -34,6 +35,12 @@ RSpec.describe CodepenTag, type: :liquid_template do
end.to raise_error(StandardError)
end
+ it "accepts codepen link with a default-tab parameter" do
+ expect do
+ generate_new_liquid(codepen_link_with_default_tab)
+ end.not_to raise_error
+ end
+
it "rejects XSS attempts" do
xss_links.each do |link|
expect { generate_new_liquid(link) }.to raise_error(StandardError)
diff --git a/spec/support/fixtures/approvals/codepen_liquid_tag.approved.html b/spec/support/fixtures/approvals/codepen_liquid_tag.approved.html
index 49e7330f3..9e00af07d 100644
--- a/spec/support/fixtures/approvals/codepen_liquid_tag.approved.html
+++ b/spec/support/fixtures/approvals/codepen_liquid_tag.approved.html
@@ -1,6 +1,6 @@
-
+