Running 'testthat.R' [10s]
Running the tests in 'tests/testthat.R' failed.
Complete output:
  > library(testthat)
  > library(fuzzyjoin)
  > 
  > test_check("fuzzyjoin")
  -- 1. Error: geo_inner_join works (@test_geo_join.R#16)  -----------------------
  undefined exports: %s!=%, %s!==%, %s+%, %s<%, %s<=%, %s==%, %s===%, %s>%, %s>=%, %stri!=%, %stri!==%, %stri+%, %stri<%, %stri<=%, %stri==%, %stri===%, %stri>%, %stri>=%, stri_datetime_add<-, stri_sub<-, stri_subset<-, stri_subset_charclass<-, stri_subset_coll<-, stri_subset_fixed<-, stri_subset_regex<-, stri_c, stri_c_list, stri_cmp, stri_cmp_eq, stri_cmp_equiv, stri_cmp_ge, stri_cmp_gt, stri_cmp_le, stri_cmp_lt, stri_cmp_neq, stri_cmp_nequiv, stri_compare, stri_conv, stri_count, stri_count_boundaries, stri_count_charclass, stri_count_coll, stri_count_fixed, stri_count_regex, stri_count_words, stri_datetime_add, stri_datetime_create, stri_datetime_fields, stri_datetime_format, stri_datetime_fstr, stri_datetime_now, stri_datetime_parse, stri_datetime_symbols, stri_detect, stri_detect_charclass, stri_detect_coll, stri_detect_fixed, stri_detect_regex, stri_dup, stri_duplicated, stri_duplicated_any, stri_enc_detect, stri_enc_detect2, stri_enc_fromutf32, stri_enc_get, stri_enc_info, stri_enc_isascii, stri_enc_isutf16be, stri_enc_isutf16le, stri_enc_isutf32be, stri_enc_isutf32le, stri_enc_isutf8, stri_enc_list, stri_enc_mark, stri_enc_set, stri_enc_toascii, stri_enc_tonative, stri_enc_toutf32, stri_enc_toutf8, stri_encode, stri_endswith, stri_endswith_charclass, stri_endswith_coll, stri_endswith_fixed, stri_escape_unicode, stri_extract, stri_extract_all, stri_extract_all_boundaries, stri_extract_all_charclass, stri_extract_all_coll, stri_extract_all_fixed, stri_extract_all_regex, stri_extract_all_words, stri_extract_first, stri_extract_first_boundaries, stri_extract_first_charclass, stri_extract_first_coll, stri_extract_first_fixed, stri_extract_first_regex, stri_extract_first_words, stri_extract_last, stri_extract_last_boundaries, stri_extract_last_charclass, stri_extract_last_coll, stri_extract_last_fixed, stri_extract_last_regex, stri_extract_last_words, stri_flatten, stri_info, stri_isempty, stri_join, stri_join_list, stri_length, stri_list2matrix, stri_locale_get, stri_locale_info, stri_locale_list, stri_locale_set, stri_locate, stri_locate_all, stri_locate_all_boundaries, stri_locate_all_charclass, stri_locate_all_coll, stri_locate_all_fixed, stri_locate_all_regex, stri_locate_all_words, stri_locate_first, stri_locate_first_boundaries, stri_locate_first_charclass, stri_locate_first_coll, stri_locate_first_fixed, stri_locate_first_regex, stri_locate_first_words, stri_locate_last, stri_locate_last_boundaries, stri_locate_last_charclass, stri_locate_last_coll, stri_locate_last_fixed, stri_locate_last_regex, stri_locate_last_words, stri_match, stri_match_all, stri_match_all_regex, stri_match_first, stri_match_first_regex, stri_match_last, stri_match_last_regex, stri_na2empty, stri_numbytes, stri_opts_brkiter, stri_opts_collator, stri_opts_fixed, stri_opts_regex, stri_order, stri_pad, stri_pad_both, stri_pad_left, stri_pad_right, stri_paste, stri_paste_list, stri_rand_lipsum, stri_rand_shuffle, stri_rand_strings, stri_read_lines, stri_read_raw, stri_remove_empty, stri_replace, stri_replace_all, stri_replace_all_charclass, stri_replace_all_coll, stri_replace_all_fixed, stri_replace_all_regex, stri_replace_first, stri_replace_first_charclass, stri_replace_first_coll, stri_replace_first_fixed, stri_replace_first_regex, stri_replace_last, stri_replace_last_charclass, stri_replace_last_coll, stri_replace_last_fixed, stri_replace_last_regex, stri_replace_na, stri_reverse, stri_sort, stri_split, stri_split_boundaries, stri_split_charclass, stri_split_coll, stri_split_fixed, stri_split_lines, stri_split_lines1, stri_split_regex, stri_startswith, stri_startswith_charclass, stri_startswith_coll, stri_startswith_fixed, stri_stats_general, stri_stats_latex, stri_sub, stri_subset, stri_subset_charclass, stri_subset_coll, stri_subset_fixed, stri_subset_regex, stri_timezone_get, stri_timezone_info, stri_timezone_list, stri_timezone_set, stri_trans_char, stri_trans_general, stri_trans_isnfc, stri_trans_isnfd, stri_trans_isnfkc, stri_trans_isnfkc_casefold, stri_trans_isnfkd, stri_trans_list, stri_trans_nfc, stri_trans_nfd, stri_trans_nfkc, stri_trans_nfkc_casefold, stri_trans_nfkd, stri_trans_tolower, stri_trans_totitle, stri_trans_toupper, stri_trim, stri_trim_both, stri_trim_left, stri_trim_right, stri_unescape_unicode, stri_unique, stri_width, stri_wrap, stri_write_lines
  1: latlong1 %>% geo_inner_join(latlong2, max_dist = 1, distance_col = "distance") at testthat/test_geo_join.R:16
  2: withVisible(eval(quote(`_fseq`(`_lhs`)), env, env))
  3: eval(quote(`_fseq`(`_lhs`)), env, env)
  4: eval(quote(`_fseq`(`_lhs`)), env, env)
  5: `_fseq`(`_lhs`)
  6: freduce(value, `_function_list`)
  7: withVisible(function_list[[k]](value))
  8: function_list[[k]](value)
  9: geo_inner_join(., latlong2, max_dist = 1, distance_col = "distance")
  10: geo_join(x, y, by, max_dist = max_dist, method = method, mode = "inner", distance_col = distance_col, 
         ...)
  11: lapply(by, function(e) {
         if (length(e) != 2) {
             stop("Trying to join on ", paste(e, collapse = ", "), "; geo_join needs exactly two columns (latitude and longitude)")
         }
         firstthree <- stringr::str_extract(stringr::str_to_lower(e), "(lon|lat)")
         colmatches <- match(c("lon", "lat"), firstthree)
         if (any(is.na(colmatches)) || length(unique(colmatches)) != 2) {
             message("Could not determine which is lon/lat, using in given order")
             e
         }
         else {
             e[colmatches]
         }
     })
  12: FUN(X[[i]], ...)
  13: stringr::str_extract
  14: getExportedValue(pkg, name)
  15: asNamespace(ns)
  16: getNamespace(ns)
  17: tryCatch(loadNamespace(name), error = function(e) stop(e))
  18: tryCatchList(expr, classes, parentenv, handlers)
  19: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  20: value[[3L]](cond)
  
  -- 2. Error: geo_inner_join works when lat/lon columns have different names (@te
  undefined exports: %s!=%, %s!==%, %s+%, %s<%, %s<=%, %s==%, %s===%, %s>%, %s>=%, %stri!=%, %stri!==%, %stri+%, %stri<%, %stri<=%, %stri==%, %stri===%, %stri>%, %stri>=%, stri_datetime_add<-, stri_sub<-, stri_subset<-, stri_subset_charclass<-, stri_subset_coll<-, stri_subset_fixed<-, stri_subset_regex<-, stri_c, stri_c_list, stri_cmp, stri_cmp_eq, stri_cmp_equiv, stri_cmp_ge, stri_cmp_gt, stri_cmp_le, stri_cmp_lt, stri_cmp_neq, stri_cmp_nequiv, stri_compare, stri_conv, stri_count, stri_count_boundaries, stri_count_charclass, stri_count_coll, stri_count_fixed, stri_count_regex, stri_count_words, stri_datetime_add, stri_datetime_create, stri_datetime_fields, stri_datetime_format, stri_datetime_fstr, stri_datetime_now, stri_datetime_parse, stri_datetime_symbols, stri_detect, stri_detect_charclass, stri_detect_coll, stri_detect_fixed, stri_detect_regex, stri_dup, stri_duplicated, stri_duplicated_any, stri_enc_detect, stri_enc_detect2, stri_enc_fromutf32, stri_enc_get, stri_enc_info, stri_enc_isascii, stri_enc_isutf16be, stri_enc_isutf16le, stri_enc_isutf32be, stri_enc_isutf32le, stri_enc_isutf8, stri_enc_list, stri_enc_mark, stri_enc_set, stri_enc_toascii, stri_enc_tonative, stri_enc_toutf32, stri_enc_toutf8, stri_encode, stri_endswith, stri_endswith_charclass, stri_endswith_coll, stri_endswith_fixed, stri_escape_unicode, stri_extract, stri_extract_all, stri_extract_all_boundaries, stri_extract_all_charclass, stri_extract_all_coll, stri_extract_all_fixed, stri_extract_all_regex, stri_extract_all_words, stri_extract_first, stri_extract_first_boundaries, stri_extract_first_charclass, stri_extract_first_coll, stri_extract_first_fixed, stri_extract_first_regex, stri_extract_first_words, stri_extract_last, stri_extract_last_boundaries, stri_extract_last_charclass, stri_extract_last_coll, stri_extract_last_fixed, stri_extract_last_regex, stri_extract_last_words, stri_flatten, stri_info, stri_isempty, stri_join, stri_join_list, stri_length, stri_list2matrix, stri_locale_get, stri_locale_info, stri_locale_list, stri_locale_set, stri_locate, stri_locate_all, stri_locate_all_boundaries, stri_locate_all_charclass, stri_locate_all_coll, stri_locate_all_fixed, stri_locate_all_regex, stri_locate_all_words, stri_locate_first, stri_locate_first_boundaries, stri_locate_first_charclass, stri_locate_first_coll, stri_locate_first_fixed, stri_locate_first_regex, stri_locate_first_words, stri_locate_last, stri_locate_last_boundaries, stri_locate_last_charclass, stri_locate_last_coll, stri_locate_last_fixed, stri_locate_last_regex, stri_locate_last_words, stri_match, stri_match_all, stri_match_all_regex, stri_match_first, stri_match_first_regex, stri_match_last, stri_match_last_regex, stri_na2empty, stri_numbytes, stri_opts_brkiter, stri_opts_collator, stri_opts_fixed, stri_opts_regex, stri_order, stri_pad, stri_pad_both, stri_pad_left, stri_pad_right, stri_paste, stri_paste_list, stri_rand_lipsum, stri_rand_shuffle, stri_rand_strings, stri_read_lines, stri_read_raw, stri_remove_empty, stri_replace, stri_replace_all, stri_replace_all_charclass, stri_replace_all_coll, stri_replace_all_fixed, stri_replace_all_regex, stri_replace_first, stri_replace_first_charclass, stri_replace_first_coll, stri_replace_first_fixed, stri_replace_first_regex, stri_replace_last, stri_replace_last_charclass, stri_replace_last_coll, stri_replace_last_fixed, stri_replace_last_regex, stri_replace_na, stri_reverse, stri_sort, stri_split, stri_split_boundaries, stri_split_charclass, stri_split_coll, stri_split_fixed, stri_split_lines, stri_split_lines1, stri_split_regex, stri_startswith, stri_startswith_charclass, stri_startswith_coll, stri_startswith_fixed, stri_stats_general, stri_stats_latex, stri_sub, stri_subset, stri_subset_charclass, stri_subset_coll, stri_subset_fixed, stri_subset_regex, stri_timezone_get, stri_timezone_info, stri_timezone_list, stri_timezone_set, stri_trans_char, stri_trans_general, stri_trans_isnfc, stri_trans_isnfd, stri_trans_isnfkc, stri_trans_isnfkc_casefold, stri_trans_isnfkd, stri_trans_list, stri_trans_nfc, stri_trans_nfd, stri_trans_nfkc, stri_trans_nfkc_casefold, stri_trans_nfkd, stri_trans_tolower, stri_trans_totitle, stri_trans_toupper, stri_trim, stri_trim_both, stri_trim_left, stri_trim_right, stri_unescape_unicode, stri_unique, stri_width, stri_wrap, stri_write_lines
  1: latlong1 %>% geo_inner_join(latlong2, max_dist = 1, distance_col = "distance") at testthat/test_geo_join.R:64
  2: withVisible(eval(quote(`_fseq`(`_lhs`)), env, env))
  3: eval(quote(`_fseq`(`_lhs`)), env, env)
  4: eval(quote(`_fseq`(`_lhs`)), env, env)
  5: `_fseq`(`_lhs`)
  6: freduce(value, `_function_list`)
  7: withVisible(function_list[[k]](value))
  8: function_list[[k]](value)
  9: geo_inner_join(., latlong2, max_dist = 1, distance_col = "distance")
  10: geo_join(x, y, by, max_dist = max_dist, method = method, mode = "inner", distance_col = distance_col, 
         ...)
  11: lapply(by, function(e) {
         if (length(e) != 2) {
             stop("Trying to join on ", paste(e, collapse = ", "), "; geo_join needs exactly two columns (latitude and longitude)")
         }
         firstthree <- stringr::str_extract(stringr::str_to_lower(e), "(lon|lat)")
         colmatches <- match(c("lon", "lat"), firstthree)
         if (any(is.na(colmatches)) || length(unique(colmatches)) != 2) {
             message("Could not determine which is lon/lat, using in given order")
             e
         }
         else {
             e[colmatches]
         }
     })
  12: FUN(X[[i]], ...)
  13: stringr::str_extract
  14: getExportedValue(pkg, name)
  15: asNamespace(ns)
  16: getNamespace(ns)
  17: tryCatch(loadNamespace(name), error = function(e) stop(e))
  18: tryCatchList(expr, classes, parentenv, handlers)
  19: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  20: value[[3L]](cond)
  
  -- 3. Error: regex joins work (@test_regex_join.R#9)  --------------------------
  undefined exports: %s!=%, %s!==%, %s+%, %s<%, %s<=%, %s==%, %s===%, %s>%, %s>=%, %stri!=%, %stri!==%, %stri+%, %stri<%, %stri<=%, %stri==%, %stri===%, %stri>%, %stri>=%, stri_datetime_add<-, stri_sub<-, stri_subset<-, stri_subset_charclass<-, stri_subset_coll<-, stri_subset_fixed<-, stri_subset_regex<-, stri_c, stri_c_list, stri_cmp, stri_cmp_eq, stri_cmp_equiv, stri_cmp_ge, stri_cmp_gt, stri_cmp_le, stri_cmp_lt, stri_cmp_neq, stri_cmp_nequiv, stri_compare, stri_conv, stri_count, stri_count_boundaries, stri_count_charclass, stri_count_coll, stri_count_fixed, stri_count_regex, stri_count_words, stri_datetime_add, stri_datetime_create, stri_datetime_fields, stri_datetime_format, stri_datetime_fstr, stri_datetime_now, stri_datetime_parse, stri_datetime_symbols, stri_detect, stri_detect_charclass, stri_detect_coll, stri_detect_fixed, stri_detect_regex, stri_dup, stri_duplicated, stri_duplicated_any, stri_enc_detect, stri_enc_detect2, stri_enc_fromutf32, stri_enc_get, stri_enc_info, stri_enc_isascii, stri_enc_isutf16be, stri_enc_isutf16le, stri_enc_isutf32be, stri_enc_isutf32le, stri_enc_isutf8, stri_enc_list, stri_enc_mark, stri_enc_set, stri_enc_toascii, stri_enc_tonative, stri_enc_toutf32, stri_enc_toutf8, stri_encode, stri_endswith, stri_endswith_charclass, stri_endswith_coll, stri_endswith_fixed, stri_escape_unicode, stri_extract, stri_extract_all, stri_extract_all_boundaries, stri_extract_all_charclass, stri_extract_all_coll, stri_extract_all_fixed, stri_extract_all_regex, stri_extract_all_words, stri_extract_first, stri_extract_first_boundaries, stri_extract_first_charclass, stri_extract_first_coll, stri_extract_first_fixed, stri_extract_first_regex, stri_extract_first_words, stri_extract_last, stri_extract_last_boundaries, stri_extract_last_charclass, stri_extract_last_coll, stri_extract_last_fixed, stri_extract_last_regex, stri_extract_last_words, stri_flatten, stri_info, stri_isempty, stri_join, stri_join_list, stri_length, stri_list2matrix, stri_locale_get, stri_locale_info, stri_locale_list, stri_locale_set, stri_locate, stri_locate_all, stri_locate_all_boundaries, stri_locate_all_charclass, stri_locate_all_coll, stri_locate_all_fixed, stri_locate_all_regex, stri_locate_all_words, stri_locate_first, stri_locate_first_boundaries, stri_locate_first_charclass, stri_locate_first_coll, stri_locate_first_fixed, stri_locate_first_regex, stri_locate_first_words, stri_locate_last, stri_locate_last_boundaries, stri_locate_last_charclass, stri_locate_last_coll, stri_locate_last_fixed, stri_locate_last_regex, stri_locate_last_words, stri_match, stri_match_all, stri_match_all_regex, stri_match_first, stri_match_first_regex, stri_match_last, stri_match_last_regex, stri_na2empty, stri_numbytes, stri_opts_brkiter, stri_opts_collator, stri_opts_fixed, stri_opts_regex, stri_order, stri_pad, stri_pad_both, stri_pad_left, stri_pad_right, stri_paste, stri_paste_list, stri_rand_lipsum, stri_rand_shuffle, stri_rand_strings, stri_read_lines, stri_read_raw, stri_remove_empty, stri_replace, stri_replace_all, stri_replace_all_charclass, stri_replace_all_coll, stri_replace_all_fixed, stri_replace_all_regex, stri_replace_first, stri_replace_first_charclass, stri_replace_first_coll, stri_replace_first_fixed, stri_replace_first_regex, stri_replace_last, stri_replace_last_charclass, stri_replace_last_coll, stri_replace_last_fixed, stri_replace_last_regex, stri_replace_na, stri_reverse, stri_sort, stri_split, stri_split_boundaries, stri_split_charclass, stri_split_coll, stri_split_fixed, stri_split_lines, stri_split_lines1, stri_split_regex, stri_startswith, stri_startswith_charclass, stri_startswith_coll, stri_startswith_fixed, stri_stats_general, stri_stats_latex, stri_sub, stri_subset, stri_subset_charclass, stri_subset_coll, stri_subset_fixed, stri_subset_regex, stri_timezone_get, stri_timezone_info, stri_timezone_list, stri_timezone_set, stri_trans_char, stri_trans_general, stri_trans_isnfc, stri_trans_isnfd, stri_trans_isnfkc, stri_trans_isnfkc_casefold, stri_trans_isnfkd, stri_trans_list, stri_trans_nfc, stri_trans_nfd, stri_trans_nfkc, stri_trans_nfkc_casefold, stri_trans_nfkd, stri_trans_tolower, stri_trans_totitle, stri_trans_toupper, stri_trim, stri_trim_both, stri_trim_left, stri_trim_right, stri_unescape_unicode, stri_unique, stri_width, stri_wrap, stri_write_lines
  1: diamonds %>% regex_inner_join(d, by = c(cut = "cut_regex")) at testthat/test_regex_join.R:9
  2: withVisible(eval(quote(`_fseq`(`_lhs`)), env, env))
  3: eval(quote(`_fseq`(`_lhs`)), env, env)
  4: eval(quote(`_fseq`(`_lhs`)), env, env)
  5: `_fseq`(`_lhs`)
  6: freduce(value, `_function_list`)
  7: withVisible(function_list[[k]](value))
  8: function_list[[k]](value)
  9: regex_inner_join(., d, by = c(cut = "cut_regex"))
  10: regex_join(x, y, by, mode = "inner", ignore_case = ignore_case)
  ...
  16: FUN(X[[i]], ...)
  17: mf(rep(u_x, n_y), rep(u_y, each = n_x), ...)
  18: stringr::str_detect
  19: getExportedValue(pkg, name)
  20: asNamespace(ns)
  21: getNamespace(ns)
  22: tryCatch(loadNamespace(name), error = function(e) stop(e))
  23: tryCatchList(expr, classes, parentenv, handlers)
  24: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  25: value[[3L]](cond)
  
  -- 4. Error: stringdist_inner_join works on a large df with multiples in each (@
  undefined exports: %s!=%, %s!==%, %s+%, %s<%, %s<=%, %s==%, %s===%, %s>%, %s>=%, %stri!=%, %stri!==%, %stri+%, %stri<%, %stri<=%, %stri==%, %stri===%, %stri>%, %stri>=%, stri_datetime_add<-, stri_sub<-, stri_subset<-, stri_subset_charclass<-, stri_subset_coll<-, stri_subset_fixed<-, stri_subset_regex<-, stri_c, stri_c_list, stri_cmp, stri_cmp_eq, stri_cmp_equiv, stri_cmp_ge, stri_cmp_gt, stri_cmp_le, stri_cmp_lt, stri_cmp_neq, stri_cmp_nequiv, stri_compare, stri_conv, stri_count, stri_count_boundaries, stri_count_charclass, stri_count_coll, stri_count_fixed, stri_count_regex, stri_count_words, stri_datetime_add, stri_datetime_create, stri_datetime_fields, stri_datetime_format, stri_datetime_fstr, stri_datetime_now, stri_datetime_parse, stri_datetime_symbols, stri_detect, stri_detect_charclass, stri_detect_coll, stri_detect_fixed, stri_detect_regex, stri_dup, stri_duplicated, stri_duplicated_any, stri_enc_detect, stri_enc_detect2, stri_enc_fromutf32, stri_enc_get, stri_enc_info, stri_enc_isascii, stri_enc_isutf16be, stri_enc_isutf16le, stri_enc_isutf32be, stri_enc_isutf32le, stri_enc_isutf8, stri_enc_list, stri_enc_mark, stri_enc_set, stri_enc_toascii, stri_enc_tonative, stri_enc_toutf32, stri_enc_toutf8, stri_encode, stri_endswith, stri_endswith_charclass, stri_endswith_coll, stri_endswith_fixed, stri_escape_unicode, stri_extract, stri_extract_all, stri_extract_all_boundaries, stri_extract_all_charclass, stri_extract_all_coll, stri_extract_all_fixed, stri_extract_all_regex, stri_extract_all_words, stri_extract_first, stri_extract_first_boundaries, stri_extract_first_charclass, stri_extract_first_coll, stri_extract_first_fixed, stri_extract_first_regex, stri_extract_first_words, stri_extract_last, stri_extract_last_boundaries, stri_extract_last_charclass, stri_extract_last_coll, stri_extract_last_fixed, stri_extract_last_regex, stri_extract_last_words, stri_flatten, stri_info, stri_isempty, stri_join, stri_join_list, stri_length, stri_list2matrix, stri_locale_get, stri_locale_info, stri_locale_list, stri_locale_set, stri_locate, stri_locate_all, stri_locate_all_boundaries, stri_locate_all_charclass, stri_locate_all_coll, stri_locate_all_fixed, stri_locate_all_regex, stri_locate_all_words, stri_locate_first, stri_locate_first_boundaries, stri_locate_first_charclass, stri_locate_first_coll, stri_locate_first_fixed, stri_locate_first_regex, stri_locate_first_words, stri_locate_last, stri_locate_last_boundaries, stri_locate_last_charclass, stri_locate_last_coll, stri_locate_last_fixed, stri_locate_last_regex, stri_locate_last_words, stri_match, stri_match_all, stri_match_all_regex, stri_match_first, stri_match_first_regex, stri_match_last, stri_match_last_regex, stri_na2empty, stri_numbytes, stri_opts_brkiter, stri_opts_collator, stri_opts_fixed, stri_opts_regex, stri_order, stri_pad, stri_pad_both, stri_pad_left, stri_pad_right, stri_paste, stri_paste_list, stri_rand_lipsum, stri_rand_shuffle, stri_rand_strings, stri_read_lines, stri_read_raw, stri_remove_empty, stri_replace, stri_replace_all, stri_replace_all_charclass, stri_replace_all_coll, stri_replace_all_fixed, stri_replace_all_regex, stri_replace_first, stri_replace_first_charclass, stri_replace_first_coll, stri_replace_first_fixed, stri_replace_first_regex, stri_replace_last, stri_replace_last_charclass, stri_replace_last_coll, stri_replace_last_fixed, stri_replace_last_regex, stri_replace_na, stri_reverse, stri_sort, stri_split, stri_split_boundaries, stri_split_charclass, stri_split_coll, stri_split_fixed, stri_split_lines, stri_split_lines1, stri_split_regex, stri_startswith, stri_startswith_charclass, stri_startswith_coll, stri_startswith_fixed, stri_stats_general, stri_stats_latex, stri_sub, stri_subset, stri_subset_charclass, stri_subset_coll, stri_subset_fixed, stri_subset_regex, stri_timezone_get, stri_timezone_info, stri_timezone_list, stri_timezone_set, stri_trans_char, stri_trans_general, stri_trans_isnfc, stri_trans_isnfd, stri_trans_isnfkc, stri_trans_isnfkc_casefold, stri_trans_isnfkd, stri_trans_list, stri_trans_nfc, stri_trans_nfd, stri_trans_nfkc, stri_trans_nfkc_casefold, stri_trans_nfkd, stri_trans_tolower, stri_trans_totitle, stri_trans_toupper, stri_trim, stri_trim_both, stri_trim_left, stri_trim_right, stri_unescape_unicode, stri_unique, stri_width, stri_wrap, stri_write_lines
  1: stringdist_inner_join(diamonds, d, by = c(cut = "cut2"), distance_col = "distance") at testthat/test_stringdist_join.R:10
  2: stringdist_join(x, y, by, mode = "inner", distance_col = distance_col, ...)
  3: fuzzy_join(x, y, by = by, mode = mode, match_fun = match_fun)
  4: dplyr::bind_rows(lapply(seq_along(by$x), function(i) {
         col_x <- x[[by$x[i]]]
         col_y <- y[[by$y[i]]]
         indices_x <- dplyr::data_frame(col = col_x, indices = seq_along(col_x)) %>% tidyr::nest(indices) %>% 
             dplyr::mutate(indices = purrr::map(data, "indices"))
         indices_y <- dplyr::data_frame(col = col_y, indices = seq_along(col_y)) %>% tidyr::nest(indices) %>% 
             dplyr::mutate(indices = purrr::map(data, "indices"))
         u_x <- indices_x$col
         u_y <- indices_y$col
         if (!is.null(names(match_fun))) {
             mf <- match_fun[[by$x[[i]]]]
         }
         else {
             mf <- match_fun[[i]]
         }
         extra_cols <- NULL
         n_x <- length(u_x)
         n_y <- length(u_y)
         m <- mf(rep(u_x, n_y), rep(u_y, each = n_x), ...)
         if (is.data.frame(m)) {
             if (ncol(m) > 1) {
                 extra_cols <- m[, -1, drop = FALSE]
             }
             m <- m[[1]]
         }
         w <- which(m) - 1
         if (length(w) == 0) {
             ret <- dplyr::data_frame(i = numeric(0), x = numeric(0), y = numeric(0))
             return(ret)
         }
         x_indices_l <- indices_x$indices[w%%n_x + 1]
         y_indices_l <- indices_y$indices[w%/%n_x + 1]
         xls <- sapply(x_indices_l, length)
         yls <- sapply(y_indices_l, length)
         x_rep <- unlist(purrr::map2(x_indices_l, yls, function(x, y) rep(x, each = y)))
         y_rep <- unlist(purrr::map2(y_indices_l, xls, function(y, x) rep(y, x)))
         ret <- dplyr::data_frame(i = i, x = x_rep, y = y_rep)
         if (!is.null(extra_cols)) {
             extra_indices <- rep(w, xls * yls)
             extra_cols_rep <- extra_cols[extra_indices + 1, , drop = FALSE]
             ret <- dplyr::bind_cols(ret, extra_cols_rep)
         }
         ret
     }))
  5: flatten_bindable(dots_values(...))
  6: dots_values(...)
  7: lapply(seq_along(by$x), function(i) {
         col_x <- x[[by$x[i]]]
         col_y <- y[[by$y[i]]]
         indices_x <- dplyr::data_frame(col = col_x, indices = seq_along(col_x)) %>% tidyr::nest(indices) %>% 
             dplyr::mutate(indices = purrr::map(data, "indices"))
         indices_y <- dplyr::data_frame(col = col_y, indices = seq_along(col_y)) %>% tidyr::nest(indices) %>% 
             dplyr::mutate(indices = purrr::map(data, "indices"))
         u_x <- indices_x$col
         u_y <- indices_y$col
         if (!is.null(names(match_fun))) {
             mf <- match_fun[[by$x[[i]]]]
         }
         else {
             mf <- match_fun[[i]]
         }
         extra_cols <- NULL
         n_x <- length(u_x)
         n_y <- length(u_y)
         m <- mf(rep(u_x, n_y), rep(u_y, each = n_x), ...)
         if (is.data.frame(m)) {
             if (ncol(m) > 1) {
                 extra_cols <- m[, -1, drop = FALSE]
             }
             m <- m[[1]]
         }
         w <- which(m) - 1
         if (length(w) == 0) {
             ret <- dplyr::data_frame(i = numeric(0), x = numeric(0), y = numeric(0))
             return(ret)
         }
         x_indices_l <- indices_x$indices[w%%n_x + 1]
         y_indices_l <- indices_y$indices[w%/%n_x + 1]
         xls <- sapply(x_indices_l, length)
         yls <- sapply(y_indices_l, length)
         x_rep <- unlist(purrr::map2(x_indices_l, yls, function(x, y) rep(x, each = y)))
         y_rep <- unlist(purrr::map2(y_indices_l, xls, function(y, x) rep(y, x)))
         ret <- dplyr::data_frame(i = i, x = x_rep, y = y_rep)
         if (!is.null(extra_cols)) {
             extra_indices <- rep(w, xls * yls)
             extra_cols_rep <- extra_cols[extra_indices + 1, , drop = FALSE]
             ret <- dplyr::bind_cols(ret, extra_cols_rep)
         }
         ret
     })
  8: FUN(X[[i]], ...)
  9: mf(rep(u_x, n_y), rep(u_y, each = n_x), ...)
  10: stringr::str_length
  11: getExportedValue(pkg, name)
  12: asNamespace(ns)
  13: getNamespace(ns)
  14: tryCatch(loadNamespace(name), error = function(e) stop(e))
  15: tryCatchList(expr, classes, parentenv, handlers)
  16: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  17: value[[3L]](cond)
  
  -- 5. Error: stringdist_left_join works as expected (@test_stringdist_join.R#41)
  undefined exports: %s!=%, %s!==%, %s+%, %s<%, %s<=%, %s==%, %s===%, %s>%, %s>=%, %stri!=%, %stri!==%, %stri+%, %stri<%, %stri<=%, %stri==%, %stri===%, %stri>%, %stri>=%, stri_datetime_add<-, stri_sub<-, stri_subset<-, stri_subset_charclass<-, stri_subset_coll<-, stri_subset_fixed<-, stri_subset_regex<-, stri_c, stri_c_list, stri_cmp, stri_cmp_eq, stri_cmp_equiv, stri_cmp_ge, stri_cmp_gt, stri_cmp_le, stri_cmp_lt, stri_cmp_neq, stri_cmp_nequiv, stri_compare, stri_conv, stri_count, stri_count_boundaries, stri_count_charclass, stri_count_coll, stri_count_fixed, stri_count_regex, stri_count_words, stri_datetime_add, stri_datetime_create, stri_datetime_fields, stri_datetime_format, stri_datetime_fstr, stri_datetime_now, stri_datetime_parse, stri_datetime_symbols, stri_detect, stri_detect_charclass, stri_detect_coll, stri_detect_fixed, stri_detect_regex, stri_dup, stri_duplicated, stri_duplicated_any, stri_enc_detect, stri_enc_detect2, stri_enc_fromutf32, stri_enc_get, stri_enc_info, stri_enc_isascii, stri_enc_isutf16be, stri_enc_isutf16le, stri_enc_isutf32be, stri_enc_isutf32le, stri_enc_isutf8, stri_enc_list, stri_enc_mark, stri_enc_set, stri_enc_toascii, stri_enc_tonative, stri_enc_toutf32, stri_enc_toutf8, stri_encode, stri_endswith, stri_endswith_charclass, stri_endswith_coll, stri_endswith_fixed, stri_escape_unicode, stri_extract, stri_extract_all, stri_extract_all_boundaries, stri_extract_all_charclass, stri_extract_all_coll, stri_extract_all_fixed, stri_extract_all_regex, stri_extract_all_words, stri_extract_first, stri_extract_first_boundaries, stri_extract_first_charclass, stri_extract_first_coll, stri_extract_first_fixed, stri_extract_first_regex, stri_extract_first_words, stri_extract_last, stri_extract_last_boundaries, stri_extract_last_charclass, stri_extract_last_coll, stri_extract_last_fixed, stri_extract_last_regex, stri_extract_last_words, stri_flatten, stri_info, stri_isempty, stri_join, stri_join_list, stri_length, stri_list2matrix, stri_locale_get, stri_locale_info, stri_locale_list, stri_locale_set, stri_locate, stri_locate_all, stri_locate_all_boundaries, stri_locate_all_charclass, stri_locate_all_coll, stri_locate_all_fixed, stri_locate_all_regex, stri_locate_all_words, stri_locate_first, stri_locate_first_boundaries, stri_locate_first_charclass, stri_locate_first_coll, stri_locate_first_fixed, stri_locate_first_regex, stri_locate_first_words, stri_locate_last, stri_locate_last_boundaries, stri_locate_last_charclass, stri_locate_last_coll, stri_locate_last_fixed, stri_locate_last_regex, stri_locate_last_words, stri_match, stri_match_all, stri_match_all_regex, stri_match_first, stri_match_first_regex, stri_match_last, stri_match_last_regex, stri_na2empty, stri_numbytes, stri_opts_brkiter, stri_opts_collator, stri_opts_fixed, stri_opts_regex, stri_order, stri_pad, stri_pad_both, stri_pad_left, stri_pad_right, stri_paste, stri_paste_list, stri_rand_lipsum, stri_rand_shuffle, stri_rand_strings, stri_read_lines, stri_read_raw, stri_remove_empty, stri_replace, stri_replace_all, stri_replace_all_charclass, stri_replace_all_coll, stri_replace_all_fixed, stri_replace_all_regex, stri_replace_first, stri_replace_first_charclass, stri_replace_first_coll, stri_replace_first_fixed, stri_replace_first_regex, stri_replace_last, stri_replace_last_charclass, stri_replace_last_coll, stri_replace_last_fixed, stri_replace_last_regex, stri_replace_na, stri_reverse, stri_sort, stri_split, stri_split_boundaries, stri_split_charclass, stri_split_coll, stri_split_fixed, stri_split_lines, stri_split_lines1, stri_split_regex, stri_startswith, stri_startswith_charclass, stri_startswith_coll, stri_startswith_fixed, stri_stats_general, stri_stats_latex, stri_sub, stri_subset, stri_subset_charclass, stri_subset_coll, stri_subset_fixed, stri_subset_regex, stri_timezone_get, stri_timezone_info, stri_timezone_list, stri_timezone_set, stri_trans_char, stri_trans_general, stri_trans_isnfc, stri_trans_isnfd, stri_trans_isnfkc, stri_trans_isnfkc_casefold, stri_trans_isnfkd, stri_trans_list, stri_trans_nfc, stri_trans_nfd, stri_trans_nfkc, stri_trans_nfkc_casefold, stri_trans_nfkd, stri_trans_tolower, stri_trans_totitle, stri_trans_toupper, stri_trim, stri_trim_both, stri_trim_left, stri_trim_right, stri_unescape_unicode, stri_unique, stri_width, stri_wrap, stri_write_lines
  1: diamonds %>% stringdist_left_join(d2, by = c(cut = "cut2")) at testthat/test_stringdist_join.R:41
  2: withVisible(eval(quote(`_fseq`(`_lhs`)), env, env))
  3: eval(quote(`_fseq`(`_lhs`)), env, env)
  4: eval(quote(`_fseq`(`_lhs`)), env, env)
  5: `_fseq`(`_lhs`)
  6: freduce(value, `_function_list`)
  7: withVisible(function_list[[k]](value))
  8: function_list[[k]](value)
  9: stringdist_left_join(., d2, by = c(cut = "cut2"))
  10: stringdist_join(x, y, by, mode = "left", distance_col = distance_col, ...)
  ...
  16: FUN(X[[i]], ...)
  17: mf(rep(u_x, n_y), rep(u_y, each = n_x), ...)
  18: stringr::str_length
  19: getExportedValue(pkg, name)
  20: asNamespace(ns)
  21: getNamespace(ns)
  22: tryCatch(loadNamespace(name), error = function(e) stop(e))
  23: tryCatchList(expr, classes, parentenv, handlers)
  24: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  25: value[[3L]](cond)
  
  -- 6. Error: stringdist_right_join works as expected (@test_stringdist_join.R#57
  undefined exports: %s!=%, %s!==%, %s+%, %s<%, %s<=%, %s==%, %s===%, %s>%, %s>=%, %stri!=%, %stri!==%, %stri+%, %stri<%, %stri<=%, %stri==%, %stri===%, %stri>%, %stri>=%, stri_datetime_add<-, stri_sub<-, stri_subset<-, stri_subset_charclass<-, stri_subset_coll<-, stri_subset_fixed<-, stri_subset_regex<-, stri_c, stri_c_list, stri_cmp, stri_cmp_eq, stri_cmp_equiv, stri_cmp_ge, stri_cmp_gt, stri_cmp_le, stri_cmp_lt, stri_cmp_neq, stri_cmp_nequiv, stri_compare, stri_conv, stri_count, stri_count_boundaries, stri_count_charclass, stri_count_coll, stri_count_fixed, stri_count_regex, stri_count_words, stri_datetime_add, stri_datetime_create, stri_datetime_fields, stri_datetime_format, stri_datetime_fstr, stri_datetime_now, stri_datetime_parse, stri_datetime_symbols, stri_detect, stri_detect_charclass, stri_detect_coll, stri_detect_fixed, stri_detect_regex, stri_dup, stri_duplicated, stri_duplicated_any, stri_enc_detect, stri_enc_detect2, stri_enc_fromutf32, stri_enc_get, stri_enc_info, stri_enc_isascii, stri_enc_isutf16be, stri_enc_isutf16le, stri_enc_isutf32be, stri_enc_isutf32le, stri_enc_isutf8, stri_enc_list, stri_enc_mark, stri_enc_set, stri_enc_toascii, stri_enc_tonative, stri_enc_toutf32, stri_enc_toutf8, stri_encode, stri_endswith, stri_endswith_charclass, stri_endswith_coll, stri_endswith_fixed, stri_escape_unicode, stri_extract, stri_extract_all, stri_extract_all_boundaries, stri_extract_all_charclass, stri_extract_all_coll, stri_extract_all_fixed, stri_extract_all_regex, stri_extract_all_words, stri_extract_first, stri_extract_first_boundaries, stri_extract_first_charclass, stri_extract_first_coll, stri_extract_first_fixed, stri_extract_first_regex, stri_extract_first_words, stri_extract_last, stri_extract_last_boundaries, stri_extract_last_charclass, stri_extract_last_coll, stri_extract_last_fixed, stri_extract_last_regex, stri_extract_last_words, stri_flatten, stri_info, stri_isempty, stri_join, stri_join_list, stri_length, stri_list2matrix, stri_locale_get, stri_locale_info, stri_locale_list, stri_locale_set, stri_locate, stri_locate_all, stri_locate_all_boundaries, stri_locate_all_charclass, stri_locate_all_coll, stri_locate_all_fixed, stri_locate_all_regex, stri_locate_all_words, stri_locate_first, stri_locate_first_boundaries, stri_locate_first_charclass, stri_locate_first_coll, stri_locate_first_fixed, stri_locate_first_regex, stri_locate_first_words, stri_locate_last, stri_locate_last_boundaries, stri_locate_last_charclass, stri_locate_last_coll, stri_locate_last_fixed, stri_locate_last_regex, stri_locate_last_words, stri_match, stri_match_all, stri_match_all_regex, stri_match_first, stri_match_first_regex, stri_match_last, stri_match_last_regex, stri_na2empty, stri_numbytes, stri_opts_brkiter, stri_opts_collator, stri_opts_fixed, stri_opts_regex, stri_order, stri_pad, stri_pad_both, stri_pad_left, stri_pad_right, stri_paste, stri_paste_list, stri_rand_lipsum, stri_rand_shuffle, stri_rand_strings, stri_read_lines, stri_read_raw, stri_remove_empty, stri_replace, stri_replace_all, stri_replace_all_charclass, stri_replace_all_coll, stri_replace_all_fixed, stri_replace_all_regex, stri_replace_first, stri_replace_first_charclass, stri_replace_first_coll, stri_replace_first_fixed, stri_replace_first_regex, stri_replace_last, stri_replace_last_charclass, stri_replace_last_coll, stri_replace_last_fixed, stri_replace_last_regex, stri_replace_na, stri_reverse, stri_sort, stri_split, stri_split_boundaries, stri_split_charclass, stri_split_coll, stri_split_fixed, stri_split_lines, stri_split_lines1, stri_split_regex, stri_startswith, stri_startswith_charclass, stri_startswith_coll, stri_startswith_fixed, stri_stats_general, stri_stats_latex, stri_sub, stri_subset, stri_subset_charclass, stri_subset_coll, stri_subset_fixed, stri_subset_regex, stri_timezone_get, stri_timezone_info, stri_timezone_list, stri_timezone_set, stri_trans_char, stri_trans_general, stri_trans_isnfc, stri_trans_isnfd, stri_trans_isnfkc, stri_trans_isnfkc_casefold, stri_trans_isnfkd, stri_trans_list, stri_trans_nfc, stri_trans_nfd, stri_trans_nfkc, stri_trans_nfkc_casefold, stri_trans_nfkd, stri_trans_tolower, stri_trans_totitle, stri_trans_toupper, stri_trim, stri_trim_both, stri_trim_left, stri_trim_right, stri_unescape_unicode, stri_unique, stri_width, stri_wrap, stri_write_lines
  1: diamonds %>% stringdist_right_join(d3, by = c(cut = "cut2")) at testthat/test_stringdist_join.R:57
  2: withVisible(eval(quote(`_fseq`(`_lhs`)), env, env))
  3: eval(quote(`_fseq`(`_lhs`)), env, env)
  4: eval(quote(`_fseq`(`_lhs`)), env, env)
  5: `_fseq`(`_lhs`)
  6: freduce(value, `_function_list`)
  7: withVisible(function_list[[k]](value))
  8: function_list[[k]](value)
  9: stringdist_right_join(., d3, by = c(cut = "cut2"))
  10: stringdist_join(x, y, by, mode = "right", distance_col = distance_col, ...)
  ...
  16: FUN(X[[i]], ...)
  17: mf(rep(u_x, n_y), rep(u_y, each = n_x), ...)
  18: stringr::str_length
  19: getExportedValue(pkg, name)
  20: asNamespace(ns)
  21: getNamespace(ns)
  22: tryCatch(loadNamespace(name), error = function(e) stop(e))
  23: tryCatchList(expr, classes, parentenv, handlers)
  24: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  25: value[[3L]](cond)
  
  -- 7. Error: stringdist_full_join works as expected (@test_stringdist_join.R#72)
  undefined exports: %s!=%, %s!==%, %s+%, %s<%, %s<=%, %s==%, %s===%, %s>%, %s>=%, %stri!=%, %stri!==%, %stri+%, %stri<%, %stri<=%, %stri==%, %stri===%, %stri>%, %stri>=%, stri_datetime_add<-, stri_sub<-, stri_subset<-, stri_subset_charclass<-, stri_subset_coll<-, stri_subset_fixed<-, stri_subset_regex<-, stri_c, stri_c_list, stri_cmp, stri_cmp_eq, stri_cmp_equiv, stri_cmp_ge, stri_cmp_gt, stri_cmp_le, stri_cmp_lt, stri_cmp_neq, stri_cmp_nequiv, stri_compare, stri_conv, stri_count, stri_count_boundaries, stri_count_charclass, stri_count_coll, stri_count_fixed, stri_count_regex, stri_count_words, stri_datetime_add, stri_datetime_create, stri_datetime_fields, stri_datetime_format, stri_datetime_fstr, stri_datetime_now, stri_datetime_parse, stri_datetime_symbols, stri_detect, stri_detect_charclass, stri_detect_coll, stri_detect_fixed, stri_detect_regex, stri_dup, stri_duplicated, stri_duplicated_any, stri_enc_detect, stri_enc_detect2, stri_enc_fromutf32, stri_enc_get, stri_enc_info, stri_enc_isascii, stri_enc_isutf16be, stri_enc_isutf16le, stri_enc_isutf32be, stri_enc_isutf32le, stri_enc_isutf8, stri_enc_list, stri_enc_mark, stri_enc_set, stri_enc_toascii, stri_enc_tonative, stri_enc_toutf32, stri_enc_toutf8, stri_encode, stri_endswith, stri_endswith_charclass, stri_endswith_coll, stri_endswith_fixed, stri_escape_unicode, stri_extract, stri_extract_all, stri_extract_all_boundaries, stri_extract_all_charclass, stri_extract_all_coll, stri_extract_all_fixed, stri_extract_all_regex, stri_extract_all_words, stri_extract_first, stri_extract_first_boundaries, stri_extract_first_charclass, stri_extract_first_coll, stri_extract_first_fixed, stri_extract_first_regex, stri_extract_first_words, stri_extract_last, stri_extract_last_boundaries, stri_extract_last_charclass, stri_extract_last_coll, stri_extract_last_fixed, stri_extract_last_regex, stri_extract_last_words, stri_flatten, stri_info, stri_isempty, stri_join, stri_join_list, stri_length, stri_list2matrix, stri_locale_get, stri_locale_info, stri_locale_list, stri_locale_set, stri_locate, stri_locate_all, stri_locate_all_boundaries, stri_locate_all_charclass, stri_locate_all_coll, stri_locate_all_fixed, stri_locate_all_regex, stri_locate_all_words, stri_locate_first, stri_locate_first_boundaries, stri_locate_first_charclass, stri_locate_first_coll, stri_locate_first_fixed, stri_locate_first_regex, stri_locate_first_words, stri_locate_last, stri_locate_last_boundaries, stri_locate_last_charclass, stri_locate_last_coll, stri_locate_last_fixed, stri_locate_last_regex, stri_locate_last_words, stri_match, stri_match_all, stri_match_all_regex, stri_match_first, stri_match_first_regex, stri_match_last, stri_match_last_regex, stri_na2empty, stri_numbytes, stri_opts_brkiter, stri_opts_collator, stri_opts_fixed, stri_opts_regex, stri_order, stri_pad, stri_pad_both, stri_pad_left, stri_pad_right, stri_paste, stri_paste_list, stri_rand_lipsum, stri_rand_shuffle, stri_rand_strings, stri_read_lines, stri_read_raw, stri_remove_empty, stri_replace, stri_replace_all, stri_replace_all_charclass, stri_replace_all_coll, stri_replace_all_fixed, stri_replace_all_regex, stri_replace_first, stri_replace_first_charclass, stri_replace_first_coll, stri_replace_first_fixed, stri_replace_first_regex, stri_replace_last, stri_replace_last_charclass, stri_replace_last_coll, stri_replace_last_fixed, stri_replace_last_regex, stri_replace_na, stri_reverse, stri_sort, stri_split, stri_split_boundaries, stri_split_charclass, stri_split_coll, stri_split_fixed, stri_split_lines, stri_split_lines1, stri_split_regex, stri_startswith, stri_startswith_charclass, stri_startswith_coll, stri_startswith_fixed, stri_stats_general, stri_stats_latex, stri_sub, stri_subset, stri_subset_charclass, stri_subset_coll, stri_subset_fixed, stri_subset_regex, stri_timezone_get, stri_timezone_info, stri_timezone_list, stri_timezone_set, stri_trans_char, stri_trans_general, stri_trans_isnfc, stri_trans_isnfd, stri_trans_isnfkc, stri_trans_isnfkc_casefold, stri_trans_isnfkd, stri_trans_list, stri_trans_nfc, stri_trans_nfd, stri_trans_nfkc, stri_trans_nfkc_casefold, stri_trans_nfkd, stri_trans_tolower, stri_trans_totitle, stri_trans_toupper, stri_trim, stri_trim_both, stri_trim_left, stri_trim_right, stri_unescape_unicode, stri_unique, stri_width, stri_wrap, stri_write_lines
  1: diamonds %>% stringdist_full_join(d3, by = c(cut = "cut2")) at testthat/test_stringdist_join.R:72
  2: withVisible(eval(quote(`_fseq`(`_lhs`)), env, env))
  3: eval(quote(`_fseq`(`_lhs`)), env, env)
  4: eval(quote(`_fseq`(`_lhs`)), env, env)
  5: `_fseq`(`_lhs`)
  6: freduce(value, `_function_list`)
  7: withVisible(function_list[[k]](value))
  8: function_list[[k]](value)
  9: stringdist_full_join(., d3, by = c(cut = "cut2"))
  10: stringdist_join(x, y, by, mode = "full", distance_col = distance_col, ...)
  ...
  16: FUN(X[[i]], ...)
  17: mf(rep(u_x, n_y), rep(u_y, each = n_x), ...)
  18: stringr::str_length
  19: getExportedValue(pkg, name)
  20: asNamespace(ns)
  21: getNamespace(ns)
  22: tryCatch(loadNamespace(name), error = function(e) stop(e))
  23: tryCatchList(expr, classes, parentenv, handlers)
  24: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  25: value[[3L]](cond)
  
  -- 8. Error: stringdist_semi_join works as expected (@test_stringdist_join.R#91)
  undefined exports: %s!=%, %s!==%, %s+%, %s<%, %s<=%, %s==%, %s===%, %s>%, %s>=%, %stri!=%, %stri!==%, %stri+%, %stri<%, %stri<=%, %stri==%, %stri===%, %stri>%, %stri>=%, stri_datetime_add<-, stri_sub<-, stri_subset<-, stri_subset_charclass<-, stri_subset_coll<-, stri_subset_fixed<-, stri_subset_regex<-, stri_c, stri_c_list, stri_cmp, stri_cmp_eq, stri_cmp_equiv, stri_cmp_ge, stri_cmp_gt, stri_cmp_le, stri_cmp_lt, stri_cmp_neq, stri_cmp_nequiv, stri_compare, stri_conv, stri_count, stri_count_boundaries, stri_count_charclass, stri_count_coll, stri_count_fixed, stri_count_regex, stri_count_words, stri_datetime_add, stri_datetime_create, stri_datetime_fields, stri_datetime_format, stri_datetime_fstr, stri_datetime_now, stri_datetime_parse, stri_datetime_symbols, stri_detect, stri_detect_charclass, stri_detect_coll, stri_detect_fixed, stri_detect_regex, stri_dup, stri_duplicated, stri_duplicated_any, stri_enc_detect, stri_enc_detect2, stri_enc_fromutf32, stri_enc_get, stri_enc_info, stri_enc_isascii, stri_enc_isutf16be, stri_enc_isutf16le, stri_enc_isutf32be, stri_enc_isutf32le, stri_enc_isutf8, stri_enc_list, stri_enc_mark, stri_enc_set, stri_enc_toascii, stri_enc_tonative, stri_enc_toutf32, stri_enc_toutf8, stri_encode, stri_endswith, stri_endswith_charclass, stri_endswith_coll, stri_endswith_fixed, stri_escape_unicode, stri_extract, stri_extract_all, stri_extract_all_boundaries, stri_extract_all_charclass, stri_extract_all_coll, stri_extract_all_fixed, stri_extract_all_regex, stri_extract_all_words, stri_extract_first, stri_extract_first_boundaries, stri_extract_first_charclass, stri_extract_first_coll, stri_extract_first_fixed, stri_extract_first_regex, stri_extract_first_words, stri_extract_last, stri_extract_last_boundaries, stri_extract_last_charclass, stri_extract_last_coll, stri_extract_last_fixed, stri_extract_last_regex, stri_extract_last_words, stri_flatten, stri_info, stri_isempty, stri_join, stri_join_list, stri_length, stri_list2matrix, stri_locale_get, stri_locale_info, stri_locale_list, stri_locale_set, stri_locate, stri_locate_all, stri_locate_all_boundaries, stri_locate_all_charclass, stri_locate_all_coll, stri_locate_all_fixed, stri_locate_all_regex, stri_locate_all_words, stri_locate_first, stri_locate_first_boundaries, stri_locate_first_charclass, stri_locate_first_coll, stri_locate_first_fixed, stri_locate_first_regex, stri_locate_first_words, stri_locate_last, stri_locate_last_boundaries, stri_locate_last_charclass, stri_locate_last_coll, stri_locate_last_fixed, stri_locate_last_regex, stri_locate_last_words, stri_match, stri_match_all, stri_match_all_regex, stri_match_first, stri_match_first_regex, stri_match_last, stri_match_last_regex, stri_na2empty, stri_numbytes, stri_opts_brkiter, stri_opts_collator, stri_opts_fixed, stri_opts_regex, stri_order, stri_pad, stri_pad_both, stri_pad_left, stri_pad_right, stri_paste, stri_paste_list, stri_rand_lipsum, stri_rand_shuffle, stri_rand_strings, stri_read_lines, stri_read_raw, stri_remove_empty, stri_replace, stri_replace_all, stri_replace_all_charclass, stri_replace_all_coll, stri_replace_all_fixed, stri_replace_all_regex, stri_replace_first, stri_replace_first_charclass, stri_replace_first_coll, stri_replace_first_fixed, stri_replace_first_regex, stri_replace_last, stri_replace_last_charclass, stri_replace_last_coll, stri_replace_last_fixed, stri_replace_last_regex, stri_replace_na, stri_reverse, stri_sort, stri_split, stri_split_boundaries, stri_split_charclass, stri_split_coll, stri_split_fixed, stri_split_lines, stri_split_lines1, stri_split_regex, stri_startswith, stri_startswith_charclass, stri_startswith_coll, stri_startswith_fixed, stri_stats_general, stri_stats_latex, stri_sub, stri_subset, stri_subset_charclass, stri_subset_coll, stri_subset_fixed, stri_subset_regex, stri_timezone_get, stri_timezone_info, stri_timezone_list, stri_timezone_set, stri_trans_char, stri_trans_general, stri_trans_isnfc, stri_trans_isnfd, stri_trans_isnfkc, stri_trans_isnfkc_casefold, stri_trans_isnfkd, stri_trans_list, stri_trans_nfc, stri_trans_nfd, stri_trans_nfkc, stri_trans_nfkc_casefold, stri_trans_nfkd, stri_trans_tolower, stri_trans_totitle, stri_trans_toupper, stri_trim, stri_trim_both, stri_trim_left, stri_trim_right, stri_unescape_unicode, stri_unique, stri_width, stri_wrap, stri_write_lines
  1: diamonds %>% stringdist_semi_join(d2, by = c(cut = "cut2")) at testthat/test_stringdist_join.R:91
  2: withVisible(eval(quote(`_fseq`(`_lhs`)), env, env))
  3: eval(quote(`_fseq`(`_lhs`)), env, env)
  4: eval(quote(`_fseq`(`_lhs`)), env, env)
  5: `_fseq`(`_lhs`)
  6: freduce(value, `_function_list`)
  7: withVisible(function_list[[k]](value))
  8: function_list[[k]](value)
  9: stringdist_semi_join(., d2, by = c(cut = "cut2"))
  10: stringdist_join(x, y, by, mode = "semi", distance_col = distance_col, ...)
  ...
  16: FUN(X[[i]], ...)
  17: mf(rep(u_x, n_y), rep(u_y, each = n_x), ...)
  18: stringr::str_length
  19: getExportedValue(pkg, name)
  20: asNamespace(ns)
  21: getNamespace(ns)
  22: tryCatch(loadNamespace(name), error = function(e) stop(e))
  23: tryCatchList(expr, classes, parentenv, handlers)
  24: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  25: value[[3L]](cond)
  
  -- 9. Error: stringdist_anti_join works as expected (@test_stringdist_join.R#104
  undefined exports: %s!=%, %s!==%, %s+%, %s<%, %s<=%, %s==%, %s===%, %s>%, %s>=%, %stri!=%, %stri!==%, %stri+%, %stri<%, %stri<=%, %stri==%, %stri===%, %stri>%, %stri>=%, stri_datetime_add<-, stri_sub<-, stri_subset<-, stri_subset_charclass<-, stri_subset_coll<-, stri_subset_fixed<-, stri_subset_regex<-, stri_c, stri_c_list, stri_cmp, stri_cmp_eq, stri_cmp_equiv, stri_cmp_ge, stri_cmp_gt, stri_cmp_le, stri_cmp_lt, stri_cmp_neq, stri_cmp_nequiv, stri_compare, stri_conv, stri_count, stri_count_boundaries, stri_count_charclass, stri_count_coll, stri_count_fixed, stri_count_regex, stri_count_words, stri_datetime_add, stri_datetime_create, stri_datetime_fields, stri_datetime_format, stri_datetime_fstr, stri_datetime_now, stri_datetime_parse, stri_datetime_symbols, stri_detect, stri_detect_charclass, stri_detect_coll, stri_detect_fixed, stri_detect_regex, stri_dup, stri_duplicated, stri_duplicated_any, stri_enc_detect, stri_enc_detect2, stri_enc_fromutf32, stri_enc_get, stri_enc_info, stri_enc_isascii, stri_enc_isutf16be, stri_enc_isutf16le, stri_enc_isutf32be, stri_enc_isutf32le, stri_enc_isutf8, stri_enc_list, stri_enc_mark, stri_enc_set, stri_enc_toascii, stri_enc_tonative, stri_enc_toutf32, stri_enc_toutf8, stri_encode, stri_endswith, stri_endswith_charclass, stri_endswith_coll, stri_endswith_fixed, stri_escape_unicode, stri_extract, stri_extract_all, stri_extract_all_boundaries, stri_extract_all_charclass, stri_extract_all_coll, stri_extract_all_fixed, stri_extract_all_regex, stri_extract_all_words, stri_extract_first, stri_extract_first_boundaries, stri_extract_first_charclass, stri_extract_first_coll, stri_extract_first_fixed, stri_extract_first_regex, stri_extract_first_words, stri_extract_last, stri_extract_last_boundaries, stri_extract_last_charclass, stri_extract_last_coll, stri_extract_last_fixed, stri_extract_last_regex, stri_extract_last_words, stri_flatten, stri_info, stri_isempty, stri_join, stri_join_list, stri_length, stri_list2matrix, stri_locale_get, stri_locale_info, stri_locale_list, stri_locale_set, stri_locate, stri_locate_all, stri_locate_all_boundaries, stri_locate_all_charclass, stri_locate_all_coll, stri_locate_all_fixed, stri_locate_all_regex, stri_locate_all_words, stri_locate_first, stri_locate_first_boundaries, stri_locate_first_charclass, stri_locate_first_coll, stri_locate_first_fixed, stri_locate_first_regex, stri_locate_first_words, stri_locate_last, stri_locate_last_boundaries, stri_locate_last_charclass, stri_locate_last_coll, stri_locate_last_fixed, stri_locate_last_regex, stri_locate_last_words, stri_match, stri_match_all, stri_match_all_regex, stri_match_first, stri_match_first_regex, stri_match_last, stri_match_last_regex, stri_na2empty, stri_numbytes, stri_opts_brkiter, stri_opts_collator, stri_opts_fixed, stri_opts_regex, stri_order, stri_pad, stri_pad_both, stri_pad_left, stri_pad_right, stri_paste, stri_paste_list, stri_rand_lipsum, stri_rand_shuffle, stri_rand_strings, stri_read_lines, stri_read_raw, stri_remove_empty, stri_replace, stri_replace_all, stri_replace_all_charclass, stri_replace_all_coll, stri_replace_all_fixed, stri_replace_all_regex, stri_replace_first, stri_replace_first_charclass, stri_replace_first_coll, stri_replace_first_fixed, stri_replace_first_regex, stri_replace_last, stri_replace_last_charclass, stri_replace_last_coll, stri_replace_last_fixed, stri_replace_last_regex, stri_replace_na, stri_reverse, stri_sort, stri_split, stri_split_boundaries, stri_split_charclass, stri_split_coll, stri_split_fixed, stri_split_lines, stri_split_lines1, stri_split_regex, stri_startswith, stri_startswith_charclass, stri_startswith_coll, stri_startswith_fixed, stri_stats_general, stri_stats_latex, stri_sub, stri_subset, stri_subset_charclass, stri_subset_coll, stri_subset_fixed, stri_subset_regex, stri_timezone_get, stri_timezone_info, stri_timezone_list, stri_timezone_set, stri_trans_char, stri_trans_general, stri_trans_isnfc, stri_trans_isnfd, stri_trans_isnfkc, stri_trans_isnfkc_casefold, stri_trans_isnfkd, stri_trans_list, stri_trans_nfc, stri_trans_nfd, stri_trans_nfkc, stri_trans_nfkc_casefold, stri_trans_nfkd, stri_trans_tolower, stri_trans_totitle, stri_trans_toupper, stri_trim, stri_trim_both, stri_trim_left, stri_trim_right, stri_unescape_unicode, stri_unique, stri_width, stri_wrap, stri_write_lines
  1: diamonds %>% stringdist_anti_join(d2, by = c(cut = "cut2")) at testthat/test_stringdist_join.R:104
  2: withVisible(eval(quote(`_fseq`(`_lhs`)), env, env))
  3: eval(quote(`_fseq`(`_lhs`)), env, env)
  4: eval(quote(`_fseq`(`_lhs`)), env, env)
  5: `_fseq`(`_lhs`)
  6: freduce(value, `_function_list`)
  7: withVisible(function_list[[k]](value))
  8: function_list[[k]](value)
  9: stringdist_anti_join(., d2, by = c(cut = "cut2"))
  10: stringdist_join(x, y, by, mode = "anti", distance_col = distance_col, ...)
  ...
  16: FUN(X[[i]], ...)
  17: mf(rep(u_x, n_y), rep(u_y, each = n_x), ...)
  18: stringr::str_length
  19: getExportedValue(pkg, name)
  20: asNamespace(ns)
  21: getNamespace(ns)
  22: tryCatch(loadNamespace(name), error = function(e) stop(e))
  23: tryCatchList(expr, classes, parentenv, handlers)
  24: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  25: value[[3L]](cond)
  
  -- 10. Error: stringdist_join works with data frames without matches (@test_stri
  undefined exports: %s!=%, %s!==%, %s+%, %s<%, %s<=%, %s==%, %s===%, %s>%, %s>=%, %stri!=%, %stri!==%, %stri+%, %stri<%, %stri<=%, %stri==%, %stri===%, %stri>%, %stri>=%, stri_datetime_add<-, stri_sub<-, stri_subset<-, stri_subset_charclass<-, stri_subset_coll<-, stri_subset_fixed<-, stri_subset_regex<-, stri_c, stri_c_list, stri_cmp, stri_cmp_eq, stri_cmp_equiv, stri_cmp_ge, stri_cmp_gt, stri_cmp_le, stri_cmp_lt, stri_cmp_neq, stri_cmp_nequiv, stri_compare, stri_conv, stri_count, stri_count_boundaries, stri_count_charclass, stri_count_coll, stri_count_fixed, stri_count_regex, stri_count_words, stri_datetime_add, stri_datetime_create, stri_datetime_fields, stri_datetime_format, stri_datetime_fstr, stri_datetime_now, stri_datetime_parse, stri_datetime_symbols, stri_detect, stri_detect_charclass, stri_detect_coll, stri_detect_fixed, stri_detect_regex, stri_dup, stri_duplicated, stri_duplicated_any, stri_enc_detect, stri_enc_detect2, stri_enc_fromutf32, stri_enc_get, stri_enc_info, stri_enc_isascii, stri_enc_isutf16be, stri_enc_isutf16le, stri_enc_isutf32be, stri_enc_isutf32le, stri_enc_isutf8, stri_enc_list, stri_enc_mark, stri_enc_set, stri_enc_toascii, stri_enc_tonative, stri_enc_toutf32, stri_enc_toutf8, stri_encode, stri_endswith, stri_endswith_charclass, stri_endswith_coll, stri_endswith_fixed, stri_escape_unicode, stri_extract, stri_extract_all, stri_extract_all_boundaries, stri_extract_all_charclass, stri_extract_all_coll, stri_extract_all_fixed, stri_extract_all_regex, stri_extract_all_words, stri_extract_first, stri_extract_first_boundaries, stri_extract_first_charclass, stri_extract_first_coll, stri_extract_first_fixed, stri_extract_first_regex, stri_extract_first_words, stri_extract_last, stri_extract_last_boundaries, stri_extract_last_charclass, stri_extract_last_coll, stri_extract_last_fixed, stri_extract_last_regex, stri_extract_last_words, stri_flatten, stri_info, stri_isempty, stri_join, stri_join_list, stri_length, stri_list2matrix, stri_locale_get, stri_locale_info, stri_locale_list, stri_locale_set, stri_locate, stri_locate_all, stri_locate_all_boundaries, stri_locate_all_charclass, stri_locate_all_coll, stri_locate_all_fixed, stri_locate_all_regex, stri_locate_all_words, stri_locate_first, stri_locate_first_boundaries, stri_locate_first_charclass, stri_locate_first_coll, stri_locate_first_fixed, stri_locate_first_regex, stri_locate_first_words, stri_locate_last, stri_locate_last_boundaries, stri_locate_last_charclass, stri_locate_last_coll, stri_locate_last_fixed, stri_locate_last_regex, stri_locate_last_words, stri_match, stri_match_all, stri_match_all_regex, stri_match_first, stri_match_first_regex, stri_match_last, stri_match_last_regex, stri_na2empty, stri_numbytes, stri_opts_brkiter, stri_opts_collator, stri_opts_fixed, stri_opts_regex, stri_order, stri_pad, stri_pad_both, stri_pad_left, stri_pad_right, stri_paste, stri_paste_list, stri_rand_lipsum, stri_rand_shuffle, stri_rand_strings, stri_read_lines, stri_read_raw, stri_remove_empty, stri_replace, stri_replace_all, stri_replace_all_charclass, stri_replace_all_coll, stri_replace_all_fixed, stri_replace_all_regex, stri_replace_first, stri_replace_first_charclass, stri_replace_first_coll, stri_replace_first_fixed, stri_replace_first_regex, stri_replace_last, stri_replace_last_charclass, stri_replace_last_coll, stri_replace_last_fixed, stri_replace_last_regex, stri_replace_na, stri_reverse, stri_sort, stri_split, stri_split_boundaries, stri_split_charclass, stri_split_coll, stri_split_fixed, stri_split_lines, stri_split_lines1, stri_split_regex, stri_startswith, stri_startswith_charclass, stri_startswith_coll, stri_startswith_fixed, stri_stats_general, stri_stats_latex, stri_sub, stri_subset, stri_subset_charclass, stri_subset_coll, stri_subset_fixed, stri_subset_regex, stri_timezone_get, stri_timezone_info, stri_timezone_list, stri_timezone_set, stri_trans_char, stri_trans_general, stri_trans_isnfc, stri_trans_isnfd, stri_trans_isnfkc, stri_trans_isnfkc_casefold, stri_trans_isnfkd, stri_trans_list, stri_trans_nfc, stri_trans_nfd, stri_trans_nfkc, stri_trans_nfkc_casefold, stri_trans_nfkd, stri_trans_tolower, stri_trans_totitle, stri_trans_toupper, stri_trim, stri_trim_both, stri_trim_left, stri_trim_right, stri_unescape_unicode, stri_unique, stri_width, stri_wrap, stri_write_lines
  1: stringdist_inner_join(diamonds, d, by = c(cut = "cut2")) at testthat/test_stringdist_join.R:149
  2: stringdist_join(x, y, by, mode = "inner", distance_col = distance_col, ...)
  3: fuzzy_join(x, y, by = by, mode = mode, match_fun = match_fun)
  4: dplyr::bind_rows(lapply(seq_along(by$x), function(i) {
         col_x <- x[[by$x[i]]]
         col_y <- y[[by$y[i]]]
         indices_x <- dplyr::data_frame(col = col_x, indices = seq_along(col_x)) %>% tidyr::nest(indices) %>% 
             dplyr::mutate(indices = purrr::map(data, "indices"))
         indices_y <- dplyr::data_frame(col = col_y, indices = seq_along(col_y)) %>% tidyr::nest(indices) %>% 
             dplyr::mutate(indices = purrr::map(data, "indices"))
         u_x <- indices_x$col
         u_y <- indices_y$col
         if (!is.null(names(match_fun))) {
             mf <- match_fun[[by$x[[i]]]]
         }
         else {
             mf <- match_fun[[i]]
         }
         extra_cols <- NULL
         n_x <- length(u_x)
         n_y <- length(u_y)
         m <- mf(rep(u_x, n_y), rep(u_y, each = n_x), ...)
         if (is.data.frame(m)) {
             if (ncol(m) > 1) {
                 extra_cols <- m[, -1, drop = FALSE]
             }
             m <- m[[1]]
         }
         w <- which(m) - 1
         if (length(w) == 0) {
             ret <- dplyr::data_frame(i = numeric(0), x = numeric(0), y = numeric(0))
             return(ret)
         }
         x_indices_l <- indices_x$indices[w%%n_x + 1]
         y_indices_l <- indices_y$indices[w%/%n_x + 1]
         xls <- sapply(x_indices_l, length)
         yls <- sapply(y_indices_l, length)
         x_rep <- unlist(purrr::map2(x_indices_l, yls, function(x, y) rep(x, each = y)))
         y_rep <- unlist(purrr::map2(y_indices_l, xls, function(y, x) rep(y, x)))
         ret <- dplyr::data_frame(i = i, x = x_rep, y = y_rep)
         if (!is.null(extra_cols)) {
             extra_indices <- rep(w, xls * yls)
             extra_cols_rep <- extra_cols[extra_indices + 1, , drop = FALSE]
             ret <- dplyr::bind_cols(ret, extra_cols_rep)
         }
         ret
     }))
  5: flatten_bindable(dots_values(...))
  6: dots_values(...)
  7: lapply(seq_along(by$x), function(i) {
         col_x <- x[[by$x[i]]]
         col_y <- y[[by$y[i]]]
         indices_x <- dplyr::data_frame(col = col_x, indices = seq_along(col_x)) %>% tidyr::nest(indices) %>% 
             dplyr::mutate(indices = purrr::map(data, "indices"))
         indices_y <- dplyr::data_frame(col = col_y, indices = seq_along(col_y)) %>% tidyr::nest(indices) %>% 
             dplyr::mutate(indices = purrr::map(data, "indices"))
         u_x <- indices_x$col
         u_y <- indices_y$col
         if (!is.null(names(match_fun))) {
             mf <- match_fun[[by$x[[i]]]]
         }
         else {
             mf <- match_fun[[i]]
         }
         extra_cols <- NULL
         n_x <- length(u_x)
         n_y <- length(u_y)
         m <- mf(rep(u_x, n_y), rep(u_y, each = n_x), ...)
         if (is.data.frame(m)) {
             if (ncol(m) > 1) {
                 extra_cols <- m[, -1, drop = FALSE]
             }
             m <- m[[1]]
         }
         w <- which(m) - 1
         if (length(w) == 0) {
             ret <- dplyr::data_frame(i = numeric(0), x = numeric(0), y = numeric(0))
             return(ret)
         }
         x_indices_l <- indices_x$indices[w%%n_x + 1]
         y_indices_l <- indices_y$indices[w%/%n_x + 1]
         xls <- sapply(x_indices_l, length)
         yls <- sapply(y_indices_l, length)
         x_rep <- unlist(purrr::map2(x_indices_l, yls, function(x, y) rep(x, each = y)))
         y_rep <- unlist(purrr::map2(y_indices_l, xls, function(y, x) rep(y, x)))
         ret <- dplyr::data_frame(i = i, x = x_rep, y = y_rep)
         if (!is.null(extra_cols)) {
             extra_indices <- rep(w, xls * yls)
             extra_cols_rep <- extra_cols[extra_indices + 1, , drop = FALSE]
             ret <- dplyr::bind_cols(ret, extra_cols_rep)
         }
         ret
     })
  8: FUN(X[[i]], ...)
  9: mf(rep(u_x, n_y), rep(u_y, each = n_x), ...)
  10: stringr::str_length
  11: getExportedValue(pkg, name)
  12: asNamespace(ns)
  13: getNamespace(ns)
  14: tryCatch(loadNamespace(name), error = function(e) stop(e))
  15: tryCatchList(expr, classes, parentenv, handlers)
  16: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  17: value[[3L]](cond)
  
  -- 11. Error: stringdist_join can ignore case (@test_stringdist_join.R#188)  ---
  Evaluation error: undefined exports: %s!=%, %s!==%, %s+%, %s<%, %s<=%, %s==%, %s===%, %s>%, %s>=%, %stri!=%, %stri!==%, %stri+%, %stri<%, %stri<=%, %stri==%, %stri===%, %stri>%, %stri>=%, stri_datetime_add<-, stri_sub<-, stri_subset<-, stri_subset_charclass<-, stri_subset_coll<-, stri_subset_fixed<-, stri_subset_regex<-, stri_c, stri_c_list, stri_cmp, stri_cmp_eq, stri_cmp_equiv, stri_cmp_ge, stri_cmp_gt, stri_cmp_le, stri_cmp_lt, stri_cmp_neq, stri_cmp_nequiv, stri_compare, stri_conv, stri_count, stri_count_boundaries, stri_count_charclass, stri_count_coll, stri_count_fixed, stri_count_regex, stri_count_words, stri_datetime_add, stri_datetime_create, stri_datetime_fields, stri_datetime_format, stri_datetime_fstr, stri_datetime_now, stri_datetime_parse, stri_datetime_symbols, stri_detect, stri_detect_charclass, stri_detect_coll, stri_detect_fixed, stri_detect_regex, stri_dup, stri_duplicated, stri_duplicated_any, stri_enc_detect, stri_enc_detect2, stri_enc_fromutf32, stri_enc_get, stri_enc_info, stri_enc_isascii, stri_enc_isutf16be, stri_enc_isutf16le, stri_enc_isutf32be, stri_enc_isutf32le, stri_enc_isutf8, stri_enc_list, stri_enc_mark, stri_enc_set, stri_enc_toascii, stri_enc_tonative, stri_enc_toutf32, stri_enc_toutf8, stri_encode, stri_endswith, stri_endswith_charclass, stri_endswith_coll, stri_endswith_fixed, stri_escape_unicode, stri_extract, stri_extract_all, stri_extract_all_boundaries, stri_extract_all_charclass, stri_extract_all_coll, stri_extract_all_fixed, stri_extract_all_regex, stri_extract_all_words, stri_extract_first, stri_extract_first_boundaries, stri_extract_first_charclass, stri_extract_first_coll, stri_extract_first_fixed, stri_extract_first_regex, stri_extract_first_words, stri_extract_last, stri_extract_last_boundaries, stri_extract_last_charclass, stri_extract_last_coll, stri_extract_last_fixed, stri_extract_last_regex, stri_extract_last_words, stri_flatten, stri_info, stri_isempty, stri_join, stri_join_list, stri_length, stri_list2matrix, stri_locale_get, stri_locale_info, stri_locale_list, stri_locale_set, stri_locate, stri_locate_all, stri_locate_all_boundaries, stri_locate_all_charclass, stri_locate_all_coll, stri_locate_all_fixed, stri_locate_all_regex, stri_locate_all_words, stri_locate_first, stri_locate_first_boundaries, stri_locate_first_charclass, stri_locate_first_coll, stri_locate_first_fixed, stri_locate_first_regex, stri_locate_first_words, stri_locate_last, stri_locate_last_boundaries, stri_locate_last_charclass, stri_locate_last_coll, stri_locate_last_fixed, stri_locate_last_regex, stri_locate_last_words, stri_match, stri_match_all, stri_match_all_regex, stri_match_first, stri_match_first_regex, stri_match_last, stri_match_last_regex, stri_na2empty, stri_numbytes, stri_opts_brkiter, stri_opts_collator, stri_opts_fixed, stri_opts_regex, stri_order, stri_pad, stri_pad_both, stri_pad_left, stri_pad_right, stri_paste, stri_paste_list, stri_rand_lipsum, stri_rand_shuffle, stri_rand_strings, stri_read_lines, stri_read_raw, stri_remove_empty, stri_replace, stri_replace_all, stri_replace_all_charclass, stri_replace_all_coll, stri_replace_all_fixed, stri_replace_all_regex, stri_replace_first, stri_replace_first_charclass, stri_replace_first_coll, stri_replace_first_fixed, stri_replace_first_regex, stri_replace_last, stri_replace_last_charclass, stri_replace_last_coll, stri_replace_last_fixed, stri_replace_last_regex, stri_replace_na, stri_reverse, stri_sort, stri_split, stri_split_boundaries, stri_split_charclass, stri_split_coll, stri_split_fixed, stri_split_lines, stri_split_lines1, stri_split_regex, stri_startswith, stri_startswith_charclass, stri_startswith_coll, stri_startswith_fixed, stri_stats_general, stri_stats_latex, stri_sub, stri_subset, stri_subset_charclass, stri_subset_coll, stri_subset_fixed, stri_subset_regex, stri_timezone_get, stri_timezone_info, stri_timezone_list, stri_timezone_set, stri_trans_char, stri_trans_general, stri_trans_isnfc, stri_trans_isnfd, stri_trans_isnfkc, stri_trans_isnfkc_casefold, stri_trans_isnfkd, stri_trans_list, stri_trans_nfc, stri_trans_nfd, stri_trans_nfkc, stri_trans_nfkc_casefold, stri_trans_nfkd, stri_trans_tolower, stri_trans_totitle, stri_trans_toupper, stri_trim, stri_trim_both, stri_trim_left, stri_trim_right, stri_unescape_unicode, stri_unique, stri_width, stri_wrap, stri_write_lines.
  1: d %>% mutate(cut2 = stringr::str_to_lower(cut2)) at testthat/test_stringdist_join.R:188
  2: withVisible(eval(quote(`_fseq`(`_lhs`)), env, env))
  3: eval(quote(`_fseq`(`_lhs`)), env, env)
  4: eval(quote(`_fseq`(`_lhs`)), env, env)
  5: `_fseq`(`_lhs`)
  6: freduce(value, `_function_list`)
  7: withVisible(function_list[[k]](value))
  8: function_list[[k]](value)
  9: mutate(., cut2 = stringr::str_to_lower(cut2))
  10: mutate.tbl_df(., cut2 = stringr::str_to_lower(cut2))
  11: mutate_impl(.data, dots)
  
  -- 12. Error: stringdist_join renames similar columns (@test_stringdist_join.R#2
  undefined exports: %s!=%, %s!==%, %s+%, %s<%, %s<=%, %s==%, %s===%, %s>%, %s>=%, %stri!=%, %stri!==%, %stri+%, %stri<%, %stri<=%, %stri==%, %stri===%, %stri>%, %stri>=%, stri_datetime_add<-, stri_sub<-, stri_subset<-, stri_subset_charclass<-, stri_subset_coll<-, stri_subset_fixed<-, stri_subset_regex<-, stri_c, stri_c_list, stri_cmp, stri_cmp_eq, stri_cmp_equiv, stri_cmp_ge, stri_cmp_gt, stri_cmp_le, stri_cmp_lt, stri_cmp_neq, stri_cmp_nequiv, stri_compare, stri_conv, stri_count, stri_count_boundaries, stri_count_charclass, stri_count_coll, stri_count_fixed, stri_count_regex, stri_count_words, stri_datetime_add, stri_datetime_create, stri_datetime_fields, stri_datetime_format, stri_datetime_fstr, stri_datetime_now, stri_datetime_parse, stri_datetime_symbols, stri_detect, stri_detect_charclass, stri_detect_coll, stri_detect_fixed, stri_detect_regex, stri_dup, stri_duplicated, stri_duplicated_any, stri_enc_detect, stri_enc_detect2, stri_enc_fromutf32, stri_enc_get, stri_enc_info, stri_enc_isascii, stri_enc_isutf16be, stri_enc_isutf16le, stri_enc_isutf32be, stri_enc_isutf32le, stri_enc_isutf8, stri_enc_list, stri_enc_mark, stri_enc_set, stri_enc_toascii, stri_enc_tonative, stri_enc_toutf32, stri_enc_toutf8, stri_encode, stri_endswith, stri_endswith_charclass, stri_endswith_coll, stri_endswith_fixed, stri_escape_unicode, stri_extract, stri_extract_all, stri_extract_all_boundaries, stri_extract_all_charclass, stri_extract_all_coll, stri_extract_all_fixed, stri_extract_all_regex, stri_extract_all_words, stri_extract_first, stri_extract_first_boundaries, stri_extract_first_charclass, stri_extract_first_coll, stri_extract_first_fixed, stri_extract_first_regex, stri_extract_first_words, stri_extract_last, stri_extract_last_boundaries, stri_extract_last_charclass, stri_extract_last_coll, stri_extract_last_fixed, stri_extract_last_regex, stri_extract_last_words, stri_flatten, stri_info, stri_isempty, stri_join, stri_join_list, stri_length, stri_list2matrix, stri_locale_get, stri_locale_info, stri_locale_list, stri_locale_set, stri_locate, stri_locate_all, stri_locate_all_boundaries, stri_locate_all_charclass, stri_locate_all_coll, stri_locate_all_fixed, stri_locate_all_regex, stri_locate_all_words, stri_locate_first, stri_locate_first_boundaries, stri_locate_first_charclass, stri_locate_first_coll, stri_locate_first_fixed, stri_locate_first_regex, stri_locate_first_words, stri_locate_last, stri_locate_last_boundaries, stri_locate_last_charclass, stri_locate_last_coll, stri_locate_last_fixed, stri_locate_last_regex, stri_locate_last_words, stri_match, stri_match_all, stri_match_all_regex, stri_match_first, stri_match_first_regex, stri_match_last, stri_match_last_regex, stri_na2empty, stri_numbytes, stri_opts_brkiter, stri_opts_collator, stri_opts_fixed, stri_opts_regex, stri_order, stri_pad, stri_pad_both, stri_pad_left, stri_pad_right, stri_paste, stri_paste_list, stri_rand_lipsum, stri_rand_shuffle, stri_rand_strings, stri_read_lines, stri_read_raw, stri_remove_empty, stri_replace, stri_replace_all, stri_replace_all_charclass, stri_replace_all_coll, stri_replace_all_fixed, stri_replace_all_regex, stri_replace_first, stri_replace_first_charclass, stri_replace_first_coll, stri_replace_first_fixed, stri_replace_first_regex, stri_replace_last, stri_replace_last_charclass, stri_replace_last_coll, stri_replace_last_fixed, stri_replace_last_regex, stri_replace_na, stri_reverse, stri_sort, stri_split, stri_split_boundaries, stri_split_charclass, stri_split_coll, stri_split_fixed, stri_split_lines, stri_split_lines1, stri_split_regex, stri_startswith, stri_startswith_charclass, stri_startswith_coll, stri_startswith_fixed, stri_stats_general, stri_stats_latex, stri_sub, stri_subset, stri_subset_charclass, stri_subset_coll, stri_subset_fixed, stri_subset_regex, stri_timezone_get, stri_timezone_info, stri_timezone_list, stri_timezone_set, stri_trans_char, stri_trans_general, stri_trans_isnfc, stri_trans_isnfd, stri_trans_isnfkc, stri_trans_isnfkc_casefold, stri_trans_isnfkd, stri_trans_list, stri_trans_nfc, stri_trans_nfd, stri_trans_nfkc, stri_trans_nfkc_casefold, stri_trans_nfkd, stri_trans_tolower, stri_trans_totitle, stri_trans_toupper, stri_trim, stri_trim_both, stri_trim_left, stri_trim_right, stri_unescape_unicode, stri_unique, stri_width, stri_wrap, stri_write_lines
  1: stringdist_inner_join(diamonds, d, by = "cut") at testthat/test_stringdist_join.R:219
  2: stringdist_join(x, y, by, mode = "inner", distance_col = distance_col, ...)
  3: fuzzy_join(x, y, by = by, mode = mode, match_fun = match_fun)
  4: dplyr::bind_rows(lapply(seq_along(by$x), function(i) {
         col_x <- x[[by$x[i]]]
         col_y <- y[[by$y[i]]]
         indices_x <- dplyr::data_frame(col = col_x, indices = seq_along(col_x)) %>% tidyr::nest(indices) %>% 
             dplyr::mutate(indices = purrr::map(data, "indices"))
         indices_y <- dplyr::data_frame(col = col_y, indices = seq_along(col_y)) %>% tidyr::nest(indices) %>% 
             dplyr::mutate(indices = purrr::map(data, "indices"))
         u_x <- indices_x$col
         u_y <- indices_y$col
         if (!is.null(names(match_fun))) {
             mf <- match_fun[[by$x[[i]]]]
         }
         else {
             mf <- match_fun[[i]]
         }
         extra_cols <- NULL
         n_x <- length(u_x)
         n_y <- length(u_y)
         m <- mf(rep(u_x, n_y), rep(u_y, each = n_x), ...)
         if (is.data.frame(m)) {
             if (ncol(m) > 1) {
                 extra_cols <- m[, -1, drop = FALSE]
             }
             m <- m[[1]]
         }
         w <- which(m) - 1
         if (length(w) == 0) {
             ret <- dplyr::data_frame(i = numeric(0), x = numeric(0), y = numeric(0))
             return(ret)
         }
         x_indices_l <- indices_x$indices[w%%n_x + 1]
         y_indices_l <- indices_y$indices[w%/%n_x + 1]
         xls <- sapply(x_indices_l, length)
         yls <- sapply(y_indices_l, length)
         x_rep <- unlist(purrr::map2(x_indices_l, yls, function(x, y) rep(x, each = y)))
         y_rep <- unlist(purrr::map2(y_indices_l, xls, function(y, x) rep(y, x)))
         ret <- dplyr::data_frame(i = i, x = x_rep, y = y_rep)
         if (!is.null(extra_cols)) {
             extra_indices <- rep(w, xls * yls)
             extra_cols_rep <- extra_cols[extra_indices + 1, , drop = FALSE]
             ret <- dplyr::bind_cols(ret, extra_cols_rep)
         }
         ret
     }))
  5: flatten_bindable(dots_values(...))
  6: dots_values(...)
  7: lapply(seq_along(by$x), function(i) {
         col_x <- x[[by$x[i]]]
         col_y <- y[[by$y[i]]]
         indices_x <- dplyr::data_frame(col = col_x, indices = seq_along(col_x)) %>% tidyr::nest(indices) %>% 
             dplyr::mutate(indices = purrr::map(data, "indices"))
         indices_y <- dplyr::data_frame(col = col_y, indices = seq_along(col_y)) %>% tidyr::nest(indices) %>% 
             dplyr::mutate(indices = purrr::map(data, "indices"))
         u_x <- indices_x$col
         u_y <- indices_y$col
         if (!is.null(names(match_fun))) {
             mf <- match_fun[[by$x[[i]]]]
         }
         else {
             mf <- match_fun[[i]]
         }
         extra_cols <- NULL
         n_x <- length(u_x)
         n_y <- length(u_y)
         m <- mf(rep(u_x, n_y), rep(u_y, each = n_x), ...)
         if (is.data.frame(m)) {
             if (ncol(m) > 1) {
                 extra_cols <- m[, -1, drop = FALSE]
             }
             m <- m[[1]]
         }
         w <- which(m) - 1
         if (length(w) == 0) {
             ret <- dplyr::data_frame(i = numeric(0), x = numeric(0), y = numeric(0))
             return(ret)
         }
         x_indices_l <- indices_x$indices[w%%n_x + 1]
         y_indices_l <- indices_y$indices[w%/%n_x + 1]
         xls <- sapply(x_indices_l, length)
         yls <- sapply(y_indices_l, length)
         x_rep <- unlist(purrr::map2(x_indices_l, yls, function(x, y) rep(x, each = y)))
         y_rep <- unlist(purrr::map2(y_indices_l, xls, function(y, x) rep(y, x)))
         ret <- dplyr::data_frame(i = i, x = x_rep, y = y_rep)
         if (!is.null(extra_cols)) {
             extra_indices <- rep(w, xls * yls)
             extra_cols_rep <- extra_cols[extra_indices + 1, , drop = FALSE]
             ret <- dplyr::bind_cols(ret, extra_cols_rep)
         }
         ret
     })
  8: FUN(X[[i]], ...)
  9: mf(rep(u_x, n_y), rep(u_y, each = n_x), ...)
  10: stringr::str_length
  11: getExportedValue(pkg, name)
  12: asNamespace(ns)
  13: getNamespace(ns)
  14: tryCatch(loadNamespace(name), error = function(e) stop(e))
  15: tryCatchList(expr, classes, parentenv, handlers)
  16: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  17: value[[3L]](cond)
  
  -- 13. Error: stringdist_join works on grouped data frames (@test_stringdist_joi
  undefined exports: %s!=%, %s!==%, %s+%, %s<%, %s<=%, %s==%, %s===%, %s>%, %s>=%, %stri!=%, %stri!==%, %stri+%, %stri<%, %stri<=%, %stri==%, %stri===%, %stri>%, %stri>=%, stri_datetime_add<-, stri_sub<-, stri_subset<-, stri_subset_charclass<-, stri_subset_coll<-, stri_subset_fixed<-, stri_subset_regex<-, stri_c, stri_c_list, stri_cmp, stri_cmp_eq, stri_cmp_equiv, stri_cmp_ge, stri_cmp_gt, stri_cmp_le, stri_cmp_lt, stri_cmp_neq, stri_cmp_nequiv, stri_compare, stri_conv, stri_count, stri_count_boundaries, stri_count_charclass, stri_count_coll, stri_count_fixed, stri_count_regex, stri_count_words, stri_datetime_add, stri_datetime_create, stri_datetime_fields, stri_datetime_format, stri_datetime_fstr, stri_datetime_now, stri_datetime_parse, stri_datetime_symbols, stri_detect, stri_detect_charclass, stri_detect_coll, stri_detect_fixed, stri_detect_regex, stri_dup, stri_duplicated, stri_duplicated_any, stri_enc_detect, stri_enc_detect2, stri_enc_fromutf32, stri_enc_get, stri_enc_info, stri_enc_isascii, stri_enc_isutf16be, stri_enc_isutf16le, stri_enc_isutf32be, stri_enc_isutf32le, stri_enc_isutf8, stri_enc_list, stri_enc_mark, stri_enc_set, stri_enc_toascii, stri_enc_tonative, stri_enc_toutf32, stri_enc_toutf8, stri_encode, stri_endswith, stri_endswith_charclass, stri_endswith_coll, stri_endswith_fixed, stri_escape_unicode, stri_extract, stri_extract_all, stri_extract_all_boundaries, stri_extract_all_charclass, stri_extract_all_coll, stri_extract_all_fixed, stri_extract_all_regex, stri_extract_all_words, stri_extract_first, stri_extract_first_boundaries, stri_extract_first_charclass, stri_extract_first_coll, stri_extract_first_fixed, stri_extract_first_regex, stri_extract_first_words, stri_extract_last, stri_extract_last_boundaries, stri_extract_last_charclass, stri_extract_last_coll, stri_extract_last_fixed, stri_extract_last_regex, stri_extract_last_words, stri_flatten, stri_info, stri_isempty, stri_join, stri_join_list, stri_length, stri_list2matrix, stri_locale_get, stri_locale_info, stri_locale_list, stri_locale_set, stri_locate, stri_locate_all, stri_locate_all_boundaries, stri_locate_all_charclass, stri_locate_all_coll, stri_locate_all_fixed, stri_locate_all_regex, stri_locate_all_words, stri_locate_first, stri_locate_first_boundaries, stri_locate_first_charclass, stri_locate_first_coll, stri_locate_first_fixed, stri_locate_first_regex, stri_locate_first_words, stri_locate_last, stri_locate_last_boundaries, stri_locate_last_charclass, stri_locate_last_coll, stri_locate_last_fixed, stri_locate_last_regex, stri_locate_last_words, stri_match, stri_match_all, stri_match_all_regex, stri_match_first, stri_match_first_regex, stri_match_last, stri_match_last_regex, stri_na2empty, stri_numbytes, stri_opts_brkiter, stri_opts_collator, stri_opts_fixed, stri_opts_regex, stri_order, stri_pad, stri_pad_both, stri_pad_left, stri_pad_right, stri_paste, stri_paste_list, stri_rand_lipsum, stri_rand_shuffle, stri_rand_strings, stri_read_lines, stri_read_raw, stri_remove_empty, stri_replace, stri_replace_all, stri_replace_all_charclass, stri_replace_all_coll, stri_replace_all_fixed, stri_replace_all_regex, stri_replace_first, stri_replace_first_charclass, stri_replace_first_coll, stri_replace_first_fixed, stri_replace_first_regex, stri_replace_last, stri_replace_last_charclass, stri_replace_last_coll, stri_replace_last_fixed, stri_replace_last_regex, stri_replace_na, stri_reverse, stri_sort, stri_split, stri_split_boundaries, stri_split_charclass, stri_split_coll, stri_split_fixed, stri_split_lines, stri_split_lines1, stri_split_regex, stri_startswith, stri_startswith_charclass, stri_startswith_coll, stri_startswith_fixed, stri_stats_general, stri_stats_latex, stri_sub, stri_subset, stri_subset_charclass, stri_subset_coll, stri_subset_fixed, stri_subset_regex, stri_timezone_get, stri_timezone_info, stri_timezone_list, stri_timezone_set, stri_trans_char, stri_trans_general, stri_trans_isnfc, stri_trans_isnfd, stri_trans_isnfkc, stri_trans_isnfkc_casefold, stri_trans_isnfkd, stri_trans_list, stri_trans_nfc, stri_trans_nfd, stri_trans_nfkc, stri_trans_nfkc_casefold, stri_trans_nfkd, stri_trans_tolower, stri_trans_totitle, stri_trans_toupper, stri_trim, stri_trim_both, stri_trim_left, stri_trim_right, stri_unescape_unicode, stri_unique, stri_width, stri_wrap, stri_write_lines
  1: stringdist_join(diamonds, d, by = c(cut = "cut2"), mode = mode) at testthat/test_stringdist_join.R:244
  2: fuzzy_join(x, y, by = by, mode = mode, match_fun = match_fun)
  3: dplyr::bind_rows(lapply(seq_along(by$x), function(i) {
         col_x <- x[[by$x[i]]]
         col_y <- y[[by$y[i]]]
         indices_x <- dplyr::data_frame(col = col_x, indices = seq_along(col_x)) %>% tidyr::nest(indices) %>% 
             dplyr::mutate(indices = purrr::map(data, "indices"))
         indices_y <- dplyr::data_frame(col = col_y, indices = seq_along(col_y)) %>% tidyr::nest(indices) %>% 
             dplyr::mutate(indices = purrr::map(data, "indices"))
         u_x <- indices_x$col
         u_y <- indices_y$col
         if (!is.null(names(match_fun))) {
             mf <- match_fun[[by$x[[i]]]]
         }
         else {
             mf <- match_fun[[i]]
         }
         extra_cols <- NULL
         n_x <- length(u_x)
         n_y <- length(u_y)
         m <- mf(rep(u_x, n_y), rep(u_y, each = n_x), ...)
         if (is.data.frame(m)) {
             if (ncol(m) > 1) {
                 extra_cols <- m[, -1, drop = FALSE]
             }
             m <- m[[1]]
         }
         w <- which(m) - 1
         if (length(w) == 0) {
             ret <- dplyr::data_frame(i = numeric(0), x = numeric(0), y = numeric(0))
             return(ret)
         }
         x_indices_l <- indices_x$indices[w%%n_x + 1]
         y_indices_l <- indices_y$indices[w%/%n_x + 1]
         xls <- sapply(x_indices_l, length)
         yls <- sapply(y_indices_l, length)
         x_rep <- unlist(purrr::map2(x_indices_l, yls, function(x, y) rep(x, each = y)))
         y_rep <- unlist(purrr::map2(y_indices_l, xls, function(y, x) rep(y, x)))
         ret <- dplyr::data_frame(i = i, x = x_rep, y = y_rep)
         if (!is.null(extra_cols)) {
             extra_indices <- rep(w, xls * yls)
             extra_cols_rep <- extra_cols[extra_indices + 1, , drop = FALSE]
             ret <- dplyr::bind_cols(ret, extra_cols_rep)
         }
         ret
     }))
  4: flatten_bindable(dots_values(...))
  5: dots_values(...)
  6: lapply(seq_along(by$x), function(i) {
         col_x <- x[[by$x[i]]]
         col_y <- y[[by$y[i]]]
         indices_x <- dplyr::data_frame(col = col_x, indices = seq_along(col_x)) %>% tidyr::nest(indices) %>% 
             dplyr::mutate(indices = purrr::map(data, "indices"))
         indices_y <- dplyr::data_frame(col = col_y, indices = seq_along(col_y)) %>% tidyr::nest(indices) %>% 
             dplyr::mutate(indices = purrr::map(data, "indices"))
         u_x <- indices_x$col
         u_y <- indices_y$col
         if (!is.null(names(match_fun))) {
             mf <- match_fun[[by$x[[i]]]]
         }
         else {
             mf <- match_fun[[i]]
         }
         extra_cols <- NULL
         n_x <- length(u_x)
         n_y <- length(u_y)
         m <- mf(rep(u_x, n_y), rep(u_y, each = n_x), ...)
         if (is.data.frame(m)) {
             if (ncol(m) > 1) {
                 extra_cols <- m[, -1, drop = FALSE]
             }
             m <- m[[1]]
         }
         w <- which(m) - 1
         if (length(w) == 0) {
             ret <- dplyr::data_frame(i = numeric(0), x = numeric(0), y = numeric(0))
             return(ret)
         }
         x_indices_l <- indices_x$indices[w%%n_x + 1]
         y_indices_l <- indices_y$indices[w%/%n_x + 1]
         xls <- sapply(x_indices_l, length)
         yls <- sapply(y_indices_l, length)
         x_rep <- unlist(purrr::map2(x_indices_l, yls, function(x, y) rep(x, each = y)))
         y_rep <- unlist(purrr::map2(y_indices_l, xls, function(y, x) rep(y, x)))
         ret <- dplyr::data_frame(i = i, x = x_rep, y = y_rep)
         if (!is.null(extra_cols)) {
             extra_indices <- rep(w, xls * yls)
             extra_cols_rep <- extra_cols[extra_indices + 1, , drop = FALSE]
             ret <- dplyr::bind_cols(ret, extra_cols_rep)
         }
         ret
     })
  7: FUN(X[[i]], ...)
  8: mf(rep(u_x, n_y), rep(u_y, each = n_x), ...)
  9: stringr::str_length
  10: getExportedValue(pkg, name)
  11: asNamespace(ns)
  12: getNamespace(ns)
  13: tryCatch(loadNamespace(name), error = function(e) stop(e))
  14: tryCatchList(expr, classes, parentenv, handlers)
  15: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  16: value[[3L]](cond)
  
  -- 14. Error: stringdist_join works on one-column data.frames (@test_stringdist_
  undefined exports: %s!=%, %s!==%, %s+%, %s<%, %s<=%, %s==%, %s===%, %s>%, %s>=%, %stri!=%, %stri!==%, %stri+%, %stri<%, %stri<=%, %stri==%, %stri===%, %stri>%, %stri>=%, stri_datetime_add<-, stri_sub<-, stri_subset<-, stri_subset_charclass<-, stri_subset_coll<-, stri_subset_fixed<-, stri_subset_regex<-, stri_c, stri_c_list, stri_cmp, stri_cmp_eq, stri_cmp_equiv, stri_cmp_ge, stri_cmp_gt, stri_cmp_le, stri_cmp_lt, stri_cmp_neq, stri_cmp_nequiv, stri_compare, stri_conv, stri_count, stri_count_boundaries, stri_count_charclass, stri_count_coll, stri_count_fixed, stri_count_regex, stri_count_words, stri_datetime_add, stri_datetime_create, stri_datetime_fields, stri_datetime_format, stri_datetime_fstr, stri_datetime_now, stri_datetime_parse, stri_datetime_symbols, stri_detect, stri_detect_charclass, stri_detect_coll, stri_detect_fixed, stri_detect_regex, stri_dup, stri_duplicated, stri_duplicated_any, stri_enc_detect, stri_enc_detect2, stri_enc_fromutf32, stri_enc_get, stri_enc_info, stri_enc_isascii, stri_enc_isutf16be, stri_enc_isutf16le, stri_enc_isutf32be, stri_enc_isutf32le, stri_enc_isutf8, stri_enc_list, stri_enc_mark, stri_enc_set, stri_enc_toascii, stri_enc_tonative, stri_enc_toutf32, stri_enc_toutf8, stri_encode, stri_endswith, stri_endswith_charclass, stri_endswith_coll, stri_endswith_fixed, stri_escape_unicode, stri_extract, stri_extract_all, stri_extract_all_boundaries, stri_extract_all_charclass, stri_extract_all_coll, stri_extract_all_fixed, stri_extract_all_regex, stri_extract_all_words, stri_extract_first, stri_extract_first_boundaries, stri_extract_first_charclass, stri_extract_first_coll, stri_extract_first_fixed, stri_extract_first_regex, stri_extract_first_words, stri_extract_last, stri_extract_last_boundaries, stri_extract_last_charclass, stri_extract_last_coll, stri_extract_last_fixed, stri_extract_last_regex, stri_extract_last_words, stri_flatten, stri_info, stri_isempty, stri_join, stri_join_list, stri_length, stri_list2matrix, stri_locale_get, stri_locale_info, stri_locale_list, stri_locale_set, stri_locate, stri_locate_all, stri_locate_all_boundaries, stri_locate_all_charclass, stri_locate_all_coll, stri_locate_all_fixed, stri_locate_all_regex, stri_locate_all_words, stri_locate_first, stri_locate_first_boundaries, stri_locate_first_charclass, stri_locate_first_coll, stri_locate_first_fixed, stri_locate_first_regex, stri_locate_first_words, stri_locate_last, stri_locate_last_boundaries, stri_locate_last_charclass, stri_locate_last_coll, stri_locate_last_fixed, stri_locate_last_regex, stri_locate_last_words, stri_match, stri_match_all, stri_match_all_regex, stri_match_first, stri_match_first_regex, stri_match_last, stri_match_last_regex, stri_na2empty, stri_numbytes, stri_opts_brkiter, stri_opts_collator, stri_opts_fixed, stri_opts_regex, stri_order, stri_pad, stri_pad_both, stri_pad_left, stri_pad_right, stri_paste, stri_paste_list, stri_rand_lipsum, stri_rand_shuffle, stri_rand_strings, stri_read_lines, stri_read_raw, stri_remove_empty, stri_replace, stri_replace_all, stri_replace_all_charclass, stri_replace_all_coll, stri_replace_all_fixed, stri_replace_all_regex, stri_replace_first, stri_replace_first_charclass, stri_replace_first_coll, stri_replace_first_fixed, stri_replace_first_regex, stri_replace_last, stri_replace_last_charclass, stri_replace_last_coll, stri_replace_last_fixed, stri_replace_last_regex, stri_replace_na, stri_reverse, stri_sort, stri_split, stri_split_boundaries, stri_split_charclass, stri_split_coll, stri_split_fixed, stri_split_lines, stri_split_lines1, stri_split_regex, stri_startswith, stri_startswith_charclass, stri_startswith_coll, stri_startswith_fixed, stri_stats_general, stri_stats_latex, stri_sub, stri_subset, stri_subset_charclass, stri_subset_coll, stri_subset_fixed, stri_subset_regex, stri_timezone_get, stri_timezone_info, stri_timezone_list, stri_timezone_set, stri_trans_char, stri_trans_general, stri_trans_isnfc, stri_trans_isnfd, stri_trans_isnfkc, stri_trans_isnfkc_casefold, stri_trans_isnfkd, stri_trans_list, stri_trans_nfc, stri_trans_nfd, stri_trans_nfkc, stri_trans_nfkc_casefold, stri_trans_nfkd, stri_trans_tolower, stri_trans_totitle, stri_trans_toupper, stri_trim, stri_trim_both, stri_trim_left, stri_trim_right, stri_unescape_unicode, stri_unique, stri_width, stri_wrap, stri_write_lines
  1: stringdist_inner_join(diamonds, d, by = c(cut = "cut2")) at testthat/test_stringdist_join.R:268
  2: stringdist_join(x, y, by, mode = "inner", distance_col = distance_col, ...)
  3: fuzzy_join(x, y, by = by, mode = mode, match_fun = match_fun)
  4: dplyr::bind_rows(lapply(seq_along(by$x), function(i) {
         col_x <- x[[by$x[i]]]
         col_y <- y[[by$y[i]]]
         indices_x <- dplyr::data_frame(col = col_x, indices = seq_along(col_x)) %>% tidyr::nest(indices) %>% 
             dplyr::mutate(indices = purrr::map(data, "indices"))
         indices_y <- dplyr::data_frame(col = col_y, indices = seq_along(col_y)) %>% tidyr::nest(indices) %>% 
             dplyr::mutate(indices = purrr::map(data, "indices"))
         u_x <- indices_x$col
         u_y <- indices_y$col
         if (!is.null(names(match_fun))) {
             mf <- match_fun[[by$x[[i]]]]
         }
         else {
             mf <- match_fun[[i]]
         }
         extra_cols <- NULL
         n_x <- length(u_x)
         n_y <- length(u_y)
         m <- mf(rep(u_x, n_y), rep(u_y, each = n_x), ...)
         if (is.data.frame(m)) {
             if (ncol(m) > 1) {
                 extra_cols <- m[, -1, drop = FALSE]
             }
             m <- m[[1]]
         }
         w <- which(m) - 1
         if (length(w) == 0) {
             ret <- dplyr::data_frame(i = numeric(0), x = numeric(0), y = numeric(0))
             return(ret)
         }
         x_indices_l <- indices_x$indices[w%%n_x + 1]
         y_indices_l <- indices_y$indices[w%/%n_x + 1]
         xls <- sapply(x_indices_l, length)
         yls <- sapply(y_indices_l, length)
         x_rep <- unlist(purrr::map2(x_indices_l, yls, function(x, y) rep(x, each = y)))
         y_rep <- unlist(purrr::map2(y_indices_l, xls, function(y, x) rep(y, x)))
         ret <- dplyr::data_frame(i = i, x = x_rep, y = y_rep)
         if (!is.null(extra_cols)) {
             extra_indices <- rep(w, xls * yls)
             extra_cols_rep <- extra_cols[extra_indices + 1, , drop = FALSE]
             ret <- dplyr::bind_cols(ret, extra_cols_rep)
         }
         ret
     }))
  5: flatten_bindable(dots_values(...))
  6: dots_values(...)
  7: lapply(seq_along(by$x), function(i) {
         col_x <- x[[by$x[i]]]
         col_y <- y[[by$y[i]]]
         indices_x <- dplyr::data_frame(col = col_x, indices = seq_along(col_x)) %>% tidyr::nest(indices) %>% 
             dplyr::mutate(indices = purrr::map(data, "indices"))
         indices_y <- dplyr::data_frame(col = col_y, indices = seq_along(col_y)) %>% tidyr::nest(indices) %>% 
             dplyr::mutate(indices = purrr::map(data, "indices"))
         u_x <- indices_x$col
         u_y <- indices_y$col
         if (!is.null(names(match_fun))) {
             mf <- match_fun[[by$x[[i]]]]
         }
         else {
             mf <- match_fun[[i]]
         }
         extra_cols <- NULL
         n_x <- length(u_x)
         n_y <- length(u_y)
         m <- mf(rep(u_x, n_y), rep(u_y, each = n_x), ...)
         if (is.data.frame(m)) {
             if (ncol(m) > 1) {
                 extra_cols <- m[, -1, drop = FALSE]
             }
             m <- m[[1]]
         }
         w <- which(m) - 1
         if (length(w) == 0) {
             ret <- dplyr::data_frame(i = numeric(0), x = numeric(0), y = numeric(0))
             return(ret)
         }
         x_indices_l <- indices_x$indices[w%%n_x + 1]
         y_indices_l <- indices_y$indices[w%/%n_x + 1]
         xls <- sapply(x_indices_l, length)
         yls <- sapply(y_indices_l, length)
         x_rep <- unlist(purrr::map2(x_indices_l, yls, function(x, y) rep(x, each = y)))
         y_rep <- unlist(purrr::map2(y_indices_l, xls, function(y, x) rep(y, x)))
         ret <- dplyr::data_frame(i = i, x = x_rep, y = y_rep)
         if (!is.null(extra_cols)) {
             extra_indices <- rep(w, xls * yls)
             extra_cols_rep <- extra_cols[extra_indices + 1, , drop = FALSE]
             ret <- dplyr::bind_cols(ret, extra_cols_rep)
         }
         ret
     })
  8: FUN(X[[i]], ...)
  9: mf(rep(u_x, n_y), rep(u_y, each = n_x), ...)
  10: stringr::str_length
  11: getExportedValue(pkg, name)
  12: asNamespace(ns)
  13: getNamespace(ns)
  14: tryCatch(loadNamespace(name), error = function(e) stop(e))
  15: tryCatchList(expr, classes, parentenv, handlers)
  16: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  17: value[[3L]](cond)
  
  == testthat results  ===========================================================
  OK: 88 SKIPPED: 0 FAILED: 14
  1. Error: geo_inner_join works (@test_geo_join.R#16) 
  2. Error: geo_inner_join works when lat/lon columns have different names (@test_geo_join.R#64) 
  3. Error: regex joins work (@test_regex_join.R#9) 
  4. Error: stringdist_inner_join works on a large df with multiples in each (@test_stringdist_join.R#10) 
  5. Error: stringdist_left_join works as expected (@test_stringdist_join.R#41) 
  6. Error: stringdist_right_join works as expected (@test_stringdist_join.R#57) 
  7. Error: stringdist_full_join works as expected (@test_stringdist_join.R#72) 
  8. Error: stringdist_semi_join works as expected (@test_stringdist_join.R#91) 
  9. Error: stringdist_anti_join works as expected (@test_stringdist_join.R#104) 
  1. ...
  
  Error: testthat unit tests failed
  Execution halted