@@ -490,6 +490,34 @@ def test_config_extensions(self):
490490 res = env .compile ("hello('World')" ).eval ()
491491 self .assertEqual (res .value (), "Hello, World!" )
492492
493+ def test_standard_extensions_via_config (self ):
494+ config : cel .EnvConfig = cel .NewEnvConfigFromYaml ("""
495+ extensions:
496+ - name: lists
497+ - name: sets
498+ - name: two-var-comprehensions
499+ - name: optional
500+ - name: regex
501+ """ )
502+ env : cel .Env = cel .NewEnv (config = config )
503+
504+ # Test lists extension (e.g., reverse)
505+ res = env .compile ("[1, 2].reverse()" ).eval ()
506+ self .assertEqual (res .plain_value (), [2 , 1 ])
507+
508+ # Test sets extension (e.g., intersects)
509+ res = env .compile ("sets.intersects([1, 2], [2, 3])" ).eval ()
510+ self .assertEqual (res .value (), True )
511+
512+ # Test two-var-comprehensions (e.g., all)
513+ res = env .compile ("[1, 2].all(i, v, v > 0)" ).eval ()
514+ self .assertEqual (res .value (), True )
515+
516+ # Test regex extension (e.g., replace)
517+ expr = r"regex.replace('123-456', r'(\d+)-(\d+)', r'\2-\1')"
518+ res = env .compile (expr ).eval ()
519+ self .assertEqual (res .value (), "456-123" )
520+
493521 def test_config_extension_override_same_version (self ):
494522 config : cel .EnvConfig = cel .NewEnvConfigFromYaml ("""
495523 extensions:
0 commit comments