⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.72
Server IP:
41.128.143.86
Server:
Linux host.raqmix.cloud 6.8.0-1025-azure #30~22.04.1-Ubuntu SMP Wed Mar 12 15:28:20 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.3.23
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
lib
/
ruby
/
gems
/
3.0.0
/
gems
/
rss-0.2.9
/
test
/
View File Name :
test_parser_1.0.rb
# frozen_string_literal: false require_relative "rss-testcase" require "rss/1.0" require "rss/dublincore" module RSS class TestParser10 < TestCase def test_RDF assert_ns("", RDF::URI) do Parser.parse(<<-EOR) #{make_xmldecl}
EOR end assert_ns("", RDF::URI) do Parser.parse(<<-EOR) #{make_xmldecl}
EOR end assert_ns("rdf", RDF::URI) do Parser.parse(<<-EOR) #{make_xmldecl}
EOR end assert_parse(<<-EOR, :missing_tag, "channel", "RDF") #{make_xmldecl}
EOR assert_parse(<<-EOR, :missing_tag, "channel", "RDF") #{make_xmldecl}
EOR assert_parse(<<-EOR, :missing_tag, "channel", "RDF") #{make_xmldecl}
EOR assert_parse(make_RDF(<<-EOR), :missing_tag, "item", "RDF") #{make_channel} EOR assert_parse(make_RDF(<<-EOR), :missing_tag, "item", "RDF") #{make_channel} #{make_image} EOR assert_parse(make_RDF(<<-EOR), :missing_tag, "item", "RDF") #{make_channel} #{make_textinput} EOR assert_too_much_tag("image", "RDF") do Parser.parse(make_RDF(<<-EOR)) #{make_channel} #{make_image} #{make_image} #{make_item} #{make_textinput} EOR end assert_parse(make_RDF(<<-EOR), :nothing_raised) #{make_channel} #{make_item} #{make_image} #{make_textinput} EOR assert_parse(make_RDF(<<-EOR), :nothing_raised) #{make_channel} #{make_item} #{make_textinput} #{make_image} EOR assert_parse(make_RDF(<<-EOR), :nothing_raised) #{make_channel} #{make_image} #{make_item} EOR assert_parse(make_RDF(<<-EOR), :nothing_raised) #{make_channel} #{make_image} #{make_item} #{make_textinput} EOR 1.step(15, 3) do |i| rss = make_RDF() do res = make_channel i.times { res << make_item } res end assert_parse(rss, :nothing_raised) end end def test_undefined_entity return unless RSS::Parser.default_parser.raise_for_undefined_entity? assert_parse(make_RDF(<<-EOR), :raises, RSS::NotWellFormedError) #{make_channel} #{make_image}
#{TITLE_VALUE} &UNKNOWN_ENTITY;
#{LINK_VALUE}
#{DESCRIPTION_VALUE}
#{make_textinput} EOR end def test_channel assert_parse(make_RDF(<<-EOR), :missing_attribute, "channel", "rdf:about")
EOR assert_parse(make_RDF(<<-EOR), :missing_tag, "title", "channel")
EOR assert_parse(make_RDF(<<-EOR), :missing_tag, "link", "channel")
hoge
EOR assert_parse(make_RDF(<
hoge
http://example.com/ EOR assert_parse(make_RDF(<<-EOR), :missing_tag, "items", "channel")
hoge
http://example.com/
hogehoge
EOR assert_parse(make_RDF(<<-EOR), :missing_attribute, "image", "rdf:resource")
hoge
http://example.com/
hogehoge
EOR assert_parse(make_RDF(<<-EOR), :missing_tag, "items", "channel")
hoge
http://example.com/
hogehoge
EOR rss = make_RDF(<<-EOR)
hoge
http://example.com/
hogehoge
EOR assert_missing_tag("Seq", "items") do Parser.parse(rss) end assert_missing_tag("item", "RDF") do Parser.parse(rss, false).validate end assert_parse(make_RDF(<<-EOR), :missing_tag, "item", "RDF")
hoge
http://example.com/
hogehoge
EOR assert_parse(make_RDF(<<-EOR), :missing_attribute, "textinput", "rdf:resource")
hoge
http://example.com/
hogehoge
EOR assert_parse(make_RDF(<<-EOR), :missing_tag, "item", "RDF")
hoge
http://example.com/
hogehoge
EOR end def test_rdf_li rss = make_RDF(<<-EOR)
hoge
http://example.com/
hogehoge
#{make_item} EOR source = Proc.new do |rdf_li_attr| eval(%Q[%Q[#{rss}]], binding) end attr = %q[resource="http://example.com/hoge"] assert_parse(source.call(attr), :nothing_raised) attr = %q[rdf:resource="http://example.com/hoge"] assert_parse(source.call(attr), :nothing_raised) assert_parse(source.call(""), :missing_attribute, "li", "resource") end def test_image assert_parse(make_RDF(<<-EOR), :missing_attribute, "image", "rdf:about") #{make_channel}
EOR assert_parse(make_RDF(<<-EOR), :missing_tag, "title", "image") #{make_channel}
EOR assert_parse(make_RDF(<<-EOR), :missing_tag, "url", "image") #{make_channel}
hoge
EOR assert_parse(make_RDF(<<-EOR), :missing_tag, "link", "image") #{make_channel}
hoge
http://example.com/hoge.png
EOR assert_parse(make_RDF(<<-EOR), :missing_tag, "item", "RDF") #{make_channel}
hoge
http://example.com/hoge.png
http://example.com/
EOR rss = make_RDF(<<-EOR) #{make_channel}
http://example.com/
http://example.com/hoge.png
hoge
EOR assert_missing_tag("item", "RDF") do Parser.parse(rss) end assert_missing_tag("item", "RDF") do Parser.parse(rss, false).validate end end def test_item assert_parse(make_RDF(<<-EOR), :missing_attribute, "item", "rdf:about") #{make_channel} #{make_image}
EOR assert_parse(make_RDF(<<-EOR), :missing_tag, "title", "item") #{make_channel} #{make_image}
EOR assert_parse(make_RDF(<<-EOR), :missing_tag, "link", "item") #{make_channel} #{make_image}
hoge
EOR assert_too_much_tag("title", "item") do Parser.parse(make_RDF(<<-EOR)) #{make_channel} #{make_image}
hoge
hoge
http://example.com/hoge.html
EOR end assert_parse(make_RDF(<<-EOR), :nothing_raised) #{make_channel} #{make_image}
hoge
http://example.com/hoge.html
EOR assert_parse(make_RDF(<<-EOR), :nothing_raised) #{make_channel} #{make_image}
hoge
http://example.com/hoge.html
hogehoge
EOR end def test_textinput assert_parse(make_RDF(<<-EOR), :missing_attribute, "textinput", "rdf:about") #{make_channel} #{make_image} #{make_item}
EOR assert_parse(make_RDF(<<-EOR), :missing_tag, "title", "textinput") #{make_channel} #{make_image} #{make_item}
EOR assert_parse(make_RDF(<<-EOR), :missing_tag, "description", "textinput") #{make_channel} #{make_image} #{make_item}
hoge
EOR assert_too_much_tag("title", "textinput") do Parser.parse(make_RDF(<<-EOR)) #{make_channel} #{make_image} #{make_item}
hoge
hoge
hogehoge
EOR end assert_parse(make_RDF(<<-EOR), :missing_tag, "name", "textinput") #{make_channel} #{make_image} #{make_item}
hoge
hogehoge
EOR assert_parse(make_RDF(<<-EOR), :missing_tag, "link", "textinput") #{make_channel} #{make_image} #{make_item}
hoge
hogehoge
key
EOR assert_parse(make_RDF(<<-EOR), :nothing_raised) #{make_channel} #{make_image} #{make_item}
hoge
hogehoge
key
http://example.com/search.html
EOR end def test_ignore name = "a" rss = make_RDF(<<-EOR) #{make_channel} #{make_item} <#{name}/> EOR assert_not_expected_tag(name, ::RSS::URI, "RDF") do Parser.parse(rss, true, false) end uri = "" name = "a" rss = make_RDF(<<-EOR) #{make_channel} #{make_item} <#{name} xmlns=""/> EOR assert_parse(rss, :nothing_raised) assert_not_expected_tag(name, uri, "RDF") do Parser.parse(rss, true, false) end uri = "http://example.com/" name = "a" rss = make_RDF(<<-EOR) #{make_channel} #{make_item}
EOR assert_parse(rss, :nothing_raised) assert_not_expected_tag(name, uri, "RDF") do Parser.parse(rss, true, false) end uri = ::RSS::URI name = "a" rss = make_RDF(<<-EOR) #{make_channel} #{make_item} #{make_image("<#{name}/>")} EOR assert_parse(rss, :nothing_raised) assert_not_expected_tag(name, uri, "image") do Parser.parse(rss, true, false) end uri = CONTENT_URI name = "encoded" elem = "<#{name} xmlns='#{uri}'/>" rss = make_RDF(<<-EOR) #{make_channel} #{make_item} #{make_image(elem)} EOR assert_parse(rss, :nothing_raised) assert_not_expected_tag(name, uri, "image") do Parser.parse(rss, true, false) end end def test_unknown_duplicated_element xmlns = {"test" => "http://localhost/test"} assert_parse(make_RDF(<<-EOR, xmlns), :nothing_raised) #{make_channel("
")} #{make_item} #{make_image} EOR end def test_unknown_case_insensitive_duplicated_element xmlns = { "foaf" => "http://xmlns.com/foaf/0.1/", "dc" => "http://purl.org/dc/elements/1.1/", } assert_parse(make_RDF(<<-EOR, xmlns), :nothing_raised) #{make_channel} #{make_item} #{make_image}
Myself
http://example.com/
EOR end end end