#include "third_party/blink/renderer/core/xml/xpath_functions.h"
#include <cmath>
#include <limits>
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/testing/null_execution_context.h"
#include "third_party/blink/renderer/core/xml/xpath_expression_node.h"
#include "third_party/blink/renderer/core/xml/xpath_predicate.h"
#include "third_party/blink/renderer/core/xml/xpath_value.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/testing/task_environment.h"
#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
namespace blink {
namespace {
class XPathContext { … };
XPathArguments;
static String Substring(XPathArguments& args) { … }
static String Substring(const char* string, double pos) { … }
static String Substring(const char* string, double pos, double len) { … }
}
TEST(XPathFunctionsTest, substring_specExamples) { … }
TEST(XPathFunctionsTest, substring_emptyString) { … }
TEST(XPathFunctionsTest, substring) { … }
TEST(XPathFunctionsTest, substring_negativePosition) { … }
TEST(XPathFunctionsTest, substring_negativeLength) { … }
TEST(XPathFunctionsTest, substring_extremePositionLength) { … }
}