To demonstrate this behavior:
CREATE SCHEMA testA
GO
CREATE SCHEMA testB
GO
CREATE TABLE dbo.Cities (city varchar(50))
GO
CREATE TABLE testA.Cities (city varchar(50))
GO
CREATE TABLE testB.Cities (city varchar(50))
GO
INSERT INTO dbo.Cities VALUES ('Chicago')
INSERT INTO testA.Cities VALUES ('Cairo')
INSERT INTO testB.Cities VALUES ('Atlanta')
GO
CREATE PROCEDURE testB.GetCities
AS
SELECT * FROM Cities
GO
EXEC testB.GetCities
GO
Output is:
Atlanta
...CREATE PROCEDURE testB.GetCities
WITH EXECUTE AS CALLER
...CREATE PROCEDURE testB.GetCities
WITH EXECUTE AS OWNER
These all yielded the same result.