about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--test/helper.rb8
-rw-r--r--test/test_splitfx.rb6
2 files changed, 9 insertions, 5 deletions
diff --git a/test/helper.rb b/test/helper.rb
index 1812e99..397d2c3 100644
--- a/test/helper.rb
+++ b/test/helper.rb
@@ -99,3 +99,11 @@ class Dir
     end
   end
 end unless Dir.respond_to?(:mktmpdir)
+
+def guitar_pluck(outfile)
+  outfile =~ %r{\A[\w\./-]+\z} or raise ArgumentError, "bad chars"
+  cmd = '(for n in E2 A2 D3 G3 B3 E4; do '\
+         'sox -n -ts32 -c2 -r44100 - synth 4 pluck $n; done ) | ' \
+         "sox -ts32 -c2 -r44100 - #{outfile}"
+  assert_equal(true, system(cmd), cmd)
+end
diff --git a/test/test_splitfx.rb b/test/test_splitfx.rb
index 12bb0d9..fd1873e 100644
--- a/test/test_splitfx.rb
+++ b/test/test_splitfx.rb
@@ -20,11 +20,7 @@ class TestSplitfx < Testcase
     sfx = DTAS::SplitFX.new
     Dir.mktmpdir do |dir|
       Dir.chdir(dir) do
-        # create a guitar pluck
-        cmd = '(for n in E2 A2 D3 G3 B3 E4; do '\
-               'sox -n -ts32 -c2 -r44100 - synth 4 pluck $n; done ) | ' \
-               'sox -ts32 -c2 -r44100 - foo.flac'
-        assert system(cmd), cmd.inspect
+        guitar_pluck("foo.flac")
         sfx.import(hash, {})
         opts = { jobs: nil, silent: true }