aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Library/Formula/mdxmini.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/Library/Formula/mdxmini.rb b/Library/Formula/mdxmini.rb
index 243972117..bac6e38ab 100644
--- a/Library/Formula/mdxmini.rb
+++ b/Library/Formula/mdxmini.rb
@@ -10,6 +10,11 @@ class Mdxmini < Formula
depends_on 'sdl' unless build.include? "lib-only"
+ resource "test_song" do
+ url "ftp://ftp.modland.com/pub/modules/MDX/Popful Mail/pop-00.mdx"
+ sha256 "86f21fbbaf93eb60e79fa07c759b906a782afe4e1db5c7e77a1640e6bf63fd14"
+ end
+
def install
cd "jni/mdxmini" do
# Specify Homebrew's cc
@@ -28,4 +33,27 @@ class Mdxmini < Formula
(include+'libmdxmini').install Dir['src/*.h']
end
end
+
+ test do
+ resource("test_song").stage testpath
+ (testpath/"mdxtest.c").write <<-EOS.undent
+ #include <stdio.h>
+ #include "libmdxmini/mdxmini.h"
+
+ int main(int argc, char** argv)
+ {
+ t_mdxmini mdx;
+ char title[100];
+ mdx_open(&mdx, argv[1], argv[2]);
+ mdx_get_title(&mdx, title);
+ printf("%s\\n", title);
+ }
+ EOS
+ system ENV.cc, "mdxtest.c", "-lmdxmini", "-o", "mdxtest"
+
+ result = `#{testpath}/mdxtest #{testpath}/pop-00.mdx #{testpath}`.chomp
+ # Song title is in Shift-JIS
+ expected = "\x82\xDB\x82\xC1\x82\xD5\x82\xE9\x83\x81\x83C\x83\x8B \x83o\x83b\x83N\x83A\x83b\x83v\x8D\xEC\x90\xAC (C)Falcom 1992 cv.\x82o\x82h. ass.\x82s\x82`\x82o\x81{"
+ assert_equal expected, result
+ end
end