llvm/libc/test/src/stdio/printf_core/parser_test.cpp

//===-- Unittests for the printf Parser -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#include "src/__support/CPP/bit.h"
#include "src/__support/CPP/string_view.h"
#include "src/__support/arg_list.h"
#include "src/stdio/printf_core/parser.h"

#include <stdarg.h>

#include "test/UnitTest/PrintfMatcher.h"
#include "test/UnitTest/Test.h"

string_view;
ArgList;

void init(const char *__restrict str, ...) {}

void evaluate(LIBC_NAMESPACE::printf_core::FormatSection *format_arr,
              const char *__restrict str, ...) {}

TEST(LlvmLibcPrintfParserTest, Constructor) {}

TEST(LlvmLibcPrintfParserTest, EvalRaw) {}

TEST(LlvmLibcPrintfParserTest, EvalSimple) {}

TEST(LlvmLibcPrintfParserTest, EvalOneArg) {}

TEST(LlvmLibcPrintfParserTest, EvalBadArg) {}

TEST(LlvmLibcPrintfParserTest, EvalOneArgWithFlags) {}

TEST(LlvmLibcPrintfParserTest, EvalOneArgWithWidth) {}

TEST(LlvmLibcPrintfParserTest, EvalOneArgWithPrecision) {}

TEST(LlvmLibcPrintfParserTest, EvalOneArgWithTrivialPrecision) {}

TEST(LlvmLibcPrintfParserTest, EvalOneArgWithShortLengthModifier) {}

TEST(LlvmLibcPrintfParserTest, EvalOneArgWithLongLengthModifier) {}

TEST(LlvmLibcPrintfParserTest, EvalOneArgWithBitWidthLengthModifier) {}

TEST(LlvmLibcPrintfParserTest, EvalOneArgWithFastBitWidthLengthModifier) {}

TEST(LlvmLibcPrintfParserTest, EvalOneArgWithAllOptions) {}

TEST(LlvmLibcPrintfParserTest, EvalThreeArgs) {}

TEST(LlvmLibcPrintfParserTest, EvalOneArgWithOverflowingWidthAndPrecision) {}

TEST(LlvmLibcPrintfParserTest,
     EvalOneArgWithOverflowingWidthAndPrecisionAsArgs) {}

#ifndef LIBC_COPT_PRINTF_DISABLE_INDEX_MODE

TEST(LlvmLibcPrintfParserTest, IndexModeOneArg) {}

TEST(LlvmLibcPrintfParserTest, IndexModeThreeArgsSequential) {}

TEST(LlvmLibcPrintfParserTest, IndexModeThreeArgsReverse) {}

TEST(LlvmLibcPrintfParserTest, IndexModeTenArgsRandom) {}

TEST(LlvmLibcPrintfParserTest, IndexModeComplexParsing) {}

TEST(LlvmLibcPrintfParserTest, IndexModeGapCheck) {}

TEST(LlvmLibcPrintfParserTest, IndexModeTrailingPercentCrash) {}

TEST(LlvmLibcPrintfParserTest, DoublePercentIsAllowedInvalidIndex) {}

#endif // LIBC_COPT_PRINTF_DISABLE_INDEX_MODE