END_TEST START_TEST(test_scorer_optimization_bug) { assert_scores(0x0101201, "ClassLoadingImpl.c", "clload", 0); assert_scores(0x0100800, "play", "pla", 0); }
END_TEST START_TEST(test_char_after_delimiter_handling) { /* char right after delimiter must match start of word */ assert_scores(0x200400, "some_owo-word", "s-wo", M(0,4,9,10)); assert_scores(0x200400, "some_owoWord", "s-wo", M(0,4,8,9)); }
END_TEST START_TEST(test_char_after_delimiter_handling) { /* char right after delimiter must match start of word */ assert_scores(0x200400, "some.owo.word", "s.wo", M(0,4,9,10)); assert_scores(0x200400, "some.owoWord", "s.wo", M(0,4,8,9)); /* char right after delimiter must match start of word */ assert_scores(0x200400, "some-owoWord", "s-wo", M(0,SCORER_MATCH_NONE,8,9)); }
END_TEST START_TEST(test_slash_handling) { qry.right_match = 1; assert_scores(0x100201, "activerecord/lib/active_record", "ar", M(17,24)); qry.right_match = 0; assert_scores(0x100000, "base.rb", "b", M(0)); /* '/' works */ assert_scores(0x200201, "activerecord/lib/octive_record/base.rb", "ar/b", M(0,24,30,31)); qry.right_match = 1; assert_scores(0x200201, "activerecord/lib/octive_record/base.rb", "ar/b", M(0,24,30,31)); qry.right_match = 0; }
END_TEST START_TEST(test_single_char_matches_work) { assert_scores(0, "asd", "s", M(1)); assert_scores(0, "asd", "d", M(2)); assert_scores(0x100000,"asd", "a", 0); assert_scores(0x100000, "asd", "ad", M(0,2)); assert_scores(-1, "asd", "q", 0); assert_scores(-1, "asd", "ds", 0); assert_scores(0x400, "asd", "sd", M(1,2)); assert_scores(0x100000, "asdaaas", "a", M(0)); }
END_TEST START_TEST(test_right_match) { qry.right_match = 1; assert_scores(0, "sabababa", "a", M(7)); assert_scores(0, "sabababa", "aa", M(5,7)); assert_scores(0, "sabababa", "b", M(6)); assert_scores(0, "sabababa", "bb", M(4,6)); qry.right_match = 0; assert_scores(0, "sabababa", "a", M(1)); assert_scores(0, "sabababa", "aa", M(1,3)); assert_scores(0, "sabababa", "b", M(2)); assert_scores(0, "sabababa", "bb", M(2,4)); }
END_TEST START_TEST(test_capital_pattern_chars_work) { assert_scores(0x200000, "flexi_record", "FR", M(0,6)); }