commit 256e36ab9deab4688cd59e1e5d7fca0d30301531
parent e22fd7e83f33c2a8572ee5939b3365753cd8d062
Author: Gaute Hope <eg@gaute.vetsj.com>
Date: Sun, 21 Jul 2013 07:24:21 +0200
raise exception for bad string in query description
Diffstat:
2 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/lib/sup/util/query.rb b/lib/sup/util/query.rb
@@ -1,8 +1,13 @@
module Redwood
module Util
module Query
+ class QueryDescriptionError < ArgumentError; end
+
def self.describe query
- query.description.force_encoding("UTF-8")
+ d = query.description.force_encoding("UTF-8")
+
+ raise QueryDescriptionError.new(d) unless d.valid_encoding?
+ return d
end
end
end
diff --git a/test/unit/util/test_query.rb b/test/unit/util/test_query.rb
@@ -25,17 +25,13 @@ describe Redwood::Util::Query do
life = 'hæi'
# this is now possibly UTF-8 string with possibly invalid chars
- desc = Redwood::Util::Query.describe (query)
+ assert_raises Redwood::Util::Query::QueryDescriptionError do
+ desc = Redwood::Util::Query.describe (query)
+ end
assert_raises Encoding::CompatibilityError do
_ = life + query.description
end
-
- _ = (life + desc)
-
- # try to do something with string: raises invalid byte sequence
- _.gsub(/" "/, " ")
-
end
end
end