⚝
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_content.rb
# frozen_string_literal: false require "cgi" require "rexml/document" require_relative "rss-testcase" require "rss/content" module RSS class TestContent < TestCase def setup @prefix = "content" @uri = "http://purl.org/rss/1.0/modules/content/" @elems = { :encoded => "
ATTENTION
", } @content_nodes = @elems.collect do |name, value| "<#{@prefix}:#{name}>#{CGI.escapeHTML(value.to_s)}#{@prefix}:#{name}>" end.join("\n") @rss10_source = make_RDF(<<-EOR, {@prefix => @uri}) #{make_channel()} #{make_image()} #{make_item(@content_nodes)} #{make_textinput()} EOR @rss10 = Parser.parse(@rss10_source) @rss20_source = make_rss20(<<-EOR, {@prefix => @uri}) #{make_channel20(make_item20(@content_nodes))} EOR @rss20 = Parser.parse(@rss20_source) end def test_parser assert_nothing_raised do Parser.parse(@rss10_source) end assert_nothing_raised do Parser.parse(@rss20_source) end @elems.each do |tag, value| tag_name = "#{@prefix}:#{tag}" content_encodes = make_element(tag_name, {}, value) * 2 assert_too_much_tag(tag.to_s, "item") do Parser.parse(make_RDF(<<-EOR, {@prefix => @uri})) #{make_channel} #{make_item(content_encodes)} EOR end assert_too_much_tag(tag.to_s, "item") do Parser.parse(make_rss20(<<-EOR, {@prefix => @uri})) #{make_channel20(make_item20(content_encodes))} EOR end end end def test_accessor new_value = { :encoded => "hoge]]>", } @elems.each do |name, value| [@rss10, @rss20].each do |rss| meth = "#{RSS::CONTENT_PREFIX}_#{name}" parent = rss.items.last assert_equal(value, parent.__send__(meth)) parent.__send__("#{meth}=", new_value[name].to_s) assert_equal(new_value[name], parent.__send__(meth)) end end end def test_to_s @elems.each do |name, value| excepted = make_element("#{@prefix}:#{name}", {}, value) meth = "#{RSS::CONTENT_PREFIX}_#{name}_element" [@rss10, @rss20].each do |rss| assert_equal(excepted, rss.items.last.__send__(meth)) end end [@rss10_source, @rss20_source].each do |source| REXML::Document.new(source).root.each_element do |parent| next unless parent.name != "item" parent.each_element do |elem| if elem.namespace == @uri assert_equal(elem.text, @elems[elem.name.intern].to_s) end end end end end end end