From dfbefc7cb72b2c60e2cb076b33a5964e1be21f33 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 25 Aug 2013 22:33:54 +0000 Subject: format: fix switching to floating point samples Regexps are hard to write sometimes :x Anyways, we should support using floating-point internally for users who prefer it. --- lib/dtas/format.rb | 2 +- test/test_format.rb | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) 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 -- cgit v1.2.3-24-ge0c7