diff options
Diffstat (limited to 'libcxx/test')
2 files changed, 24 insertions, 0 deletions
diff --git a/libcxx/test/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp b/libcxx/test/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp index 4fa9b0a877f..2df395cd1d7 100644 --- a/libcxx/test/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp +++ b/libcxx/test/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp @@ -192,6 +192,18 @@ int main() assert(err == ios.goodbit); assert(v == 123); } + { + v = -1; + const char str[] = "2-"; + std::ios_base::iostate err = ios.goodbit; + input_iterator<const char*> iter = + f.get(input_iterator<const char*>(str), + input_iterator<const char*>(str+sizeof(str)), + ios, err, v); + assert(iter.base() == str+1); + assert(err == ios.goodbit); + assert(v == 2); + } ios.imbue(std::locale(std::locale(), new my_numpunct)); { v = -1; diff --git a/libcxx/test/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long.pass.cpp b/libcxx/test/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long.pass.cpp index 8bcaaa9375c..8fcaaa4f87f 100644 --- a/libcxx/test/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long.pass.cpp +++ b/libcxx/test/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long.pass.cpp @@ -144,6 +144,18 @@ int main() assert(err == ios.goodbit); assert(v == 83); } + { + const char str[] = "2-"; + ios.setf(0, ios.basefield); + std::ios_base::iostate err = ios.goodbit; + input_iterator<const char*> iter = + f.get(input_iterator<const char*>(str), + input_iterator<const char*>(str+sizeof(str)), + ios, err, v); + assert(iter.base() == str+1); + assert(err == ios.goodbit); + assert(v == 2); + } dec(ios); ios.imbue(std::locale(std::locale(), new my_numpunct)); { |