Sha256: c06f2f25b277821ce1729b77d1a0bda6afe8a924350006aecf69ba12364ab245

Contents?: true

Size: 1.17 KB

Versions: 6

Compression:

Stored size: 1.17 KB

Contents

# 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

    it "returns a valid UTF-8 description of bad input" do
      msg = "asdfa \xc3\x28 åasdf"
      query = Xapian::Query.new msg
      life = 'hæi'

      # this is now possibly UTF-8 string with possibly invalid chars
      assert_raises Redwood::Util::Query::QueryDescriptionError do
        desc = Redwood::Util::Query.describe (query)
      end

      assert_raises Encoding::CompatibilityError do
        _ = life + query.description
      end
    end

    it "returns a valid UTF-8 fallback description of bad input" do
      msg = "asdfa \xc3\x28 åasdf"
      query = Xapian::Query.new msg

      desc = Redwood::Util::Query.describe(query, "invalid query")

      assert_equal("invalid query", desc)
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
sup-0.22.1 test/unit/util/test_query.rb
sup-0.22.0 test/unit/util/test_query.rb
sup-0.21.0 test/unit/util/test_query.rb
sup-0.20.0 test/unit/util/test_query.rb
sup-0.19.0 test/unit/util/test_query.rb
sup-0.18.0 test/unit/util/test_query.rb