context('Use of regexes in sentences')
f = function(k) gsub('COUNTRY', k, 'The governement of COUNTRY was reelected.')
origin = countrycode::codelist
# Only test country names with valid regex
origin = origin[!is.na(origin$country.name.en.regex), 'country.name.en']
sentence = sapply(origin, f)
target = countrycode(sentence, 'country.name', 'country.name')
problems = origin[is.na(target)]
test_that('countrycode can catch countries in the middle of a sentence', {
expect_equal(length(problems), 0)
})
test_that('sentence with two matches returns NA and produces a warning',{
expect_equal(countrycode('report from Canada and the United States.', 'country.name', 'country.name', warn=FALSE), NA_character_)
expect_warning(countrycode('report from Canada and the United States.', 'country.name', 'country.name'))
})
test_that('sentence with a single match',{
expect_equal(countrycode('report from Canada.', 'country.name', 'country.name'), 'Canada')
})
test_that('known issues with previous versions of countrycode',{
# http://stackoverflow.com/questions/42235490/from-string-to-regex-to-new-string
expect_equal(countrycode('Stuff happens in North Korea', 'country.name', 'iso3c'), 'PRK')
expect_equal(countrycode('I heard that Ireland is beautiful.', 'country.name', 'iso3c'), 'IRL')
expect_equal(countrycode(' Ireland ', 'country.name', 'iso3c'), 'IRL')
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.