update (12 Dec 2012): Air Canada and South African Airways have signed a codeshare agreement. Effective 13 December 2012, customers connecting between the carriers in London or New York will be able to book a single itinerary and make seamless connections. In addition, as both airlines belong to the Star Alliance, customers can benefit from reciprocal frequent flier accumulation or redemption and lounge access for eligible customers.
South African Airways will code share on Air Canada-operated flights between London and Vancouver, London and Toronto, and New York's John F. Kennedy International Airport and Toronto (including flights operated by Air Canada Express). Air Canada will in turn code share on South African Airways-operated services between London and Johannesburg, New York and Johannesburg, and Johannesburg and Cape Town.
According to Airline Route, the flag carrier of Canada, Air Canada, and South African Airways have signed a reciprocal codeshare agreement effective from 13 December 2012. The planned codeshare routes will include Johannesburg <> Cape Town and Johannesburg <> London Heathrow (Air Canada operated by South African Airways) as well as London Heathrow <> Toronto and London Heathrow <> Vancouver (South African Airways operated by Air Canada). The two airlines are also planning to expand its codeshare operations to New York's John F. Kennedy International Airport and to Washington Dulles International Airport.