Author: ericwf Date: Fri Oct 28 01:40:29 2016 New Revision: 285384 URL: http://llvm.org/viewvc/llvm-project?rev=285384&view=rev Log: Add more tests for optional<const T>
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/copy.pass.cpp libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/in_place_t.pass.cpp libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp?rev=285384&r1=285383&r2=285384&view=diff ============================================================================== --- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp (original) +++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp Fri Oct 28 01:40:29 2016 @@ -69,6 +69,11 @@ void test_implicit() static_assert(implicit_conversion<long double>(3.14, 3.14), ""); } { + int x = 42; + optional<void* const> o(&x); + assert(*o == &x); + } + { using T = TrivialTestTypes::TestType; static_assert(implicit_conversion<T>(42, 42), ""); } Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp?rev=285384&r1=285383&r2=285384&view=diff ============================================================================== --- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp (original) +++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp Fri Oct 28 01:40:29 2016 @@ -53,6 +53,11 @@ int main() } { + const int x = 42; + optional<const int> o(x); + assert(*o == x); + } + { typedef TestTypes::TestType T; T::reset(); const T t(3); Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/copy.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/copy.pass.cpp?rev=285384&r1=285383&r2=285384&view=diff ============================================================================== --- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/copy.pass.cpp (original) +++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/copy.pass.cpp Fri Oct 28 01:40:29 2016 @@ -109,6 +109,11 @@ int main() test<int>(); test<int>(3); { + const optional<const int> o(42); + optional<const int> o2(o); + assert(*o2 == 42); + } + { using T = TestTypes::TestType; T::reset(); const optional<T> rhs; Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/in_place_t.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/in_place_t.pass.cpp?rev=285384&r1=285383&r2=285384&view=diff ============================================================================== --- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/in_place_t.pass.cpp (original) +++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/in_place_t.pass.cpp Fri Oct 28 01:40:29 2016 @@ -75,6 +75,10 @@ int main() } { + optional<const int> opt(in_place, 5); + assert(*opt == 5); + } + { const optional<X> opt(in_place); assert(static_cast<bool>(opt) == true); assert(*opt == X()); Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp?rev=285384&r1=285383&r2=285384&view=diff ============================================================================== --- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp (original) +++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp Fri Oct 28 01:40:29 2016 @@ -137,6 +137,11 @@ int main() test<int>(); test<int>(3); { + optional<const int> o(42); + optional<const int> o2(std::move(o)); + assert(*o2 == 42); + } + { using T = TestTypes::TestType; T::reset(); optional<T> rhs; Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp?rev=285384&r1=285383&r2=285384&view=diff ============================================================================== --- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp (original) +++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp Fri Oct 28 01:40:29 2016 @@ -59,6 +59,11 @@ int main() }; } { + const int x = 42; + optional<const int> o(std::move(x)); + assert(*o == 42); + } + { typedef TestTypes::TestType T; T::reset(); optional<T> opt = T{3}; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits