math_ml-0.14/ 0000755 0000041 0000041 00000000000 12055512401 013102 5 ustar www-data www-data math_ml-0.14/Rakefile 0000644 0000041 0000041 00000002400 12055512401 014543 0 ustar www-data www-data load "Rakefile.utirake"
VER = "0.14"
UtiRake.setup do
external("https://hg.hinet.mydns.jp", %w[eim_xml])
rdoc do |t|
t.title = "MathML Library"
t.main = "README"
t.rdoc_files.include(FileList["lib/**/*.rb", "README"])
end
publish("mathml", "hiraku") do
cp "index.html", "html/index.html"
end
gemspec do |s|
s.name = "math_ml"
s.rubyforge_project = "mathml"
s.version = VER
s.summary = "MathML Library"
s.author = "KURODA Hiraku"
s.email = "hiraku@hinet.mydns.jp"
s.homepage = "http://mathml.rubyforge.org/"
s.add_dependency("eim_xml")
end
rcov_spec do |s|
s.ruby_opts = %w[-rubygems]
s.pattern ||= %w[spec/util.rb spec/**/*_spec.rb]
s.pattern = [s.pattern] unless s.pattern.is_a?(Array)
# s.pattern << "symbols/**/*_spec.rb"
end
spec do |s|
# s.spec_opts << "-b"
end
alias_task
end
namespace :spec do
RSpec::Core::RakeTask.new(:symbols) do |s|
s.pattern = "./symbols/**/*_spec.rb"
s.rspec_opts = %w[-c -I lib -I external/lib]
end
end
task :package do
name = "math_ml-#{VER}"
cp "external/eim_xml/lib/eim_xml.rb", "pkg/#{name}/lib/"
Dir.chdir "pkg" do
rm "#{name}.tar.gz"
sh "tar zcf #{name}.tar.gz #{name}/"
end
end
task :default => :spec
task "spec:no_here" => "spec:apart"
task :all => [:spec, "spec:symbols"]
math_ml-0.14/spec/ 0000755 0000041 0000041 00000000000 12055512401 014034 5 ustar www-data www-data math_ml-0.14/spec/math_ml/ 0000755 0000041 0000041 00000000000 12055512401 015455 5 ustar www-data www-data math_ml-0.14/spec/math_ml/util_spec.rb 0000644 0000041 0000041 00000060213 12055512401 017773 0 ustar www-data www-data require "math_ml/util"
require "eim_xml/parser"
describe MathML::Util do
include MathML::Util
it "#escapeXML" do
escapeXML("<>&\"'").should == "<>&"'"
escapeXML("\n").should == "\n"
escapeXML("\n", true).should == "
\n"
end
it ".escapeXML" do
MathML::Util.escapeXML("<>&\"'").should == "<>&"'"
MathML::Util.escapeXML("\n").should == "\n"
MathML::Util.escapeXML("\n", true).should == "
\n"
end
it "#collect_regexp" do
collect_regexp([/a/, /b/, /c/]).should == /#{/a/}|#{/b/}|#{/c/}/
collect_regexp([[/a/, /b/, /c/]]).should == /#{/a/}|#{/b/}|#{/c/}/
collect_regexp([]).should == /(?!)/
collect_regexp(/a/).should == /#{/a/}/
end
it ".collect_regexp" do
MathML::Util.collect_regexp([/a/, /b/, /c/]).should == /#{/a/}|#{/b/}|#{/c/}/
MathML::Util.collect_regexp([[/a/, /b/, /c/]]).should == /#{/a/}|#{/b/}|#{/c/}/
MathML::Util.collect_regexp([]).should == /(?!)/
MathML::Util.collect_regexp(/a/).should == /#{/a/}/
MathML::Util.collect_regexp([nil, /a/, "text", /b/]).should == /#{/a/}|#{/b/}/
MathML::Util.collect_regexp([nil, [/a/, [/b/, /c/]]]).should == /#{/a/}|#{/b/}|#{/c/}/
end
it "::INVALID_RE" do
MathML::Util::INVALID_RE.should == /(?!)/
end
end
describe MathML::Util::MathData do
it "#<< and #update" do
m = MathML::Util::MathData.new
m.math_list << "ml1"
m.msrc_list << "sl1"
m.dmath_list << "dml1"
m.dsrc_list << "dsl1"
m.escape_list << "el1"
m.esrc_list << "es1"
m.user_list << "ul1"
m.usrc_list << "usl1"
m.math_list.should == ["ml1"]
m.msrc_list.should == ["sl1"]
m.dmath_list.should == ["dml1"]
m.dsrc_list.should == ["dsl1"]
m.escape_list.should == ["el1"]
m.esrc_list.should == ["es1"]
m.user_list.should == ["ul1"]
m.usrc_list.should == ["usl1"]
m2 = MathML::Util::MathData.new
m2.math_list << "ml2"
m2.msrc_list << "sl2"
m2.dmath_list << "dml2"
m2.dsrc_list << "dsl2"
m2.escape_list << "el2"
m2.esrc_list << "es2"
m2.user_list << "ul2"
m2.usrc_list << "usl2"
m.update(m2)
m.math_list.should == ["ml1", "ml2"]
m.msrc_list.should == ["sl1", "sl2"]
m.dmath_list.should == ["dml1", "dml2"]
m.dsrc_list.should == ["dsl1", "dsl2"]
m.escape_list.should == ["el1", "el2"]
m.esrc_list.should == ["es1", "es2"]
m.user_list.should == ["ul1", "ul2"]
m.usrc_list.should == ["usl1", "usl2"]
end
end
describe MathML::Util::SimpleLaTeX do
def strip_math(s)
s.gsub(/>\s*/, ">").gsub(/\s*, "<")[/(.*)<\/math>/m, 1]
end
def sma(a) # Stripped Mathml Array
r = []
a.each do |i|
r << strip_math(i.to_s)
end
r
end
def simplify_math(src)
attr = []
r = src.gsub(/