(root)/
findutils-4.9.0/
locate/
testsuite/
locate.gnu/
sv-bug-14535.exp
# NOTE: this file contains UTF8 characters.


proc selectlocale { pattern } {
    if [ catch { set locale_list [ split [ eval exec locale -a ] "\n" ] } ] {
	# Failed to figure out which tests are supported.
	return ""
    }
    foreach locale $locale_list {
	if { [string match $pattern $locale] } {
	    global env
	    set env(LC_ALL) $locale
	    return $locale
	}
    }
    return ""
}

proc select_any_locale { patternlist } {
    foreach pattern $patternlist {
	set locale [ selectlocale $pattern ]
	if { [ string length $locale ] } {
	    return $locale
	}
    }
    return ""
}

# localeoptions contains a list (in order of preference) of the
# locales in which we want to perform part of this test.  If we can
# use any locale matching any of the patterns, we run an extra four
# tests.  Otherwise, we skip them and issue a warning message.
set localeoptions {
    "hu_HU.UTF-8"
    "hu_*.UTF-8"
    "en_IE.utf8"
    "en_GB.utf8"
    "en_US.utf8"
    "en_*.utf8"
    "*.utf8"
}



# Do the regular case-fold tests which only need ASCII support.
locate_textonly p  a "teste\n" "-i teste" "teste\n"
locate_textonly p  b "testE\n" "-i testE" "testE\n"
locate_textonly p  c "testE\n" "-i teste" "testE\n"
locate_textonly p  d "teste\n" "-i testE" "teste\n"

set locale [ select_any_locale $localeoptions ]
if { [ string length $locale ] } {
    # We have a UTF-8 locale.  Do the extra tests.
    locate_textonly p  0 "testé\n" "-i testé" "testé\n"
    locate_textonly p  1 "testÉ\n" "-i testé" "testÉ\n"
    locate_textonly p  2 "testé\n" "-i testÉ" "testé\n"
    locate_textonly p  3 "testÉ\n" "-i testÉ" "testÉ\n"
} else {
    warning "Four tests have been skipped because I cannot find a UTF-8 locale configured on your system"
}