@@ -859,6 +859,14 @@ def test_it_resolves_local_refs(self):
859
859
with self .resolver .resolving (ref ) as resolved :
860
860
self .assertEqual (resolved , self .referrer ["properties" ]["foo" ])
861
861
862
+ def test_it_resolves_local_refs_with_id (self ):
863
+ schema = {"id" : "/bar/schema#" , "a" : {"foo" : "bar" }}
864
+ resolver = RefResolver .from_schema (schema )
865
+ with resolver .resolving ("#/a" ) as resolved :
866
+ self .assertEqual (resolved , schema ["a" ])
867
+ with resolver .resolving ("/bar/schema#/a" ) as resolved :
868
+ self .assertEqual (resolved , schema ["a" ])
869
+
862
870
def test_it_retrieves_stored_refs (self ):
863
871
with self .resolver .resolving (self .stored_uri ) as resolved :
864
872
self .assertIs (resolved , self .stored_schema )
@@ -893,13 +901,23 @@ def test_it_can_construct_a_base_uri_from_a_schema(self):
893
901
schema = {"id" : "foo" }
894
902
resolver = RefResolver .from_schema (schema )
895
903
self .assertEqual (resolver .base_uri , "foo" )
896
- self .assertEqual (resolver .referrer , schema )
904
+ with resolver .resolving ("" ) as resolved :
905
+ self .assertEqual (resolved , schema )
906
+ with resolver .resolving ("#" ) as resolved :
907
+ self .assertEqual (resolved , schema )
908
+ with resolver .resolving ("foo" ) as resolved :
909
+ self .assertEqual (resolved , schema )
910
+ with resolver .resolving ("foo#" ) as resolved :
911
+ self .assertEqual (resolved , schema )
897
912
898
913
def test_it_can_construct_a_base_uri_from_a_schema_without_id (self ):
899
914
schema = {}
900
915
resolver = RefResolver .from_schema (schema )
901
916
self .assertEqual (resolver .base_uri , "" )
902
- self .assertEqual (resolver .referrer , schema )
917
+ with resolver .resolving ("" ) as resolved :
918
+ self .assertEqual (resolved , schema )
919
+ with resolver .resolving ("#" ) as resolved :
920
+ self .assertEqual (resolved , schema )
903
921
904
922
def test_custom_uri_scheme_handlers (self ):
905
923
schema = {"foo" : "bar" }
0 commit comments