sup

A curses threads-with-tags style email client

sup.git

git clone https://supmua.dev/git/sup/
commit 54738030d15335d77ac23294067dfbee4c63575f
parent f53aa68537269af57f147f355feeb747136bee46
Author: Whyme Lyu <callme5long@gmail.com>
Date:   Tue,  2 Jul 2013 01:35:49 +0800

Implement Redwood::Util::Query.describe(query)

Diffstat:
A lib/sup/util/query.rb | 9 +++++++++
A test/unit/util/test_query.rb | 22 ++++++++++++++++++++++
2 files changed, 31 insertions(+), 0 deletions(-)
diff --git a/lib/sup/util/query.rb b/lib/sup/util/query.rb
@@ -0,0 +1,9 @@
+module Redwood
+  module Util
+    module Query
+      def self.describe query
+        query.description.force_encoding("UTF-8")
+      end
+    end
+  end
+end
diff --git a/test/unit/util/test_query.rb b/test/unit/util/test_query.rb
@@ -0,0 +1,22 @@
+# encoding: utf-8
+
+require "test_helper"
+
+require "sup/util/query"
+require "xapian"
+
+describe Redwood::Util::Query do
+  describe ".describe" do
+    it "returns a UTF-8 description of query" do
+      query = Xapian::Query.new "テスト"
+      life = "生活: "
+
+      assert_raises Encoding::CompatibilityError do
+        _ = life + query.description
+      end
+
+      desc = Redwood::Util::Query.describe(query)
+      _ = (life + desc) # No exception thrown
+    end
+  end
+end