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#import <Cocoa/Cocoa.h> 6 7#include "base/memory/scoped_nsobject.h" 8#include "base/sys_string_conversions.h" 9#import "chrome/browser/ui/cocoa/applescript/bookmark_applescript_utils_unittest.h" 10#import "chrome/browser/ui/cocoa/applescript/bookmark_item_applescript.h" 11#import "chrome/browser/ui/cocoa/applescript/error_applescript.h" 12#include "googleurl/src/gurl.h" 13#include "testing/gtest/include/gtest/gtest.h" 14#import "testing/gtest_mac.h" 15#include "testing/platform_test.h" 16 17typedef BookmarkAppleScriptTest BookmarkItemAppleScriptTest; 18 19namespace { 20 21// Set and get title. 22TEST_F(BookmarkItemAppleScriptTest, GetAndSetTitle) { 23 NSArray* bookmarkItems = [bookmarkBar_.get() bookmarkItems]; 24 BookmarkItemAppleScript* item1 = [bookmarkItems objectAtIndex:0]; 25 [item1 setTitle:@"Foo"]; 26 EXPECT_NSEQ(@"Foo", [item1 title]); 27} 28 29// Set and get URL. 30TEST_F(BookmarkItemAppleScriptTest, GetAndSetURL) { 31 NSArray* bookmarkItems = [bookmarkBar_.get() bookmarkItems]; 32 BookmarkItemAppleScript* item1 = [bookmarkItems objectAtIndex:0]; 33 [item1 setURL:@"http://foo-bar.org"]; 34 EXPECT_EQ(GURL("http://foo-bar.org"), 35 GURL(base::SysNSStringToUTF8([item1 URL]))); 36 37 // If scripter enters invalid URL. 38 scoped_nsobject<FakeScriptCommand> fakeScriptCommand( 39 [[FakeScriptCommand alloc] init]); 40 [item1 setURL:@"invalid-url.org"]; 41 EXPECT_EQ((int)AppleScript::errInvalidURL, 42 [fakeScriptCommand.get() scriptErrorNumber]); 43} 44 45} // namespace 46