File tree Expand file tree Collapse file tree 4 files changed +47
-0
lines changed Expand file tree Collapse file tree 4 files changed +47
-0
lines changed Original file line number Diff line number Diff line change 12
12
require "qiita/markdown/embed/tweet"
13
13
require "qiita/markdown/embed/asciinema"
14
14
require "qiita/markdown/embed/youtube"
15
+ require "qiita/markdown/embed/google_drive_video"
15
16
require "qiita/markdown/embed/slide_share"
16
17
require "qiita/markdown/embed/google_slide"
17
18
require "qiita/markdown/embed/speeker_deck"
Original file line number Diff line number Diff line change
1
+ module Qiita
2
+ module Markdown
3
+ module Embed
4
+ module GoogleDriveVideo
5
+ SCRIPT_HOST = "drive.google.com" . freeze
6
+ end
7
+ end
8
+ end
9
+ end
Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ class FilterIframe
10
10
Embed ::GoogleSlide ::SCRIPT_HOST ,
11
11
Embed ::Docswell ::SCRIPT_HOSTS ,
12
12
Embed ::Figma ::SCRIPT_HOST ,
13
+ Embed ::GoogleDriveVideo ::SCRIPT_HOST ,
13
14
] . flatten . freeze
14
15
15
16
def self . call ( **args )
Original file line number Diff line number Diff line change 1520
1520
end
1521
1521
end
1522
1522
1523
+ context "with HTML embed code for Google Drive Video" do
1524
+ shared_examples "embed code googledrive example" do
1525
+ let ( :markdown ) do
1526
+ <<-MARKDOWN . strip_heredoc
1527
+ <iframe src="#{ url } " width="640" height="480" frameborder="0" allowfullscreen="true"></iframe>
1528
+ MARKDOWN
1529
+ end
1530
+ let ( :file_id ) { "DRIVE_FILE_ID_EXAMPLE" }
1531
+ let ( :url ) { "#{ scheme } //drive.google.com/file/d/#{ file_id } /preview" }
1532
+
1533
+ if allowed
1534
+ it "does not sanitize embed code" do
1535
+ should eq <<-HTML . strip_heredoc
1536
+ < iframe src ="#{ url } " width="640" height="480" frameborder="0" allowfullscreen="true"> </ iframe>
1537
+ HTML
1538
+ end
1539
+ else
1540
+ it "forces width attribute on iframe" do
1541
+ should eq <<-HTML . strip_heredoc
1542
+ < iframe src ="#{ url } " width="100%" height="480" frameborder="0" allowfullscreen="true"> </ iframe>
1543
+ HTML
1544
+ end
1545
+ end
1546
+ end
1547
+
1548
+ context "with scheme" do
1549
+ let ( :scheme ) { "https:" }
1550
+ include_examples "embed code googledrive example"
1551
+ end
1552
+
1553
+ context "without scheme" do
1554
+ let ( :scheme ) { "" }
1555
+ include_examples "embed code googledrive example"
1556
+ end
1557
+ end
1558
+
1523
1559
context "with HTML embed code for SlideShare" do
1524
1560
shared_examples "embed code slideshare example" do
1525
1561
let ( :markdown ) do
You can’t perform that action at this time.
0 commit comments