about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2013-08-25 22:33:54 +0000
committerEric Wong <normalperson@yhbt.net>2013-08-25 22:38:06 +0000
commitdfbefc7cb72b2c60e2cb076b33a5964e1be21f33 (patch)
tree24a931ea0d55f83d3ead5c4e5f48d352a3ebcb38
parent6bcea2bb60824600dd4e46956290efbad434532b (diff)
downloaddtas-dfbefc7cb72b2c60e2cb076b33a5964e1be21f33.tar.gz
Regexps are hard to write sometimes :x
Anyways, we should support using floating-point internally
for users who prefer it.
-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