brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · e87bfba Raw
89 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9// REQUIRES: locale.en_US.UTF-810 11// <locale>12 13// basic_string<char> name() const;14 15#include <locale>16#include <cassert>17 18#include "test_macros.h"19#include "platform_support.h" // locale name macros20 21int main(int, char**)22{23    std::locale cloc;24    std::locale copy(cloc);25    std::locale n1(LOCALE_en_US_UTF_8);26    std::locale n2(LOCALE_en_US_UTF_8);27    std::locale noname1 = n1.combine<std::ctype<char> >(cloc);28    std::locale nonamec = noname1;29    std::locale noname2 = n1.combine<std::ctype<char> >(cloc);30 31    assert(cloc == cloc);32    assert(cloc == copy);33    assert(cloc != n1);34    assert(cloc != n2);35    assert(cloc != noname1);36    assert(cloc != nonamec);37    assert(cloc != noname2);38 39    assert(copy == cloc);40    assert(copy == copy);41    assert(copy != n1);42    assert(copy != n2);43    assert(copy != noname1);44    assert(copy != nonamec);45    assert(copy != noname2);46 47    assert(n1 != cloc);48    assert(n1 != copy);49    assert(n1 == n1);50    assert(n1 == n2);51    assert(n1 != noname1);52    assert(n1 != nonamec);53    assert(n1 != noname2);54 55    assert(n2 != cloc);56    assert(n2 != copy);57    assert(n2 == n1);58    assert(n2 == n2);59    assert(n2 != noname1);60    assert(n2 != nonamec);61    assert(n2 != noname2);62 63    assert(noname1 != cloc);64    assert(noname1 != copy);65    assert(noname1 != n1);66    assert(noname1 != n2);67    assert(noname1 == noname1);68    assert(noname1 == nonamec);69    assert(noname1 != noname2);70 71    assert(nonamec != cloc);72    assert(nonamec != copy);73    assert(nonamec != n1);74    assert(nonamec != n2);75    assert(nonamec == noname1);76    assert(nonamec == nonamec);77    assert(nonamec != noname2);78 79    assert(noname2 != cloc);80    assert(noname2 != copy);81    assert(noname2 != n1);82    assert(noname2 != n2);83    assert(noname2 != noname1);84    assert(noname2 != nonamec);85    assert(noname2 == noname2);86 87  return 0;88}89