1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_UI_COCOA_APPLESCRIPT_BOOKMARK_APPLESCRIPT_UTILS_UNITTEST_H_ 6 #define CHROME_BROWSER_UI_COCOA_APPLESCRIPT_BOOKMARK_APPLESCRIPT_UTILS_UNITTEST_H_ 7 8 #import <Cocoa/Cocoa.h> 9 #import <objc/objc-runtime.h> 10 11 #include "base/mac/scoped_nsobject.h" 12 #import "chrome/browser/app_controller_mac.h" 13 #import "chrome/browser/ui/cocoa/applescript/bookmark_folder_applescript.h" 14 #include "chrome/browser/ui/cocoa/cocoa_profile_test.h" 15 #include "testing/platform_test.h" 16 17 class BookmarkModel; 18 19 // The fake object that acts as our app's delegate, useful for testing purposes. 20 @interface FakeAppDelegate : AppController { 21 @public 22 CocoaProfileTest* test_; // weak. 23 } 24 @property(nonatomic) CocoaProfileTest* test; 25 // Return the |TestingProfile*| which is used for testing. 26 - (Profile*)lastProfile; 27 @end 28 29 30 // Used to emulate an active running script, useful for testing purposes. 31 @interface FakeScriptCommand : NSScriptCommand { 32 Method originalMethod_; 33 Method alternateMethod_; 34 } 35 @end 36 37 38 // The base class for all our bookmark releated unit tests. 39 class BookmarkAppleScriptTest : public CocoaProfileTest { 40 public: 41 BookmarkAppleScriptTest(); 42 virtual ~BookmarkAppleScriptTest(); 43 virtual void SetUp() OVERRIDE; 44 private: 45 base::scoped_nsobject<FakeAppDelegate> appDelegate_; 46 47 protected: 48 base::scoped_nsobject<BookmarkFolderAppleScript> bookmarkBar_; 49 }; 50 51 #endif // CHROME_BROWSER_UI_COCOA_APPLESCRIPT_BOOKMARK_APPLESCRIPT_UTILS_UNITTEST_H_ 52