about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--lib/dtas/format.rb2
-rw-r--r--test/test_format.rb10
2 files changed, 11 insertions, 1 deletions
diff --git a/lib/dtas/format.rb b/lib/dtas/format.rb
index 8313796..6da5675 100644
--- a/lib/dtas/format.rb
+++ b/lib/dtas/format.rb
@@ -113,7 +113,7 @@ class DTAS::Format # :nodoc:
   end
 
   def valid_type?(type)
-    !!(type =~ %r{\A[us](?:8|16|24|32)\z} || type =~ %r{\Af?:(32|64)})
+    !!(type =~ %r{\A[us](?:8|16|24|32)\z} || type =~ %r{\Af(?:32|64)\z})
   end
 
   def valid_endian?(endian)
diff --git a/test/test_format.rb b/test/test_format.rb
index 00fb3e3..bc08cb4 100644
--- a/test/test_format.rb
+++ b/test/test_format.rb
@@ -44,4 +44,14 @@ class TestFormat < Minitest::Unit::TestCase
     fmt.type = "s16"
     assert_equal 2, fmt.bytes_per_sample
   end
+
+  def test_valid_type
+    fmt = DTAS::Format.new
+    %w(s16 s24 s32 f32 f64).each do |t|
+      assert fmt.valid_type?(t)
+    end
+    %w(flac wav wtf).each do |t|
+      refute fmt.valid_type?(t)
+    end
+  end
 end