Skip to content

Commit 9e4d357

Browse files
committed
Promote warning to ValueError for Spoofchecker::setRestrictionLevel()
1 parent 2556967 commit 9e4d357

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

ext/intl/spoofchecker/spoofchecker_main.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,8 @@ PHP_METHOD(Spoofchecker, setRestrictionLevel)
143143
USPOOF_MODERATELY_RESTRICTIVE != level &&
144144
USPOOF_MINIMALLY_RESTRICTIVE != level &&
145145
USPOOF_UNRESTRICTIVE != level) {
146-
php_error_docref(NULL, E_WARNING, "Invalid restriction level value");
147-
return;
146+
zend_argument_value_error(1, "must be one of the Spoofchecker::*_RESTRICTIVE constants or Spoofchecker::UNRESTRICTIVE");
147+
RETURN_THROWS();
148148
}
149149

150150
uspoof_setRestrictionLevel(co->uspoof, (URestrictionLevel)level);
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
--TEST--
2+
Spoofchecker attempting to pass an unknown restriction level
3+
--SKIPIF--
4+
<?php if(!extension_loaded('intl') || !class_exists("Spoofchecker")) print 'skip'; ?>
5+
--FILE--
6+
<?php
7+
8+
$x = new Spoofchecker();
9+
try {
10+
$x->setRestrictionLevel(Spoofchecker::SINGLE_SCRIPT);
11+
} catch (\ValueError $e) {
12+
echo $e->getMessage(), \PHP_EOL;
13+
}
14+
15+
?>
16+
--EXPECT--
17+
Spoofchecker::setRestrictionLevel(): Argument #1 ($level) must be one of the Spoofchecker::*_RESTRICTIVE constants or Spoofchecker::UNRESTRICTIVE

0 commit comments

Comments
 (0)