Skip to content

Commit 2a8146d

Browse files
committed
add urlpattern::test() tests
1 parent c9e2576 commit 2a8146d

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

tests/wpt_urlpattern_tests.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -494,6 +494,7 @@ TEST(wpt_urlpattern_tests, urlpattern_test_data) {
494494
auto [input_value, base_url] = parse_inputs_array(inputs);
495495
tl::expected<std::optional<ada::url_pattern_result>, ada::errors>
496496
exec_result;
497+
tl::expected<bool, ada::errors> test_result;
497498
std::string_view base_url_view;
498499
std::string_view* opt_base_url = nullptr;
499500
if (base_url) {
@@ -504,10 +505,12 @@ TEST(wpt_urlpattern_tests, urlpattern_test_data) {
504505
auto str = std::get<std::string>(input_value);
505506
ada_log("input_value is str=", str);
506507
exec_result = parse_result->exec(str, opt_base_url);
508+
test_result = parse_result->test(str, opt_base_url);
507509
} else {
508510
ada_log("input_value is url_pattern_init");
509511
auto obj = std::get<ada::url_pattern_init>(input_value);
510512
exec_result = parse_result->exec(obj, opt_base_url);
513+
test_result = parse_result->test(obj, opt_base_url);
511514
}
512515

513516
ondemand::value expected_match = main_object["expected_match"].value();
@@ -517,16 +520,24 @@ TEST(wpt_urlpattern_tests, urlpattern_test_data) {
517520
ASSERT_EQ(exec_result.has_value(), false)
518521
<< "Expected error but exec() has_value= "
519522
<< exec_result->has_value();
523+
ASSERT_FALSE(test_result)
524+
<< "Expected test() to throw, but it didn't";
520525
} else if (expected_match.type() == ondemand::json_type::null) {
521526
ASSERT_EQ(exec_result.has_value(), true)
522527
<< "Expected non failure but it throws an error";
523528
ASSERT_EQ(exec_result->has_value(), false)
524529
<< "Expected null value but exec() returned a value ";
530+
ASSERT_FALSE(test_result.value())
531+
<< "Expected false for test() but received true";
525532
} else {
526533
ASSERT_EQ(exec_result.has_value(), true)
527534
<< "Expect match to succeed but it throw an error";
528535
ASSERT_EQ(exec_result->has_value(), true)
529536
<< "Expect match to succeed but it returned a null value";
537+
ASSERT_TRUE(test_result)
538+
<< "Expected test() to not throw, but it did";
539+
ASSERT_TRUE(test_result.value())
540+
<< "Expected true for test() but received false";
530541
auto exec_result_obj = expected_match.get_object().value();
531542
auto [expected_exec_result, has_inputs] =
532543
parse_exec_result(exec_result_obj);

0 commit comments

Comments
 (0)