1a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)// Copyright 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)package org.chromium.chrome.browser.test; 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import android.content.ContentProvider; 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import android.content.ContentResolver; 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import android.test.IsolatedContext; 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import android.test.mock.MockContentResolver; 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import org.chromium.chrome.browser.ChromeBrowserProvider; 13a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)import org.chromium.chrome.shell.ChromeShellActivity; 14a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)import org.chromium.chrome.shell.ChromeShellTestBase; 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Base class for Chrome's ContentProvider tests. 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Sets up a local ChromeBrowserProvider associated to a mock resolver in an isolated context. 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 20a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)public class ProviderTestBase extends ChromeShellTestBase { 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private IsolatedContext mContext; 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @Override 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) protected void setUp() throws Exception { 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) super.setUp(); 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 28a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) ChromeShellActivity activity = launchChromeShellWithUrl(null); 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertNotNull(activity); 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ContentProvider provider = new ChromeBrowserProvider(); 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) provider.attachInfo(activity, null); 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MockContentResolver resolver = new MockContentResolver(); 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) resolver.addProvider(ChromeBrowserProvider.getApiAuthority(activity), provider); 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) resolver.addProvider(ChromeBrowserProvider.getInternalAuthority(activity), provider); 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mContext = new IsolatedContext(resolver, activity); 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertTrue(getContentResolver() instanceof MockContentResolver); 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) protected ContentResolver getContentResolver() { 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return mContext.getContentResolver(); 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 46