// Copyright 2019 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "src/torque/utils.h" #include "test/unittests/test-utils.h" namespace v8 { namespace internal { namespace torque { TEST(TorqueUtils, FileUriDecodeIllegal) { EXPECT_EQ(FileUriDecode("http://wrong.scheme"), base::nullopt); EXPECT_EQ(FileUriDecode("file://wrong-escape%"), base::nullopt); EXPECT_EQ(FileUriDecode("file://another-wrong-escape%a"), base::nullopt); EXPECT_EQ(FileUriDecode("file://no-hex-escape%0g"), base::nullopt); } TEST(TorqueUtils, FileUriDecode) { #ifdef V8_OS_WIN EXPECT_EQ(FileUriDecode("file:///c%3A/torque/base.tq").value(), "c:/torque/base.tq"); EXPECT_EQ(FileUriDecode("file:///d%3a/lower/hex.txt").value(), "d:/lower/hex.txt"); #else EXPECT_EQ(FileUriDecode("file:///some/src/file.tq").value(), "/some/src/file.tq"); #endif } } // namespace torque } // namespace internal } // namespace v8