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

//===-- Unittests for the scanf 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/bitset.h"
#include "src/__support/CPP/string_view.h"
#include "src/__support/arg_list.h"
#include "src/stdio/scanf_core/parser.h"

#include <stdarg.h>

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

string_view;
ArgList;

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

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

TEST(LlvmLibcScanfParserTest, Constructor) {}

TEST(LlvmLibcScanfParserTest, EvalRaw) {}

TEST(LlvmLibcScanfParserTest, EvalSimple) {}

TEST(LlvmLibcScanfParserTest, EvalOneArg) {}

TEST(LlvmLibcScanfParserTest, EvalBadArg) {}

TEST(LlvmLibcScanfParserTest, EvalOneArgWithFlag) {}

TEST(LlvmLibcScanfParserTest, EvalOneArgWithWidth) {}

TEST(LlvmLibcScanfParserTest, EvalOneArgWithShortLengthModifier) {}

TEST(LlvmLibcScanfParserTest, EvalOneArgWithLongLengthModifier) {}

TEST(LlvmLibcScanfParserTest, EvalOneArgWithAllOptions) {}

TEST(LlvmLibcScanfParserTest, EvalSimpleBracketArg) {}

TEST(LlvmLibcScanfParserTest, EvalBracketArgRange) {}

TEST(LlvmLibcScanfParserTest, EvalBracketArgTwoRanges) {}

TEST(LlvmLibcScanfParserTest, EvalBracketArgJustHyphen) {}

TEST(LlvmLibcScanfParserTest, EvalBracketArgLeftHyphen) {}

TEST(LlvmLibcScanfParserTest, EvalBracketArgRightHyphen) {}

TEST(LlvmLibcScanfParserTest, EvalBracketArgInvertSimple) {}

TEST(LlvmLibcScanfParserTest, EvalBracketArgInvertRange) {}

TEST(LlvmLibcScanfParserTest, EvalBracketArgRightBracket) {}

TEST(LlvmLibcScanfParserTest, EvalBracketArgRightBracketRange) {}

TEST(LlvmLibcScanfParserTest, EvalBracketArgRightBracketInvert) {}

TEST(LlvmLibcScanfParserTest, EvalBracketArgRightBracketInvertRange) {}

// This is not part of the standard, but the hyphen's effect is always
// implementation defined, and I have defined it such that it will capture the
// correct range regardless of the order of the characters.
TEST(LlvmLibcScanfParserTest, EvalBracketArgBackwardsRange) {}

TEST(LlvmLibcScanfParserTest, EvalThreeArgs) {}

#ifndef LIBC_COPT_SCANF_DISABLE_INDEX_MODE

TEST(LlvmLibcScanfParserTest, IndexModeOneArg) {}

TEST(LlvmLibcScanfParserTest, IndexModeThreeArgsSequential) {}

TEST(LlvmLibcScanfParserTest, IndexModeThreeArgsReverse) {}

TEST(LlvmLibcScanfParserTest, IndexModeTenArgsRandom) {}

TEST(LlvmLibcScanfParserTest, IndexModeComplexParsing) {}

#endif // LIBC_COPT_SCANF_DISABLE_INDEX_MODE