|
| 1 | +# coding: utf-8 |
1 | 2 | require 'minitest/autorun'
|
2 | 3 | require_relative '../boolean_term_parser'
|
3 | 4 |
|
@@ -28,4 +29,27 @@ def test_multiple_terms_with_operators
|
28 | 29 | {:clause => {:operator => '-', :term => 'cat'}}]}
|
29 | 30 | assert_equal(expected, tree)
|
30 | 31 | end
|
| 32 | + |
| 33 | + def test_non_ascii_characters |
| 34 | + tree = BooleanTermParser::QueryParser.new.parse('+føé -ba∑ ∫åñ') |
| 35 | + expected = {:query => [{:clause => {:operator => '+', :term => 'føé'}}, |
| 36 | + {:clause => {:operator => '-', :term => 'ba∑'}}, |
| 37 | + {:clause => {:term => '∫åñ'}}]} |
| 38 | + assert_equal(expected, tree) |
| 39 | + end |
| 40 | + |
| 41 | + def test_operators_in_terms |
| 42 | + tree = BooleanTermParser::QueryParser.new.parse('-foo+term +bar-term baz-term') |
| 43 | + expected = {:query => [{:clause => {:operator => '-', :term => 'foo+term'}}, |
| 44 | + {:clause => {:operator => '+', :term => 'bar-term'}}, |
| 45 | + {:clause => {:term => 'baz-term'}}]} |
| 46 | + assert_equal(expected, tree) |
| 47 | + end |
| 48 | + |
| 49 | + def test_quotation_marks |
| 50 | + tree = BooleanTermParser::QueryParser.new.parse('+fo"o -ba"r') |
| 51 | + expected = {:query => [{:clause => {:operator => '+', :term => 'fo"o'}}, |
| 52 | + {:clause => {:operator => '-', :term => 'ba"r'}}]} |
| 53 | + assert_equal(expected, tree) |
| 54 | + end |
31 | 55 | end
|
0 commit comments