Lines Matching refs:format
39 using fmt::format;
380 EXPECT_EQ(fmt::format("test: {}", get_system_error(EDOM)), in TEST()
398 EXPECT_EQ(fmt::format("error {}", EDOM), to_string(message)); in TEST()
403 EXPECT_EQ(fmt::format("test: {}", get_system_error(EDOM)), e.what()); in TEST()
464 EXPECT_EQ("{", format("{{")); in TEST()
465 EXPECT_EQ("before {", format("before {{")); in TEST()
466 EXPECT_EQ("{ after", format("{{ after")); in TEST()
467 EXPECT_EQ("before { after", format("before {{ after")); in TEST()
469 EXPECT_EQ("}", format("}}")); in TEST()
470 EXPECT_EQ("before }", format("before }}")); in TEST()
471 EXPECT_EQ("} after", format("}} after")); in TEST()
472 EXPECT_EQ("before } after", format("before }} after")); in TEST()
474 EXPECT_EQ("{}", format("{{}}")); in TEST()
475 EXPECT_EQ("{42}", format("{{{0}}}", 42)); in TEST()
479 EXPECT_THROW_MSG(format("{"), format_error, "invalid format string"); in TEST()
480 EXPECT_THROW_MSG(format("}"), format_error, "unmatched '}' in format string"); in TEST()
481 EXPECT_THROW_MSG(format("{0{}"), format_error, "invalid format string"); in TEST()
484 TEST(FormatterTest, NoArgs) { EXPECT_EQ("test", format("test")); } in TEST()
487 EXPECT_EQ("42", format("{0}", 42)); in TEST()
488 EXPECT_EQ("before 42", format("before {0}", 42)); in TEST()
489 EXPECT_EQ("42 after", format("{0} after", 42)); in TEST()
490 EXPECT_EQ("before 42 after", format("before {0} after", 42)); in TEST()
491 EXPECT_EQ("answer = 42", format("{0} = {1}", "answer", 42)); in TEST()
492 EXPECT_EQ("42 is the answer", format("{1} is the {0}", "answer", 42)); in TEST()
493 EXPECT_EQ("abracadabra", format("{0}{1}{0}", "abra", "cad")); in TEST()
497 EXPECT_THROW_MSG(format("{"), format_error, "invalid format string"); in TEST()
498 EXPECT_THROW_MSG(format("{?}"), format_error, "invalid format string"); in TEST()
499 EXPECT_THROW_MSG(format("{0"), format_error, "invalid format string"); in TEST()
500 EXPECT_THROW_MSG(format("{0}"), format_error, "argument not found"); in TEST()
501 EXPECT_THROW_MSG(format("{00}", 42), format_error, "invalid format string"); in TEST()
505 EXPECT_THROW_MSG(format(format_str), format_error, "invalid format string"); in TEST()
507 EXPECT_THROW_MSG(format(format_str), format_error, "argument not found"); in TEST()
510 EXPECT_THROW_MSG(format(format_str), format_error, "number is too big"); in TEST()
512 EXPECT_THROW_MSG(format(format_str), format_error, "number is too big"); in TEST()
517 static std::string format(fmt::string_view format_str, const Args&... args) { in format() function
518 return TestFormat<N - 1>::format(format_str, N - 1, args...); in format()
524 static std::string format(fmt::string_view format_str, const Args&... args) { in format() function
525 return fmt::format(format_str, args...); in format()
530 EXPECT_EQ("19", TestFormat<20>::format("{19}")); in TEST()
531 EXPECT_THROW_MSG(TestFormat<20>::format("{20}"), format_error, in TEST()
533 EXPECT_THROW_MSG(TestFormat<21>::format("{21}"), format_error, in TEST()
536 std::string format_str = fmt::format("{{{}}}", max_packed_args + 1); in TEST()
537 EXPECT_THROW_MSG(TestFormat<max_packed_args>::format(format_str), in TEST()
542 EXPECT_EQ("1/a/A", format("{_1}/{a_}/{A_}", fmt::arg("a_", 'a'), in TEST()
544 EXPECT_EQ(" -42", format("{0:{width}}", -42, fmt::arg("width", 4))); in TEST()
545 EXPECT_EQ("st", format("{0:.{precision}}", "str", fmt::arg("precision", 2))); in TEST()
546 EXPECT_EQ("1 2", format("{} {two}", 1, fmt::arg("two", 2))); in TEST()
547 EXPECT_EQ("42", format("{c}", fmt::arg("a", 0), fmt::arg("b", 0), in TEST()
553 EXPECT_THROW_MSG(format("{a}"), format_error, "argument not found"); in TEST()
554 EXPECT_THROW_MSG(format("{a}", 42), format_error, "argument not found"); in TEST()
558 EXPECT_EQ("abc", format("{}{}{}", 'a', 'b', 'c')); in TEST()
559 EXPECT_THROW_MSG(format("{0}{}", 'a', 'b'), format_error, in TEST()
561 EXPECT_THROW_MSG(format("{}{0}", 'a', 'b'), format_error, in TEST()
563 EXPECT_EQ("1.2", format("{:.{}}", 1.2345, 2)); in TEST()
564 EXPECT_THROW_MSG(format("{0}:.{}", 1.2345, 2), format_error, in TEST()
566 EXPECT_THROW_MSG(format("{:.{0}}", 1.2345, 2), format_error, in TEST()
568 EXPECT_THROW_MSG(format("{}"), format_error, "argument not found"); in TEST()
571 TEST(FormatterTest, EmptySpecs) { EXPECT_EQ("42", format("{0:}", 42)); } in TEST()
574 EXPECT_EQ("42 ", format("{0:<4}", 42)); in TEST()
575 EXPECT_EQ("42 ", format("{0:<4o}", 042)); in TEST()
576 EXPECT_EQ("42 ", format("{0:<4x}", 0x42)); in TEST()
577 EXPECT_EQ("-42 ", format("{0:<5}", -42)); in TEST()
578 EXPECT_EQ("42 ", format("{0:<5}", 42u)); in TEST()
579 EXPECT_EQ("-42 ", format("{0:<5}", -42l)); in TEST()
580 EXPECT_EQ("42 ", format("{0:<5}", 42ul)); in TEST()
581 EXPECT_EQ("-42 ", format("{0:<5}", -42ll)); in TEST()
582 EXPECT_EQ("42 ", format("{0:<5}", 42ull)); in TEST()
583 EXPECT_EQ("-42 ", format("{0:<5}", -42.0)); in TEST()
584 EXPECT_EQ("-42 ", format("{0:<5}", -42.0l)); in TEST()
585 EXPECT_EQ("c ", format("{0:<5}", 'c')); in TEST()
586 EXPECT_EQ("abc ", format("{0:<5}", "abc")); in TEST()
587 EXPECT_EQ("0xface ", format("{0:<8}", reinterpret_cast<void*>(0xface))); in TEST()
591 EXPECT_EQ(" 42", format("{0:>4}", 42)); in TEST()
592 EXPECT_EQ(" 42", format("{0:>4o}", 042)); in TEST()
593 EXPECT_EQ(" 42", format("{0:>4x}", 0x42)); in TEST()
594 EXPECT_EQ(" -42", format("{0:>5}", -42)); in TEST()
595 EXPECT_EQ(" 42", format("{0:>5}", 42u)); in TEST()
596 EXPECT_EQ(" -42", format("{0:>5}", -42l)); in TEST()
597 EXPECT_EQ(" 42", format("{0:>5}", 42ul)); in TEST()
598 EXPECT_EQ(" -42", format("{0:>5}", -42ll)); in TEST()
599 EXPECT_EQ(" 42", format("{0:>5}", 42ull)); in TEST()
600 EXPECT_EQ(" -42", format("{0:>5}", -42.0)); in TEST()
601 EXPECT_EQ(" -42", format("{0:>5}", -42.0l)); in TEST()
602 EXPECT_EQ(" c", format("{0:>5}", 'c')); in TEST()
603 EXPECT_EQ(" abc", format("{0:>5}", "abc")); in TEST()
604 EXPECT_EQ(" 0xface", format("{0:>8}", reinterpret_cast<void*>(0xface))); in TEST()
608 TEST(FormatterTest, NumericAlign) { EXPECT_EQ("0042", format("{0:=4}", 42)); } in TEST()
612 EXPECT_EQ(" 42 ", format("{0:^5}", 42)); in TEST()
613 EXPECT_EQ(" 42 ", format("{0:^5o}", 042)); in TEST()
614 EXPECT_EQ(" 42 ", format("{0:^5x}", 0x42)); in TEST()
615 EXPECT_EQ(" -42 ", format("{0:^5}", -42)); in TEST()
616 EXPECT_EQ(" 42 ", format("{0:^5}", 42u)); in TEST()
617 EXPECT_EQ(" -42 ", format("{0:^5}", -42l)); in TEST()
618 EXPECT_EQ(" 42 ", format("{0:^5}", 42ul)); in TEST()
619 EXPECT_EQ(" -42 ", format("{0:^5}", -42ll)); in TEST()
620 EXPECT_EQ(" 42 ", format("{0:^5}", 42ull)); in TEST()
621 EXPECT_EQ(" -42 ", format("{0:^5}", -42.0)); in TEST()
622 EXPECT_EQ(" -42 ", format("{0:^5}", -42.0l)); in TEST()
623 EXPECT_EQ(" c ", format("{0:^5}", 'c')); in TEST()
624 EXPECT_EQ(" abc ", format("{0:^6}", "abc")); in TEST()
625 EXPECT_EQ(" 0xface ", format("{0:^8}", reinterpret_cast<void*>(0xface))); in TEST()
629 EXPECT_THROW_MSG(format("{0:{<5}", 'c'), format_error, in TEST()
631 EXPECT_THROW_MSG(format("{0:{<5}}", 'c'), format_error, in TEST()
633 EXPECT_EQ("**42", format("{0:*>4}", 42)); in TEST()
634 EXPECT_EQ("**-42", format("{0:*>5}", -42)); in TEST()
635 EXPECT_EQ("***42", format("{0:*>5}", 42u)); in TEST()
636 EXPECT_EQ("**-42", format("{0:*>5}", -42l)); in TEST()
637 EXPECT_EQ("***42", format("{0:*>5}", 42ul)); in TEST()
638 EXPECT_EQ("**-42", format("{0:*>5}", -42ll)); in TEST()
639 EXPECT_EQ("***42", format("{0:*>5}", 42ull)); in TEST()
640 EXPECT_EQ("**-42", format("{0:*>5}", -42.0)); in TEST()
641 EXPECT_EQ("**-42", format("{0:*>5}", -42.0l)); in TEST()
642 EXPECT_EQ("c****", format("{0:*<5}", 'c')); in TEST()
643 EXPECT_EQ("abc**", format("{0:*<5}", "abc")); in TEST()
644 EXPECT_EQ("**0xface", format("{0:*>8}", reinterpret_cast<void*>(0xface))); in TEST()
645 EXPECT_EQ("foo=", format("{:}=", "foo")); in TEST()
646 EXPECT_EQ(std::string("\0\0\0*", 4), format(string_view("{:\0>4}", 6), '*')); in TEST()
647 EXPECT_EQ("жж42", format("{0:ж>4}", 42)); in TEST()
648 EXPECT_THROW_MSG(format("{:\x80\x80\x80\x80\x80>}", 0), format_error, in TEST()
653 EXPECT_EQ("+42", format("{0:+}", 42)); in TEST()
654 EXPECT_EQ("-42", format("{0:+}", -42)); in TEST()
655 EXPECT_EQ("+42", format("{0:+}", 42)); in TEST()
656 EXPECT_THROW_MSG(format("{0:+}", 42u), format_error, in TEST()
658 EXPECT_EQ("+42", format("{0:+}", 42l)); in TEST()
659 EXPECT_THROW_MSG(format("{0:+}", 42ul), format_error, in TEST()
661 EXPECT_EQ("+42", format("{0:+}", 42ll)); in TEST()
662 EXPECT_THROW_MSG(format("{0:+}", 42ull), format_error, in TEST()
664 EXPECT_EQ("+42", format("{0:+}", 42.0)); in TEST()
665 EXPECT_EQ("+42", format("{0:+}", 42.0l)); in TEST()
666 EXPECT_THROW_MSG(format("{0:+", 'c'), format_error, in TEST()
668 EXPECT_THROW_MSG(format("{0:+}", 'c'), format_error, in TEST()
670 EXPECT_THROW_MSG(format("{0:+}", "abc"), format_error, in TEST()
672 EXPECT_THROW_MSG(format("{0:+}", reinterpret_cast<void*>(0x42)), format_error, in TEST()
677 EXPECT_EQ("42", format("{0:-}", 42)); in TEST()
678 EXPECT_EQ("-42", format("{0:-}", -42)); in TEST()
679 EXPECT_EQ("42", format("{0:-}", 42)); in TEST()
680 EXPECT_THROW_MSG(format("{0:-}", 42u), format_error, in TEST()
682 EXPECT_EQ("42", format("{0:-}", 42l)); in TEST()
683 EXPECT_THROW_MSG(format("{0:-}", 42ul), format_error, in TEST()
685 EXPECT_EQ("42", format("{0:-}", 42ll)); in TEST()
686 EXPECT_THROW_MSG(format("{0:-}", 42ull), format_error, in TEST()
688 EXPECT_EQ("42", format("{0:-}", 42.0)); in TEST()
689 EXPECT_EQ("42", format("{0:-}", 42.0l)); in TEST()
690 EXPECT_THROW_MSG(format("{0:-", 'c'), format_error, in TEST()
692 EXPECT_THROW_MSG(format("{0:-}", 'c'), format_error, in TEST()
694 EXPECT_THROW_MSG(format("{0:-}", "abc"), format_error, in TEST()
696 EXPECT_THROW_MSG(format("{0:-}", reinterpret_cast<void*>(0x42)), format_error, in TEST()
701 EXPECT_EQ(" 42", format("{0: }", 42)); in TEST()
702 EXPECT_EQ("-42", format("{0: }", -42)); in TEST()
703 EXPECT_EQ(" 42", format("{0: }", 42)); in TEST()
704 EXPECT_THROW_MSG(format("{0: }", 42u), format_error, in TEST()
706 EXPECT_EQ(" 42", format("{0: }", 42l)); in TEST()
707 EXPECT_THROW_MSG(format("{0: }", 42ul), format_error, in TEST()
709 EXPECT_EQ(" 42", format("{0: }", 42ll)); in TEST()
710 EXPECT_THROW_MSG(format("{0: }", 42ull), format_error, in TEST()
712 EXPECT_EQ(" 42", format("{0: }", 42.0)); in TEST()
713 EXPECT_EQ(" 42", format("{0: }", 42.0l)); in TEST()
714 EXPECT_THROW_MSG(format("{0: ", 'c'), format_error, in TEST()
716 EXPECT_THROW_MSG(format("{0: }", 'c'), format_error, in TEST()
718 EXPECT_THROW_MSG(format("{0: }", "abc"), format_error, in TEST()
720 EXPECT_THROW_MSG(format("{0: }", reinterpret_cast<void*>(0x42)), format_error, in TEST()
727 EXPECT_THROW(format(format_str, 42), format_error); in TEST()
731 EXPECT_EQ("42", format("{0:#}", 42)); in TEST()
732 EXPECT_EQ("-42", format("{0:#}", -42)); in TEST()
733 EXPECT_EQ("0b101010", format("{0:#b}", 42)); in TEST()
734 EXPECT_EQ("0B101010", format("{0:#B}", 42)); in TEST()
735 EXPECT_EQ("-0b101010", format("{0:#b}", -42)); in TEST()
736 EXPECT_EQ("0x42", format("{0:#x}", 0x42)); in TEST()
737 EXPECT_EQ("0X42", format("{0:#X}", 0x42)); in TEST()
738 EXPECT_EQ("-0x42", format("{0:#x}", -0x42)); in TEST()
739 EXPECT_EQ("0", format("{0:#o}", 0)); in TEST()
740 EXPECT_EQ("042", format("{0:#o}", 042)); in TEST()
741 EXPECT_EQ("-042", format("{0:#o}", -042)); in TEST()
742 EXPECT_EQ("42", format("{0:#}", 42u)); in TEST()
743 EXPECT_EQ("0x42", format("{0:#x}", 0x42u)); in TEST()
744 EXPECT_EQ("042", format("{0:#o}", 042u)); in TEST()
746 EXPECT_EQ("-42", format("{0:#}", -42l)); in TEST()
747 EXPECT_EQ("0x42", format("{0:#x}", 0x42l)); in TEST()
748 EXPECT_EQ("-0x42", format("{0:#x}", -0x42l)); in TEST()
749 EXPECT_EQ("042", format("{0:#o}", 042l)); in TEST()
750 EXPECT_EQ("-042", format("{0:#o}", -042l)); in TEST()
751 EXPECT_EQ("42", format("{0:#}", 42ul)); in TEST()
752 EXPECT_EQ("0x42", format("{0:#x}", 0x42ul)); in TEST()
753 EXPECT_EQ("042", format("{0:#o}", 042ul)); in TEST()
755 EXPECT_EQ("-42", format("{0:#}", -42ll)); in TEST()
756 EXPECT_EQ("0x42", format("{0:#x}", 0x42ll)); in TEST()
757 EXPECT_EQ("-0x42", format("{0:#x}", -0x42ll)); in TEST()
758 EXPECT_EQ("042", format("{0:#o}", 042ll)); in TEST()
759 EXPECT_EQ("-042", format("{0:#o}", -042ll)); in TEST()
760 EXPECT_EQ("42", format("{0:#}", 42ull)); in TEST()
761 EXPECT_EQ("0x42", format("{0:#x}", 0x42ull)); in TEST()
762 EXPECT_EQ("042", format("{0:#o}", 042ull)); in TEST()
764 EXPECT_EQ("-42.0", format("{0:#}", -42.0)); in TEST()
765 EXPECT_EQ("-42.0", format("{0:#}", -42.0l)); in TEST()
766 EXPECT_EQ("4.e+01", format("{:#.0e}", 42.0)); in TEST()
767 EXPECT_EQ("0.", format("{:#.0f}", 0.01)); in TEST()
768 EXPECT_EQ("0.50", format("{:#.2g}", 0.5)); in TEST()
769 EXPECT_EQ("0.", format("{:#.0f}", 0.5)); in TEST()
770 EXPECT_THROW_MSG(format("{0:#", 'c'), format_error, in TEST()
772 EXPECT_THROW_MSG(format("{0:#}", 'c'), format_error, in TEST()
774 EXPECT_THROW_MSG(format("{0:#}", "abc"), format_error, in TEST()
776 EXPECT_THROW_MSG(format("{0:#}", reinterpret_cast<void*>(0x42)), format_error, in TEST()
781 EXPECT_EQ("42", format("{0:0}", 42)); in TEST()
782 EXPECT_EQ("-0042", format("{0:05}", -42)); in TEST()
783 EXPECT_EQ("00042", format("{0:05}", 42u)); in TEST()
784 EXPECT_EQ("-0042", format("{0:05}", -42l)); in TEST()
785 EXPECT_EQ("00042", format("{0:05}", 42ul)); in TEST()
786 EXPECT_EQ("-0042", format("{0:05}", -42ll)); in TEST()
787 EXPECT_EQ("00042", format("{0:05}", 42ull)); in TEST()
788 EXPECT_EQ("-000042", format("{0:07}", -42.0)); in TEST()
789 EXPECT_EQ("-000042", format("{0:07}", -42.0l)); in TEST()
790 EXPECT_THROW_MSG(format("{0:0", 'c'), format_error, in TEST()
792 EXPECT_THROW_MSG(format("{0:05}", 'c'), format_error, in TEST()
794 EXPECT_THROW_MSG(format("{0:05}", "abc"), format_error, in TEST()
796 EXPECT_THROW_MSG(format("{0:05}", reinterpret_cast<void*>(0x42)), in TEST()
804 EXPECT_THROW_MSG(format(format_str, 0), format_error, "number is too big"); in TEST()
808 EXPECT_THROW_MSG(format(format_str, 0), format_error, "number is too big"); in TEST()
811 EXPECT_THROW_MSG(format(format_str, 0), format_error, "number is too big"); in TEST()
813 EXPECT_THROW_MSG(format(format_str, 0), format_error, "number is too big"); in TEST()
814 EXPECT_EQ(" -42", format("{0:4}", -42)); in TEST()
815 EXPECT_EQ(" 42", format("{0:5}", 42u)); in TEST()
816 EXPECT_EQ(" -42", format("{0:6}", -42l)); in TEST()
817 EXPECT_EQ(" 42", format("{0:7}", 42ul)); in TEST()
818 EXPECT_EQ(" -42", format("{0:6}", -42ll)); in TEST()
819 EXPECT_EQ(" 42", format("{0:7}", 42ull)); in TEST()
820 EXPECT_EQ(" -1.23", format("{0:8}", -1.23)); in TEST()
821 EXPECT_EQ(" -1.23", format("{0:9}", -1.23l)); in TEST()
822 EXPECT_EQ(" 0xcafe", format("{0:10}", reinterpret_cast<void*>(0xcafe))); in TEST()
823 EXPECT_EQ("x ", format("{0:11}", 'x')); in TEST()
824 EXPECT_EQ("str ", format("{0:12}", "str")); in TEST()
825 EXPECT_EQ(fmt::format("{:*^5}", ""), "****"); in TEST()
834 EXPECT_THROW_MSG(format(format_str, 0), format_error, "number is too big"); in TEST()
838 EXPECT_THROW_MSG(format(format_str, 0), format_error, "number is too big"); in TEST()
841 EXPECT_THROW_MSG(format(format_str, 0), format_error, "number is too big"); in TEST()
843 EXPECT_THROW_MSG(format("{0:{", 0), format_error, "invalid format string"); in TEST()
844 EXPECT_THROW_MSG(format("{0:{}", 0), format_error, in TEST()
846 EXPECT_THROW_MSG(format("{0:{?}}", 0), format_error, "invalid format string"); in TEST()
847 EXPECT_THROW_MSG(format("{0:{1}}", 0), format_error, "argument not found"); in TEST()
849 EXPECT_THROW_MSG(format("{0:{0:}}", 0), format_error, in TEST()
852 EXPECT_THROW_MSG(format("{0:{1}}", 0, -1), format_error, "negative width"); in TEST()
853 EXPECT_THROW_MSG(format("{0:{1}}", 0, (INT_MAX + 1u)), format_error, in TEST()
855 EXPECT_THROW_MSG(format("{0:{1}}", 0, -1l), format_error, "negative width"); in TEST()
858 EXPECT_THROW_MSG(format("{0:{1}}", 0, (value + 1)), format_error, in TEST()
861 EXPECT_THROW_MSG(format("{0:{1}}", 0, (INT_MAX + 1ul)), format_error, in TEST()
864 EXPECT_THROW_MSG(format("{0:{1}}", 0, '0'), format_error, in TEST()
866 EXPECT_THROW_MSG(format("{0:{1}}", 0, 0.0), format_error, in TEST()
869 EXPECT_EQ(" -42", format("{0:{1}}", -42, 4)); in TEST()
870 EXPECT_EQ(" 42", format("{0:{1}}", 42u, 5)); in TEST()
871 EXPECT_EQ(" -42", format("{0:{1}}", -42l, 6)); in TEST()
872 EXPECT_EQ(" 42", format("{0:{1}}", 42ul, 7)); in TEST()
873 EXPECT_EQ(" -42", format("{0:{1}}", -42ll, 6)); in TEST()
874 EXPECT_EQ(" 42", format("{0:{1}}", 42ull, 7)); in TEST()
875 EXPECT_EQ(" -1.23", format("{0:{1}}", -1.23, 8)); in TEST()
876 EXPECT_EQ(" -1.23", format("{0:{1}}", -1.23l, 9)); in TEST()
878 format("{0:{1}}", reinterpret_cast<void*>(0xcafe), 10)); in TEST()
879 EXPECT_EQ("x ", format("{0:{1}}", 'x', 11)); in TEST()
880 EXPECT_EQ("str ", format("{0:{1}}", "str", 12)); in TEST()
887 EXPECT_THROW_MSG(format(format_str, 0), format_error, "number is too big"); in TEST()
891 EXPECT_THROW_MSG(format(format_str, 0), format_error, "number is too big"); in TEST()
894 EXPECT_THROW_MSG(format(format_str, 0), format_error, "number is too big"); in TEST()
896 EXPECT_THROW_MSG(format(format_str, 0), format_error, "number is too big"); in TEST()
898 EXPECT_THROW_MSG(format("{0:.", 0), format_error, in TEST()
900 EXPECT_THROW_MSG(format("{0:.}", 0), format_error, in TEST()
903 EXPECT_THROW_MSG(format("{0:.2", 0), format_error, in TEST()
905 EXPECT_THROW_MSG(format("{0:.2}", 42), format_error, in TEST()
907 EXPECT_THROW_MSG(format("{0:.2f}", 42), format_error, in TEST()
909 EXPECT_THROW_MSG(format("{0:.2}", 42u), format_error, in TEST()
911 EXPECT_THROW_MSG(format("{0:.2f}", 42u), format_error, in TEST()
913 EXPECT_THROW_MSG(format("{0:.2}", 42l), format_error, in TEST()
915 EXPECT_THROW_MSG(format("{0:.2f}", 42l), format_error, in TEST()
917 EXPECT_THROW_MSG(format("{0:.2}", 42ul), format_error, in TEST()
919 EXPECT_THROW_MSG(format("{0:.2f}", 42ul), format_error, in TEST()
921 EXPECT_THROW_MSG(format("{0:.2}", 42ll), format_error, in TEST()
923 EXPECT_THROW_MSG(format("{0:.2f}", 42ll), format_error, in TEST()
925 EXPECT_THROW_MSG(format("{0:.2}", 42ull), format_error, in TEST()
927 EXPECT_THROW_MSG(format("{0:.2f}", 42ull), format_error, in TEST()
929 EXPECT_THROW_MSG(format("{0:3.0}", 'x'), format_error, in TEST()
931 EXPECT_EQ("1.2", format("{0:.2}", 1.2345)); in TEST()
932 EXPECT_EQ("1.2", format("{0:.2}", 1.2345l)); in TEST()
933 EXPECT_EQ("1.2e+56", format("{:.2}", 1.234e56)); in TEST()
934 EXPECT_EQ("1e+00", format("{:.0e}", 1.0L)); in TEST()
935 EXPECT_EQ(" 0.0e+00", format("{:9.1e}", 0.0)); in TEST()
944 format("{:.494}", 4.9406564584124654E-324)); in TEST()
958 format("{:.838A}", -2.14001164E+38)); in TEST()
959 EXPECT_EQ("123.", format("{:#.0f}", 123.0)); in TEST()
960 EXPECT_EQ("1.23", format("{:.02f}", 1.234)); in TEST()
961 EXPECT_EQ("0.001", format("{:.1g}", 0.001)); in TEST()
962 EXPECT_EQ("1019666400", format("{}", 1019666432.0f)); in TEST()
963 EXPECT_EQ("1e+01", format("{:.0e}", 9.5)); in TEST()
964 EXPECT_EQ("1.0e-34", fmt::format("{:.1e}", 1e-34)); in TEST()
966 EXPECT_THROW_MSG(format("{0:.2}", reinterpret_cast<void*>(0xcafe)), in TEST()
969 EXPECT_THROW_MSG(format("{0:.2f}", reinterpret_cast<void*>(0xcafe)), in TEST()
972 EXPECT_THROW_MSG(format("{:.{}e}", 42.0, fmt::detail::max_value<int>()), in TEST()
975 EXPECT_EQ("st", format("{0:.2}", "str")); in TEST()
982 EXPECT_THROW_MSG(format(format_str, 0), format_error, "number is too big"); in TEST()
986 EXPECT_THROW_MSG(format(format_str, 0), format_error, "number is too big"); in TEST()
989 EXPECT_THROW_MSG(format(format_str, 0), format_error, "number is too big"); in TEST()
991 EXPECT_THROW_MSG(format("{0:.{", 0), format_error, "invalid format string"); in TEST()
992 EXPECT_THROW_MSG(format("{0:.{}", 0), format_error, in TEST()
994 EXPECT_THROW_MSG(format("{0:.{?}}", 0), format_error, in TEST()
996 EXPECT_THROW_MSG(format("{0:.{1}", 0, 0), format_error, in TEST()
998 EXPECT_THROW_MSG(format("{0:.{1}}", 0), format_error, "argument not found"); in TEST()
1000 EXPECT_THROW_MSG(format("{0:.{0:}}", 0), format_error, in TEST()
1003 EXPECT_THROW_MSG(format("{0:.{1}}", 0, -1), format_error, in TEST()
1005 EXPECT_THROW_MSG(format("{0:.{1}}", 0, (INT_MAX + 1u)), format_error, in TEST()
1007 EXPECT_THROW_MSG(format("{0:.{1}}", 0, -1l), format_error, in TEST()
1011 EXPECT_THROW_MSG(format("{0:.{1}}", 0, (value + 1)), format_error, in TEST()
1014 EXPECT_THROW_MSG(format("{0:.{1}}", 0, (INT_MAX + 1ul)), format_error, in TEST()
1017 EXPECT_THROW_MSG(format("{0:.{1}}", 0, '0'), format_error, in TEST()
1019 EXPECT_THROW_MSG(format("{0:.{1}}", 0, 0.0), format_error, in TEST()
1022 EXPECT_THROW_MSG(format("{0:.{1}}", 42, 2), format_error, in TEST()
1024 EXPECT_THROW_MSG(format("{0:.{1}f}", 42, 2), format_error, in TEST()
1026 EXPECT_THROW_MSG(format("{0:.{1}}", 42u, 2), format_error, in TEST()
1028 EXPECT_THROW_MSG(format("{0:.{1}f}", 42u, 2), format_error, in TEST()
1030 EXPECT_THROW_MSG(format("{0:.{1}}", 42l, 2), format_error, in TEST()
1032 EXPECT_THROW_MSG(format("{0:.{1}f}", 42l, 2), format_error, in TEST()
1034 EXPECT_THROW_MSG(format("{0:.{1}}", 42ul, 2), format_error, in TEST()
1036 EXPECT_THROW_MSG(format("{0:.{1}f}", 42ul, 2), format_error, in TEST()
1038 EXPECT_THROW_MSG(format("{0:.{1}}", 42ll, 2), format_error, in TEST()
1040 EXPECT_THROW_MSG(format("{0:.{1}f}", 42ll, 2), format_error, in TEST()
1042 EXPECT_THROW_MSG(format("{0:.{1}}", 42ull, 2), format_error, in TEST()
1044 EXPECT_THROW_MSG(format("{0:.{1}f}", 42ull, 2), format_error, in TEST()
1046 EXPECT_THROW_MSG(format("{0:3.{1}}", 'x', 0), format_error, in TEST()
1048 EXPECT_EQ("1.2", format("{0:.{1}}", 1.2345, 2)); in TEST()
1049 EXPECT_EQ("1.2", format("{1:.{0}}", 2, 1.2345l)); in TEST()
1051 EXPECT_THROW_MSG(format("{0:.{1}}", reinterpret_cast<void*>(0xcafe), 2), in TEST()
1054 EXPECT_THROW_MSG(format("{0:.{1}f}", reinterpret_cast<void*>(0xcafe), 2), in TEST()
1058 EXPECT_EQ("st", format("{0:.{1}}", "str", 2)); in TEST()
1070 EXPECT_THROW_MSG(format(format_str, value), format_error, message) in check_unknown_types()
1076 EXPECT_EQ("true", format("{}", true)); in TEST()
1077 EXPECT_EQ("false", format("{}", false)); in TEST()
1078 EXPECT_EQ("1", format("{:d}", true)); in TEST()
1079 EXPECT_EQ("true ", format("{:5}", true)); in TEST()
1080 EXPECT_EQ(L"true", format(L"{}", true)); in TEST()
1085 EXPECT_EQ("42", format("{0:d}", s)); in TEST()
1087 EXPECT_EQ("42", format("{0:d}", us)); in TEST()
1091 EXPECT_THROW_MSG(format("{0:v", 42), format_error, in TEST()
1094 EXPECT_EQ("x", format("{:c}", static_cast<int>('x'))); in TEST()
1098 EXPECT_EQ("0", format("{0:b}", 0)); in TEST()
1099 EXPECT_EQ("101010", format("{0:b}", 42)); in TEST()
1100 EXPECT_EQ("101010", format("{0:b}", 42u)); in TEST()
1101 EXPECT_EQ("-101010", format("{0:b}", -42)); in TEST()
1102 EXPECT_EQ("11000000111001", format("{0:b}", 12345)); in TEST()
1103 EXPECT_EQ("10010001101000101011001111000", format("{0:b}", 0x12345678)); in TEST()
1104 EXPECT_EQ("10010000101010111100110111101111", format("{0:b}", 0x90ABCDEF)); in TEST()
1106 format("{0:b}", max_value<uint32_t>())); in TEST()
1118 EXPECT_EQ("0", format("{0}", 0)); in TEST()
1119 EXPECT_EQ("42", format("{0}", 42)); in TEST()
1120 EXPECT_EQ("42", format("{0:d}", 42)); in TEST()
1121 EXPECT_EQ("42", format("{0}", 42u)); in TEST()
1122 EXPECT_EQ("-42", format("{0}", -42)); in TEST()
1123 EXPECT_EQ("12345", format("{0}", 12345)); in TEST()
1124 EXPECT_EQ("67890", format("{0}", 67890)); in TEST()
1126 EXPECT_EQ("0", format("{0}", static_cast<__int128_t>(0))); in TEST()
1127 EXPECT_EQ("0", format("{0}", static_cast<__uint128_t>(0))); in TEST()
1129 format("{0}", static_cast<__int128_t>(INT64_MAX) + 1)); in TEST()
1131 format("{0}", static_cast<__int128_t>(INT64_MIN) - 1)); in TEST()
1133 format("{0}", static_cast<__int128_t>(UINT64_MAX) + 1)); in TEST()
1135 format("{0}", int128_max)); in TEST()
1137 format("{0}", int128_min)); in TEST()
1139 format("{0}", uint128_max)); in TEST()
1144 EXPECT_EQ(buffer, format("{0}", INT_MIN)); in TEST()
1146 EXPECT_EQ(buffer, format("{0}", INT_MAX)); in TEST()
1148 EXPECT_EQ(buffer, format("{0}", UINT_MAX)); in TEST()
1150 EXPECT_EQ(buffer, format("{0}", LONG_MIN)); in TEST()
1152 EXPECT_EQ(buffer, format("{0}", LONG_MAX)); in TEST()
1154 EXPECT_EQ(buffer, format("{0}", ULONG_MAX)); in TEST()
1158 EXPECT_EQ("0", format("{0:x}", 0)); in TEST()
1159 EXPECT_EQ("42", format("{0:x}", 0x42)); in TEST()
1160 EXPECT_EQ("42", format("{0:x}", 0x42u)); in TEST()
1161 EXPECT_EQ("-42", format("{0:x}", -0x42)); in TEST()
1162 EXPECT_EQ("12345678", format("{0:x}", 0x12345678)); in TEST()
1163 EXPECT_EQ("90abcdef", format("{0:x}", 0x90abcdef)); in TEST()
1164 EXPECT_EQ("12345678", format("{0:X}", 0x12345678)); in TEST()
1165 EXPECT_EQ("90ABCDEF", format("{0:X}", 0x90ABCDEF)); in TEST()
1167 EXPECT_EQ("0", format("{0:x}", static_cast<__int128_t>(0))); in TEST()
1168 EXPECT_EQ("0", format("{0:x}", static_cast<__uint128_t>(0))); in TEST()
1170 format("{0:x}", static_cast<__int128_t>(INT64_MAX) + 1)); in TEST()
1172 format("{0:x}", static_cast<__int128_t>(INT64_MIN) - 1)); in TEST()
1174 format("{0:x}", static_cast<__int128_t>(UINT64_MAX) + 1)); in TEST()
1175 EXPECT_EQ("7fffffffffffffffffffffffffffffff", format("{0:x}", int128_max)); in TEST()
1176 EXPECT_EQ("-80000000000000000000000000000000", format("{0:x}", int128_min)); in TEST()
1177 EXPECT_EQ("ffffffffffffffffffffffffffffffff", format("{0:x}", uint128_max)); in TEST()
1182 EXPECT_EQ(buffer, format("{0:x}", INT_MIN)); in TEST()
1184 EXPECT_EQ(buffer, format("{0:x}", INT_MAX)); in TEST()
1186 EXPECT_EQ(buffer, format("{0:x}", UINT_MAX)); in TEST()
1188 EXPECT_EQ(buffer, format("{0:x}", LONG_MIN)); in TEST()
1190 EXPECT_EQ(buffer, format("{0:x}", LONG_MAX)); in TEST()
1192 EXPECT_EQ(buffer, format("{0:x}", ULONG_MAX)); in TEST()
1196 EXPECT_EQ("0", format("{0:o}", 0)); in TEST()
1197 EXPECT_EQ("42", format("{0:o}", 042)); in TEST()
1198 EXPECT_EQ("42", format("{0:o}", 042u)); in TEST()
1199 EXPECT_EQ("-42", format("{0:o}", -042)); in TEST()
1200 EXPECT_EQ("12345670", format("{0:o}", 012345670)); in TEST()
1202 EXPECT_EQ("0", format("{0:o}", static_cast<__int128_t>(0))); in TEST()
1203 EXPECT_EQ("0", format("{0:o}", static_cast<__uint128_t>(0))); in TEST()
1205 format("{0:o}", static_cast<__int128_t>(INT64_MAX) + 1)); in TEST()
1207 format("{0:o}", static_cast<__int128_t>(INT64_MIN) - 1)); in TEST()
1209 format("{0:o}", static_cast<__int128_t>(UINT64_MAX) + 1)); in TEST()
1211 format("{0:o}", int128_max)); in TEST()
1213 format("{0:o}", int128_min)); in TEST()
1215 format("{0:o}", uint128_max)); in TEST()
1220 EXPECT_EQ(buffer, format("{0:o}", INT_MIN)); in TEST()
1222 EXPECT_EQ(buffer, format("{0:o}", INT_MAX)); in TEST()
1224 EXPECT_EQ(buffer, format("{0:o}", UINT_MAX)); in TEST()
1226 EXPECT_EQ(buffer, format("{0:o}", LONG_MIN)); in TEST()
1228 EXPECT_EQ(buffer, format("{0:o}", LONG_MAX)); in TEST()
1230 EXPECT_EQ(buffer, format("{0:o}", ULONG_MAX)); in TEST()
1234 EXPECT_EQ("1234", format("{:L}", 1234)); in TEST()
1242 EXPECT_EQ("100000000", format("{:x}", ConvertibleToLongLong())); in TEST()
1246 EXPECT_EQ("0", format("{}", 0.0f)); in TEST()
1247 EXPECT_EQ("392.500000", format("{0:f}", 392.5f)); in TEST()
1251 EXPECT_EQ("0", format("{}", 0.0)); in TEST()
1253 EXPECT_EQ("0", format("{:}", 0.0)); in TEST()
1254 EXPECT_EQ("0.000000", format("{:f}", 0.0)); in TEST()
1255 EXPECT_EQ("0", format("{:g}", 0.0)); in TEST()
1256 EXPECT_EQ("392.65", format("{:}", 392.65)); in TEST()
1257 EXPECT_EQ("392.65", format("{:g}", 392.65)); in TEST()
1258 EXPECT_EQ("392.65", format("{:G}", 392.65)); in TEST()
1259 EXPECT_EQ("4.9014e+06", format("{:g}", 4.9014e6)); in TEST()
1260 EXPECT_EQ("392.650000", format("{:f}", 392.65)); in TEST()
1261 EXPECT_EQ("392.650000", format("{:F}", 392.65)); in TEST()
1262 EXPECT_EQ("42", format("{:L}", 42.0)); in TEST()
1265 EXPECT_EQ(buffer, format("{0:e}", 392.65)); in TEST()
1267 EXPECT_EQ(buffer, format("{0:E}", 392.65)); in TEST()
1268 EXPECT_EQ("+0000392.6", format("{0:+010.4g}", 392.65)); in TEST()
1270 EXPECT_EQ(buffer, format("{:a}", -42.0)); in TEST()
1272 EXPECT_EQ(buffer, format("{:A}", -42.0)); in TEST()
1274 format("{:f}", 9223372036854775807.0)); in TEST()
1278 EXPECT_EQ("0", format("{:.0f}", 0.0)); in TEST()
1279 EXPECT_EQ("0", format("{:.0f}", 0.01)); in TEST()
1280 EXPECT_EQ("0", format("{:.0f}", 0.1)); in TEST()
1281 EXPECT_EQ("0.000", format("{:.3f}", 0.00049)); in TEST()
1282 EXPECT_EQ("0.001", format("{:.3f}", 0.0005)); in TEST()
1283 EXPECT_EQ("0.001", format("{:.3f}", 0.00149)); in TEST()
1284 EXPECT_EQ("0.002", format("{:.3f}", 0.0015)); in TEST()
1285 EXPECT_EQ("1.000", format("{:.3f}", 0.9999)); in TEST()
1286 EXPECT_EQ("0.00123", format("{:.3}", 0.00123)); in TEST()
1287 EXPECT_EQ("0.1", format("{:.16g}", 0.1)); in TEST()
1288 EXPECT_EQ("1", fmt::format("{:.0}", 1.0)); in TEST()
1290 fmt::format("{:.17f}", 225.51575035152064)); in TEST()
1291 EXPECT_EQ("-761519619559038.2", fmt::format("{:.1f}", -761519619559038.2)); in TEST()
1293 fmt::format("{}", 1.9156918820264798e-56)); in TEST()
1294 EXPECT_EQ("0.0000", fmt::format("{:.4f}", 7.2809479766055470e-15)); in TEST()
1297 EXPECT_EQ("3788512123356.985352", format("{:f}", 3788512123356.985352)); in TEST()
1301 EXPECT_EQ("0.0001", fmt::format("{}", 1e-4)); in TEST()
1302 EXPECT_EQ("1e-05", fmt::format("{}", 1e-5)); in TEST()
1303 EXPECT_EQ("1000000000000000", fmt::format("{}", 1e15)); in TEST()
1304 EXPECT_EQ("1e+16", fmt::format("{}", 1e16)); in TEST()
1305 EXPECT_EQ("9.999e-05", fmt::format("{}", 9.999e-5)); in TEST()
1306 EXPECT_EQ("10000000000", fmt::format("{}", 1e10)); in TEST()
1307 EXPECT_EQ("100000000000", fmt::format("{}", 1e11)); in TEST()
1308 EXPECT_EQ("12340000000", fmt::format("{}", 1234e7)); in TEST()
1309 EXPECT_EQ("12.34", fmt::format("{}", 1234e-2)); in TEST()
1310 EXPECT_EQ("0.001234", fmt::format("{}", 1234e-6)); in TEST()
1311 EXPECT_EQ("0.1", fmt::format("{}", 0.1f)); in TEST()
1312 EXPECT_EQ("0.10000000149011612", fmt::format("{}", double(0.1f))); in TEST()
1313 EXPECT_EQ("1.3563156e-19", fmt::format("{}", 1.35631564e-19f)); in TEST()
1318 EXPECT_EQ("nan", format("{}", nan)); in TEST()
1319 EXPECT_EQ("+nan", format("{:+}", nan)); in TEST()
1321 EXPECT_EQ("-nan", format("{}", -nan)); in TEST()
1324 EXPECT_EQ(" nan", format("{: }", nan)); in TEST()
1325 EXPECT_EQ("NAN", format("{:F}", nan)); in TEST()
1326 EXPECT_EQ("nan ", format("{:<7}", nan)); in TEST()
1327 EXPECT_EQ(" nan ", format("{:^7}", nan)); in TEST()
1328 EXPECT_EQ(" nan", format("{:>7}", nan)); in TEST()
1333 EXPECT_EQ("inf", format("{}", inf)); in TEST()
1334 EXPECT_EQ("+inf", format("{:+}", inf)); in TEST()
1335 EXPECT_EQ("-inf", format("{}", -inf)); in TEST()
1336 EXPECT_EQ(" inf", format("{: }", inf)); in TEST()
1337 EXPECT_EQ("INF", format("{:F}", inf)); in TEST()
1338 EXPECT_EQ("inf ", format("{:<7}", inf)); in TEST()
1339 EXPECT_EQ(" inf ", format("{:^7}", inf)); in TEST()
1340 EXPECT_EQ(" inf", format("{:>7}", inf)); in TEST()
1344 EXPECT_EQ("0", format("{0:}", 0.0l)); in TEST()
1345 EXPECT_EQ("0.000000", format("{0:f}", 0.0l)); in TEST()
1346 EXPECT_EQ("392.65", format("{0:}", 392.65l)); in TEST()
1347 EXPECT_EQ("392.65", format("{0:g}", 392.65l)); in TEST()
1348 EXPECT_EQ("392.65", format("{0:G}", 392.65l)); in TEST()
1349 EXPECT_EQ("392.650000", format("{0:f}", 392.65l)); in TEST()
1350 EXPECT_EQ("392.650000", format("{0:F}", 392.65l)); in TEST()
1353 EXPECT_EQ(buffer, format("{0:e}", 392.65l)); in TEST()
1354 EXPECT_EQ("+0000392.6", format("{0:+010.4g}", 392.64l)); in TEST()
1356 EXPECT_EQ(buffer, format("{:a}", 3.31l)); in TEST()
1362 EXPECT_EQ("a", format("{0}", 'a')); in TEST()
1363 EXPECT_EQ("z", format("{0:c}", 'z')); in TEST()
1364 EXPECT_EQ(L"a", format(L"{0}", 'a')); in TEST()
1367 std::string format_str = fmt::format("{{:{}}}", *type); in TEST()
1368 EXPECT_EQ(fmt::format(format_str, n), fmt::format(format_str, 'x')); in TEST()
1370 EXPECT_EQ(fmt::format("{:02X}", n), fmt::format("{:02X}", 'x')); in TEST()
1375 EXPECT_EQ("x", format("{}", c)); in TEST()
1379 EXPECT_EQ("42", format("{}", static_cast<unsigned char>(42))); in TEST()
1380 EXPECT_EQ("42", format("{}", static_cast<uint8_t>(42))); in TEST()
1384 EXPECT_EQ(L"a", format(L"{0}", L'a')); in TEST()
1391 EXPECT_EQ("test", format("{0}", "test")); in TEST()
1392 EXPECT_EQ("test", format("{0:s}", "test")); in TEST()
1394 EXPECT_EQ("nonconst", format("{0}", nonconst)); in TEST()
1395 EXPECT_THROW_MSG(format("{0}", static_cast<const char*>(nullptr)), in TEST()
1401 EXPECT_EQ("test", format("{0:s}", str)); in TEST()
1403 EXPECT_EQ("test", format("{0:s}", const_str)); in TEST()
1408 EXPECT_EQ("test", format("{0:s}", str)); in TEST()
1410 EXPECT_EQ("test", format("{0:s}", const_str)); in TEST()
1412 EXPECT_EQ("test", format("{0:s}", ptr)); in TEST()
1417 EXPECT_EQ("0x0", format("{0}", static_cast<void*>(nullptr))); in TEST()
1418 EXPECT_EQ("0x1234", format("{0}", reinterpret_cast<void*>(0x1234))); in TEST()
1419 EXPECT_EQ("0x1234", format("{0:p}", reinterpret_cast<void*>(0x1234))); in TEST()
1421 format("{0}", reinterpret_cast<void*>(~uintptr_t()))); in TEST()
1422 EXPECT_EQ("0x1234", format("{}", fmt::ptr(reinterpret_cast<int*>(0x1234)))); in TEST()
1424 EXPECT_EQ(format("{}", fmt::ptr(up.get())), format("{}", fmt::ptr(up))); in TEST()
1426 EXPECT_EQ(format("{}", fmt::ptr(sp.get())), format("{}", fmt::ptr(sp))); in TEST()
1427 EXPECT_EQ("0x0", format("{}", nullptr)); in TEST()
1431 EXPECT_EQ("test", format("{0}", std::string("test"))); in TEST()
1435 EXPECT_EQ("test", format("{}", string_view("test"))); in TEST()
1436 EXPECT_EQ("", format("{}", string_view())); in TEST()
1444 auto format(string_viewable, format_context& ctx) -> decltype(ctx.out()) { in format() function
1445 return formatter<std::string_view>::format("foo", ctx); in format()
1451 EXPECT_EQ("test", format("{}", std::string_view("test"))); in TEST()
1452 EXPECT_EQ("foo", format("{}", string_viewable())); in TEST()
1463 auto format(const explicitly_convertible_to_std_string_view& v, in format() function
1472 fmt::format("{}", explicitly_convertible_to_std_string_view())); in TEST()
1484 fmt::format(L"{}", explicitly_convertible_to_wstring_view())); in TEST()
1506 EXPECT_EQ(fmt::format(QString(L"{}"), 42), L"42"); in TEST()
1507 EXPECT_EQ(fmt::format(QString(L"{}"), QString(L"42")), L"42"); in TEST()
1519 auto format(const Date& d, format_context& ctx) -> decltype(ctx.out()) { in format() function
1528 EXPECT_THROW_MSG(fmt::format("{:s}", date), format_error, in TEST()
1537 auto format(Answer, FormatContext& ctx) -> decltype(ctx.out()) { in format() function
1538 return formatter<int>::format(42, ctx); in format()
1544 EXPECT_EQ("42", format("{0}", Answer())); in TEST()
1545 EXPECT_EQ("0042", format("{:04}", Answer())); in TEST()
1557 EXPECT_EQ(L"42", format(L"{}", 42)); in TEST()
1558 EXPECT_EQ(L"4.2", format(L"{}", 4.2)); in TEST()
1559 EXPECT_EQ(L"abc", format(L"{}", L"abc")); in TEST()
1560 EXPECT_EQ(L"z", format(L"{}", L'z')); in TEST()
1561 EXPECT_THROW(fmt::format(L"{:*\x343E}", 42), fmt::format_error); in TEST()
1566 format("{0:0.10f}:{1:04}:{2:+g}:{3}:{4}:{5}:%", 1.234, 42, 3.13, in TEST()
1571 std::string message = format("The answer is {}", 42); in TEST()
1574 EXPECT_EQ("42", format("{}", 42)); in TEST()
1575 EXPECT_EQ("42", format(std::string("{}"), 42)); in TEST()
1598 format("First, thou shalt count to {0}", "three")); in TEST()
1599 EXPECT_EQ("Bring me a shrubbery", format("Bring me a {}", "shrubbery")); in TEST()
1600 EXPECT_EQ("From 1 to 3", format("From {} to {}", 1, 3)); in TEST()
1604 EXPECT_EQ(buffer, format("{:03.2f}", -1.2)); in TEST()
1606 EXPECT_EQ("a, b, c", format("{0}, {1}, {2}", 'a', 'b', 'c')); in TEST()
1607 EXPECT_EQ("a, b, c", format("{}, {}, {}", 'a', 'b', 'c')); in TEST()
1608 EXPECT_EQ("c, b, a", format("{2}, {1}, {0}", 'a', 'b', 'c')); in TEST()
1609 EXPECT_EQ("abracadabra", format("{0}{1}{0}", "abra", "cad")); in TEST()
1611 EXPECT_EQ("left aligned ", format("{:<30}", "left aligned")); in TEST()
1613 format("{:>30}", "right aligned")); in TEST()
1614 EXPECT_EQ(" centered ", format("{:^30}", "centered")); in TEST()
1615 EXPECT_EQ("***********centered***********", format("{:*^30}", "centered")); in TEST()
1617 EXPECT_EQ("+3.140000; -3.140000", format("{:+f}; {:+f}", 3.14, -3.14)); in TEST()
1618 EXPECT_EQ(" 3.140000; -3.140000", format("{: f}; {: f}", 3.14, -3.14)); in TEST()
1619 EXPECT_EQ("3.140000; -3.140000", format("{:-f}; {:-f}", 3.14, -3.14)); in TEST()
1622 format("int: {0:d}; hex: {0:x}; oct: {0:o}", 42)); in TEST()
1624 format("int: {0:d}; hex: {0:#x}; oct: {0:#o}", 42)); in TEST()
1626 EXPECT_EQ("The answer is 42", format("The answer is {}", 42)); in TEST()
1627 EXPECT_THROW_MSG(format("The answer is {:d}", "forty-two"), format_error, in TEST()
1630 EXPECT_EQ(L"Cyrillic letter \x42e", format(L"Cyrillic letter {}", L'\x42e')); in TEST()
1666 EXPECT_EQ("abc1", format("{}c{}", "ab", 1)); in TEST()
1667 EXPECT_EQ(L"abc1", format(L"{}c{}", L"ab", 1)); in TEST()
1685 auto s = fmt::format("{:10}", fmt::bytes("ёжик")); in TEST()
1698 EXPECT_EQ("(1, 2, 3)", format("({})", join(v1, v1 + 3, ", "))); in TEST()
1699 EXPECT_EQ("(1)", format("({})", join(v1, v1 + 1, ", "))); in TEST()
1700 EXPECT_EQ("()", format("({})", join(v1, v1, ", "))); in TEST()
1701 EXPECT_EQ("(001, 002, 003)", format("({:03})", join(v1, v1 + 3, ", "))); in TEST()
1703 format("({:+06.2f})", join(v2.begin(), v2.end(), ", "))); in TEST()
1705 EXPECT_EQ(L"(1, 2, 3)", format(L"({})", join(v1, v1 + 3, L", "))); in TEST()
1706 EXPECT_EQ("1, 2, 3", format("{0:{1}}", join(v1, v1 + 3, ", "), 1)); in TEST()
1708 EXPECT_EQ(format("{}, {}", v3[0], v3[1]), in TEST()
1709 format("{}", join(v3, v3 + 2, ", "))); in TEST()
1712 EXPECT_EQ("(1, 2, 3)", format("({})", join(v1, ", "))); in TEST()
1713 EXPECT_EQ("(+01.20, +03.40)", format("({:+06.2f})", join(v2, ", "))); in TEST()
1718 return fmt::format("{}", value); in str()
1727 std::string vformat_message(int id, const char* format, fmt::format_args args) { in vformat_message() argument
1730 vformat_to(buffer, format, args); in vformat_message()
1735 std::string format_message(int id, const char* format, const Args&... args) { in format_message() argument
1737 return vformat_message(id, format, va); in format_message()
1746 void print_error(const char* file, int line, const char* format, in print_error() argument
1749 fmt::print(format, args...); in print_error()
1754 fmt::format("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 0, 1, 2, 3, 4, 5, in TEST()
1765 EXPECT_EQ("42", fmt::format(FMT_STRING("{}"), 42)); in TEST()
1766 EXPECT_EQ(L"42", fmt::format(FMT_STRING(L"{}"), 42)); in TEST()
1767 EXPECT_EQ("foo", fmt::format(FMT_STRING("{}"), string_like())); in TEST()
1771 EXPECT_EQ("42", fmt::format(FMT_STRING(with_null), 42)); in TEST()
1772 EXPECT_EQ("42", fmt::format(FMT_STRING(no_null), 42)); in TEST()
1775 EXPECT_EQ("42", fmt::format(FMT_STRING(std::string_view("{}")), 42)); in TEST()
1776 EXPECT_EQ(L"42", fmt::format(FMT_STRING(std::wstring_view(L"{}")), 42)); in TEST()
1781 EXPECT_EQ("42", fmt::format(FMT_STRING("{}"), Answer())); in TEST()
1783 EXPECT_EQ("42", fmt::format(FMT_STRING("{}"), answer)); in TEST()
1787 EXPECT_EQ("42", fmt::format(FMT_STRING("{}"), const_answer)); in TEST()
1799 EXPECT_EQ(format("{}c{}", "ab", 1), udl_format); in TEST()
1801 EXPECT_EQ(format(L"{}c{}", L"ab", 1), udl_format_w); in TEST()
1805 auto udl_a = format("{first}{second}{first}{third}", "first"_a = "abra", in TEST()
1807 EXPECT_EQ(format("{first}{second}{first}{third}", fmt::arg("first", "abra"), in TEST()
1810 auto udl_a_w = format(L"{first}{second}{first}{third}", L"first"_a = L"abra", in TEST()
1813 format(L"{first}{second}{first}{third}", fmt::arg(L"first", L"abra"), in TEST()
1831 TEST(FormatTest, Enum) { EXPECT_EQ("0", fmt::format("{}", A)); } in TEST()
1843 EXPECT_EQ("5000000000", fmt::format("{}", big_enum_value)); in TEST()
1848 EXPECT_EQ("42", format(string_view("{}foo", 2), 42)); in TEST()
1859 auto format(variant value, format_context& ctx) -> decltype(ctx.out()) { in format() function
1860 if (value.type == variant::INT) return dynamic_formatter<>::format(42, ctx); in format()
1861 return dynamic_formatter<>::format("foo", ctx); in format()
1869 EXPECT_EQ("42", format("{:d}", num)); in TEST()
1870 EXPECT_EQ("foo", format("{:s}", str)); in TEST()
1871 EXPECT_EQ(" 42 foo ", format("{:{}} {:{}}", num, 3, str, 4)); in TEST()
1872 EXPECT_THROW_MSG(format("{0:{}}", num), format_error, in TEST()
1874 EXPECT_THROW_MSG(format("{:{0}}", num), format_error, in TEST()
1877 EXPECT_THROW_MSG(format("{:=}", str), format_error, in TEST()
1880 EXPECT_THROW_MSG(format("{:+}", str), format_error, in TEST()
1882 EXPECT_THROW_MSG(format("{:-}", str), format_error, in TEST()
1884 EXPECT_THROW_MSG(format("{: }", str), format_error, in TEST()
1886 EXPECT_THROW_MSG(format("{:#}", str), format_error, in TEST()
1888 EXPECT_THROW_MSG(format("{:0}", str), format_error, in TEST()
1890 EXPECT_THROW_MSG(format("{:.2}", num), format_error, in TEST()
1907 auto format(adl_test::fmt::detail::foo, FormatContext& ctx) in format() function
1909 return formatter<std::string>::format("foo", ctx); in format()
2409 return fmt::format(FMT_STRING("{}"), t); in FmtToString()
2449 const custom_char format[] = {'{', '}', 0}; in TEST() local
2450 auto result = fmt::format(format, custom_char('x')); in TEST()
2464 str_type format(reinterpret_cast<const fmt::detail::char8_type*>(u8"{:.4}")); in TEST()
2467 auto result = fmt::format(format, str); in TEST()
2483 auto format(check_back_appender, Context& ctx) -> decltype(ctx.out()) { in format() function
2494 EXPECT_EQ(fmt::format("{}", check_back_appender{}), "y"); in TEST()