| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ui/views/corewm/tooltip_controller.h" | 5 #include "ui/views/corewm/tooltip_controller.h" |
| 6 | 6 |
| 7 #include "base/macros.h" | 7 #include "base/macros.h" |
| 8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
| 9 #include "build/build_config.h" | 9 #include "build/build_config.h" |
| 10 #include "ui/aura/client/cursor_client.h" | 10 #include "ui/aura/client/cursor_client.h" |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 180 | 180 |
| 181 TEST_F(TooltipControllerTest, ViewTooltip) { | 181 TEST_F(TooltipControllerTest, ViewTooltip) { |
| 182 // TODO: these tests use GetContext(). That should go away for aura-mus | 182 // TODO: these tests use GetContext(). That should go away for aura-mus |
| 183 // client. http://crbug.com/663781. | 183 // client. http://crbug.com/663781. |
| 184 if (IsMus()) | 184 if (IsMus()) |
| 185 return; | 185 return; |
| 186 | 186 |
| 187 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text")); | 187 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text")); |
| 188 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); | 188 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); |
| 189 EXPECT_EQ(NULL, helper_->GetTooltipWindow()); | 189 EXPECT_EQ(NULL, helper_->GetTooltipWindow()); |
| 190 |
| 190 generator_->MoveMouseToCenterOf(GetWindow()); | 191 generator_->MoveMouseToCenterOf(GetWindow()); |
| 191 | 192 |
| 192 EXPECT_EQ(GetWindow(), GetRootWindow()->GetEventHandlerForPoint( | 193 EXPECT_EQ(GetWindow(), GetRootWindow()->GetEventHandlerForPoint( |
| 193 generator_->current_location())); | 194 generator_->current_location())); |
| 194 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text"); | 195 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text"); |
| 195 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(GetWindow())); | 196 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(GetWindow())); |
| 196 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); | 197 EXPECT_EQ(expected_tooltip, helper_->GetTooltipText()); |
| 197 EXPECT_EQ(GetWindow(), helper_->GetTooltipWindow()); | 198 EXPECT_EQ(GetWindow(), helper_->GetTooltipWindow()); |
| 198 | 199 |
| 199 // Fire tooltip timer so tooltip becomes visible. | |
| 200 helper_->FireTooltipTimer(); | |
| 201 | |
| 202 EXPECT_TRUE(helper_->IsTooltipVisible()); | 200 EXPECT_TRUE(helper_->IsTooltipVisible()); |
| 203 generator_->MoveMouseBy(1, 0); | 201 generator_->MoveMouseBy(1, 0); |
| 204 | 202 |
| 205 EXPECT_TRUE(helper_->IsTooltipVisible()); | 203 EXPECT_TRUE(helper_->IsTooltipVisible()); |
| 206 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(GetWindow())); | 204 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(GetWindow())); |
| 207 EXPECT_EQ(expected_tooltip, helper_->GetTooltipText()); | 205 EXPECT_EQ(expected_tooltip, helper_->GetTooltipText()); |
| 208 EXPECT_EQ(GetWindow(), helper_->GetTooltipWindow()); | 206 EXPECT_EQ(GetWindow(), helper_->GetTooltipWindow()); |
| 209 } | 207 } |
| 210 | 208 |
| 211 #if defined(OS_CHROMEOS) | 209 #if defined(OS_CHROMEOS) |
| 212 // crbug.com/664370. | 210 // crbug.com/664370. |
| 213 TEST_F(TooltipControllerTest, MaxWidth) { | 211 TEST_F(TooltipControllerTest, MaxWidth) { |
| 214 // TODO: these tests use GetContext(). That should go away for mus client. | 212 // TODO: these tests use GetContext(). That should go away for mus client. |
| 215 // http://crbug.com/663781. | 213 // http://crbug.com/663781. |
| 216 if (IsMus()) | 214 if (IsMus()) |
| 217 return; | 215 return; |
| 218 | 216 |
| 219 base::string16 text = base::ASCIIToUTF16( | 217 base::string16 text = base::ASCIIToUTF16( |
| 220 "Really really realy long long long long long tooltips that exceeds max " | 218 "Really really realy long long long long long tooltips that exceeds max " |
| 221 "width"); | 219 "width"); |
| 222 view_->set_tooltip_text(text); | 220 view_->set_tooltip_text(text); |
| 223 gfx::Point center = GetWindow()->bounds().CenterPoint(); | 221 gfx::Point center = GetWindow()->bounds().CenterPoint(); |
| 222 |
| 224 generator_->MoveMouseTo(center); | 223 generator_->MoveMouseTo(center); |
| 225 | 224 |
| 226 // Fire tooltip timer so tooltip becomes visible. | |
| 227 helper_->FireTooltipTimer(); | |
| 228 | |
| 229 EXPECT_TRUE(helper_->IsTooltipVisible()); | 225 EXPECT_TRUE(helper_->IsTooltipVisible()); |
| 230 gfx::RenderText* render_text = | 226 gfx::RenderText* render_text = |
| 231 test::TooltipAuraTestApi(tooltip_aura_).GetRenderText(); | 227 test::TooltipAuraTestApi(tooltip_aura_).GetRenderText(); |
| 232 | 228 |
| 233 int max = helper_->controller()->GetMaxWidth(center); | 229 int max = helper_->controller()->GetMaxWidth(center); |
| 234 EXPECT_EQ(max, render_text->display_rect().width()); | 230 EXPECT_EQ(max, render_text->display_rect().width()); |
| 235 } | 231 } |
| 236 #endif | 232 #endif |
| 237 | 233 |
| 238 TEST_F(TooltipControllerTest, TooltipsInMultipleViews) { | 234 TEST_F(TooltipControllerTest, TooltipsInMultipleViews) { |
| 239 // TODO: these tests use GetContext(). That should go away for aura-mus | 235 // TODO: these tests use GetContext(). That should go away for aura-mus |
| 240 // client. http://crbug.com/663781. | 236 // client. http://crbug.com/663781. |
| 241 if (IsMus()) | 237 if (IsMus()) |
| 242 return; | 238 return; |
| 243 | 239 |
| 244 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text")); | 240 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text")); |
| 245 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); | 241 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); |
| 246 EXPECT_EQ(NULL, helper_->GetTooltipWindow()); | 242 EXPECT_EQ(NULL, helper_->GetTooltipWindow()); |
| 247 | 243 |
| 248 PrepareSecondView(); | 244 PrepareSecondView(); |
| 249 aura::Window* window = GetWindow(); | 245 aura::Window* window = GetWindow(); |
| 250 aura::Window* root_window = GetRootWindow(); | 246 aura::Window* root_window = GetRootWindow(); |
| 251 | 247 |
| 252 // Fire tooltip timer so tooltip becomes visible. | |
| 253 generator_->MoveMouseRelativeTo(window, view_->bounds().CenterPoint()); | 248 generator_->MoveMouseRelativeTo(window, view_->bounds().CenterPoint()); |
| 254 helper_->FireTooltipTimer(); | |
| 255 EXPECT_TRUE(helper_->IsTooltipVisible()); | 249 EXPECT_TRUE(helper_->IsTooltipVisible()); |
| 256 for (int i = 0; i < 49; ++i) { | 250 for (int i = 0; i < 49; ++i) { |
| 257 generator_->MoveMouseBy(1, 0); | 251 generator_->MoveMouseBy(1, 0); |
| 258 EXPECT_TRUE(helper_->IsTooltipVisible()); | 252 EXPECT_TRUE(helper_->IsTooltipVisible()); |
| 259 EXPECT_EQ(window, root_window->GetEventHandlerForPoint( | 253 EXPECT_EQ(window, root_window->GetEventHandlerForPoint( |
| 260 generator_->current_location())); | 254 generator_->current_location())); |
| 261 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text"); | 255 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text"); |
| 262 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(window)); | 256 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(window)); |
| 263 EXPECT_EQ(expected_tooltip, helper_->GetTooltipText()); | 257 EXPECT_EQ(expected_tooltip, helper_->GetTooltipText()); |
| 264 EXPECT_EQ(window, helper_->GetTooltipWindow()); | 258 EXPECT_EQ(window, helper_->GetTooltipWindow()); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 279 // TODO: these tests use GetContext(). That should go away for aura-mus | 273 // TODO: these tests use GetContext(). That should go away for aura-mus |
| 280 // client. http://crbug.com/663781. | 274 // client. http://crbug.com/663781. |
| 281 if (IsMus()) | 275 if (IsMus()) |
| 282 return; | 276 return; |
| 283 | 277 |
| 284 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text")); | 278 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text")); |
| 285 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); | 279 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); |
| 286 EXPECT_EQ(NULL, helper_->GetTooltipWindow()); | 280 EXPECT_EQ(NULL, helper_->GetTooltipWindow()); |
| 287 | 281 |
| 288 generator_->MoveMouseRelativeTo(GetWindow(), view_->bounds().CenterPoint()); | 282 generator_->MoveMouseRelativeTo(GetWindow(), view_->bounds().CenterPoint()); |
| 289 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text"); | |
| 290 | |
| 291 // Fire tooltip timer so tooltip becomes visible. | |
| 292 helper_->FireTooltipTimer(); | |
| 293 EXPECT_TRUE(helper_->IsTooltipVisible()); | 283 EXPECT_TRUE(helper_->IsTooltipVisible()); |
| 294 | 284 |
| 295 // Disable tooltips and check again. | 285 // Disable tooltips and check again. |
| 296 helper_->controller()->SetTooltipsEnabled(false); | 286 helper_->controller()->SetTooltipsEnabled(false); |
| 297 EXPECT_FALSE(helper_->IsTooltipVisible()); | 287 EXPECT_FALSE(helper_->IsTooltipVisible()); |
| 298 helper_->FireTooltipTimer(); | 288 helper_->UpdateIfRequired(); |
| 299 EXPECT_FALSE(helper_->IsTooltipVisible()); | 289 EXPECT_FALSE(helper_->IsTooltipVisible()); |
| 300 | 290 |
| 301 // Enable tooltips back and check again. | 291 // Enable tooltips back and check again. |
| 302 helper_->controller()->SetTooltipsEnabled(true); | 292 helper_->controller()->SetTooltipsEnabled(true); |
| 303 EXPECT_FALSE(helper_->IsTooltipVisible()); | 293 EXPECT_FALSE(helper_->IsTooltipVisible()); |
| 304 helper_->FireTooltipTimer(); | 294 helper_->UpdateIfRequired(); |
| 305 EXPECT_TRUE(helper_->IsTooltipVisible()); | 295 EXPECT_TRUE(helper_->IsTooltipVisible()); |
| 306 } | 296 } |
| 307 | 297 |
| 308 // Verifies tooltip isn't shown if tooltip text consists entirely of whitespace. | 298 // Verifies tooltip isn't shown if tooltip text consists entirely of whitespace. |
| 309 TEST_F(TooltipControllerTest, DontShowEmptyTooltips) { | 299 TEST_F(TooltipControllerTest, DontShowEmptyTooltips) { |
| 310 // TODO: these tests use GetContext(). That should go away for aura-mus | 300 // TODO: these tests use GetContext(). That should go away for aura-mus |
| 311 // client. http://crbug.com/663781. | 301 // client. http://crbug.com/663781. |
| 312 if (IsMus()) | 302 if (IsMus()) |
| 313 return; | 303 return; |
| 314 | 304 |
| 315 view_->set_tooltip_text(ASCIIToUTF16(" ")); | 305 view_->set_tooltip_text(ASCIIToUTF16(" ")); |
| 316 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); | 306 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); |
| 317 EXPECT_EQ(NULL, helper_->GetTooltipWindow()); | 307 EXPECT_EQ(NULL, helper_->GetTooltipWindow()); |
| 318 | 308 |
| 319 generator_->MoveMouseRelativeTo(GetWindow(), view_->bounds().CenterPoint()); | 309 generator_->MoveMouseRelativeTo(GetWindow(), view_->bounds().CenterPoint()); |
| 320 | |
| 321 helper_->FireTooltipTimer(); | |
| 322 EXPECT_FALSE(helper_->IsTooltipVisible()); | 310 EXPECT_FALSE(helper_->IsTooltipVisible()); |
| 323 } | 311 } |
| 324 | 312 |
| 325 TEST_F(TooltipControllerTest, TooltipHidesOnKeyPressAndStaysHiddenUntilChange) { | 313 TEST_F(TooltipControllerTest, TooltipHidesOnKeyPressAndStaysHiddenUntilChange) { |
| 326 // TODO: these tests use GetContext(). That should go away for aura-mus | 314 // TODO: these tests use GetContext(). That should go away for aura-mus |
| 327 // client. http://crbug.com/663781. | 315 // client. http://crbug.com/663781. |
| 328 if (IsMus()) | 316 if (IsMus()) |
| 329 return; | 317 return; |
| 330 | 318 |
| 331 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text for view 1")); | 319 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text for view 1")); |
| 332 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); | 320 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); |
| 333 EXPECT_EQ(NULL, helper_->GetTooltipWindow()); | 321 EXPECT_EQ(NULL, helper_->GetTooltipWindow()); |
| 334 | 322 |
| 335 TooltipTestView* view2 = PrepareSecondView(); | 323 TooltipTestView* view2 = PrepareSecondView(); |
| 336 view2->set_tooltip_text(ASCIIToUTF16("Tooltip Text for view 2")); | 324 view2->set_tooltip_text(ASCIIToUTF16("Tooltip Text for view 2")); |
| 337 | 325 |
| 338 aura::Window* window = GetWindow(); | 326 aura::Window* window = GetWindow(); |
| 339 | 327 |
| 340 // Fire tooltip timer so tooltip becomes visible. | |
| 341 generator_->MoveMouseRelativeTo(window, view_->bounds().CenterPoint()); | 328 generator_->MoveMouseRelativeTo(window, view_->bounds().CenterPoint()); |
| 342 helper_->FireTooltipTimer(); | |
| 343 EXPECT_TRUE(helper_->IsTooltipVisible()); | 329 EXPECT_TRUE(helper_->IsTooltipVisible()); |
| 344 EXPECT_TRUE(helper_->IsTooltipShownTimerRunning()); | 330 EXPECT_TRUE(helper_->IsTooltipShownTimerRunning()); |
| 345 | 331 |
| 346 generator_->PressKey(ui::VKEY_1, 0); | 332 generator_->PressKey(ui::VKEY_1, 0); |
| 347 EXPECT_FALSE(helper_->IsTooltipVisible()); | 333 EXPECT_FALSE(helper_->IsTooltipVisible()); |
| 348 EXPECT_FALSE(helper_->IsTooltipTimerRunning()); | |
| 349 EXPECT_FALSE(helper_->IsTooltipShownTimerRunning()); | 334 EXPECT_FALSE(helper_->IsTooltipShownTimerRunning()); |
| 350 | 335 |
| 351 // Moving the mouse inside |view1| should not change the state of the tooltip | 336 // Moving the mouse inside |view1| should not change the state of the tooltip |
| 352 // or the timers. | 337 // or the timers. |
| 353 for (int i = 0; i < 49; i++) { | 338 for (int i = 0; i < 49; i++) { |
| 354 generator_->MoveMouseBy(1, 0); | 339 generator_->MoveMouseBy(1, 0); |
| 355 EXPECT_FALSE(helper_->IsTooltipVisible()); | 340 EXPECT_FALSE(helper_->IsTooltipVisible()); |
| 356 EXPECT_FALSE(helper_->IsTooltipTimerRunning()); | |
| 357 EXPECT_FALSE(helper_->IsTooltipShownTimerRunning()); | 341 EXPECT_FALSE(helper_->IsTooltipShownTimerRunning()); |
| 358 EXPECT_EQ(window, | 342 EXPECT_EQ(window, |
| 359 GetRootWindow()->GetEventHandlerForPoint( | 343 GetRootWindow()->GetEventHandlerForPoint( |
| 360 generator_->current_location())); | 344 generator_->current_location())); |
| 361 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text for view 1"); | 345 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text for view 1"); |
| 362 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(window)); | 346 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(window)); |
| 363 EXPECT_EQ(expected_tooltip, helper_->GetTooltipText()); | 347 EXPECT_EQ(expected_tooltip, helper_->GetTooltipText()); |
| 364 EXPECT_EQ(window, helper_->GetTooltipWindow()); | 348 EXPECT_EQ(window, helper_->GetTooltipWindow()); |
| 365 } | 349 } |
| 366 | 350 |
| 367 // Now we move the mouse on to |view2|. It should re-start the tooltip timer. | 351 // Now we move the mouse on to |view2|. It should update the tooltip. |
| 368 generator_->MoveMouseBy(1, 0); | 352 generator_->MoveMouseBy(1, 0); |
| 369 EXPECT_TRUE(helper_->IsTooltipTimerRunning()); | 353 |
| 370 helper_->FireTooltipTimer(); | |
| 371 EXPECT_TRUE(helper_->IsTooltipVisible()); | 354 EXPECT_TRUE(helper_->IsTooltipVisible()); |
| 372 EXPECT_TRUE(helper_->IsTooltipShownTimerRunning()); | 355 EXPECT_TRUE(helper_->IsTooltipShownTimerRunning()); |
| 373 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text for view 2"); | 356 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text for view 2"); |
| 374 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(window)); | 357 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(window)); |
| 375 EXPECT_EQ(expected_tooltip, helper_->GetTooltipText()); | 358 EXPECT_EQ(expected_tooltip, helper_->GetTooltipText()); |
| 376 EXPECT_EQ(window, helper_->GetTooltipWindow()); | 359 EXPECT_EQ(window, helper_->GetTooltipWindow()); |
| 377 } | 360 } |
| 378 | 361 |
| 379 TEST_F(TooltipControllerTest, TooltipHidesOnTimeoutAndStaysHiddenUntilChange) { | 362 TEST_F(TooltipControllerTest, TooltipHidesOnTimeoutAndStaysHiddenUntilChange) { |
| 380 // TODO: these tests use GetContext(). That should go away for aura-mus | 363 // TODO: these tests use GetContext(). That should go away for aura-mus |
| 381 // client. http://crbug.com/663781. | 364 // client. http://crbug.com/663781. |
| 382 if (IsMus()) | 365 if (IsMus()) |
| 383 return; | 366 return; |
| 384 | 367 |
| 385 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text for view 1")); | 368 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text for view 1")); |
| 386 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); | 369 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); |
| 387 EXPECT_EQ(NULL, helper_->GetTooltipWindow()); | 370 EXPECT_EQ(NULL, helper_->GetTooltipWindow()); |
| 388 | 371 |
| 389 TooltipTestView* view2 = PrepareSecondView(); | 372 TooltipTestView* view2 = PrepareSecondView(); |
| 390 view2->set_tooltip_text(ASCIIToUTF16("Tooltip Text for view 2")); | 373 view2->set_tooltip_text(ASCIIToUTF16("Tooltip Text for view 2")); |
| 391 | 374 |
| 392 aura::Window* window = GetWindow(); | 375 aura::Window* window = GetWindow(); |
| 393 | 376 |
| 394 // Fire tooltip timer so tooltip becomes visible. | 377 // Update tooltip so tooltip becomes visible. |
| 395 generator_->MoveMouseRelativeTo(window, view_->bounds().CenterPoint()); | 378 generator_->MoveMouseRelativeTo(window, view_->bounds().CenterPoint()); |
| 396 helper_->FireTooltipTimer(); | |
| 397 EXPECT_TRUE(helper_->IsTooltipVisible()); | 379 EXPECT_TRUE(helper_->IsTooltipVisible()); |
| 398 EXPECT_TRUE(helper_->IsTooltipShownTimerRunning()); | 380 EXPECT_TRUE(helper_->IsTooltipShownTimerRunning()); |
| 399 | 381 |
| 400 helper_->FireTooltipShownTimer(); | 382 helper_->FireTooltipShownTimer(); |
| 401 EXPECT_FALSE(helper_->IsTooltipVisible()); | 383 EXPECT_FALSE(helper_->IsTooltipVisible()); |
| 402 EXPECT_FALSE(helper_->IsTooltipTimerRunning()); | |
| 403 EXPECT_FALSE(helper_->IsTooltipShownTimerRunning()); | 384 EXPECT_FALSE(helper_->IsTooltipShownTimerRunning()); |
| 404 | 385 |
| 405 // Moving the mouse inside |view1| should not change the state of the tooltip | 386 // Moving the mouse inside |view1| should not change the state of the tooltip |
| 406 // or the timers. | 387 // or the timers. |
| 407 for (int i = 0; i < 49; ++i) { | 388 for (int i = 0; i < 49; ++i) { |
| 408 generator_->MoveMouseBy(1, 0); | 389 generator_->MoveMouseBy(1, 0); |
| 409 EXPECT_FALSE(helper_->IsTooltipVisible()); | 390 EXPECT_FALSE(helper_->IsTooltipVisible()); |
| 410 EXPECT_FALSE(helper_->IsTooltipTimerRunning()); | |
| 411 EXPECT_FALSE(helper_->IsTooltipShownTimerRunning()); | 391 EXPECT_FALSE(helper_->IsTooltipShownTimerRunning()); |
| 412 EXPECT_EQ(window, GetRootWindow()->GetEventHandlerForPoint( | 392 EXPECT_EQ(window, GetRootWindow()->GetEventHandlerForPoint( |
| 413 generator_->current_location())); | 393 generator_->current_location())); |
| 414 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text for view 1"); | 394 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text for view 1"); |
| 415 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(window)); | 395 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(window)); |
| 416 EXPECT_EQ(expected_tooltip, helper_->GetTooltipText()); | 396 EXPECT_EQ(expected_tooltip, helper_->GetTooltipText()); |
| 417 EXPECT_EQ(window, helper_->GetTooltipWindow()); | 397 EXPECT_EQ(window, helper_->GetTooltipWindow()); |
| 418 } | 398 } |
| 419 | 399 |
| 420 // Now we move the mouse on to |view2|. It should re-start the tooltip timer. | 400 // Now we move the mouse on to |view2|. It should update the tooltip. |
| 421 generator_->MoveMouseBy(1, 0); | 401 generator_->MoveMouseBy(1, 0); |
| 422 EXPECT_TRUE(helper_->IsTooltipTimerRunning()); | 402 |
| 423 helper_->FireTooltipTimer(); | |
| 424 EXPECT_TRUE(helper_->IsTooltipVisible()); | 403 EXPECT_TRUE(helper_->IsTooltipVisible()); |
| 425 EXPECT_TRUE(helper_->IsTooltipShownTimerRunning()); | 404 EXPECT_TRUE(helper_->IsTooltipShownTimerRunning()); |
| 426 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text for view 2"); | 405 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text for view 2"); |
| 427 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(window)); | 406 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(window)); |
| 428 EXPECT_EQ(expected_tooltip, helper_->GetTooltipText()); | 407 EXPECT_EQ(expected_tooltip, helper_->GetTooltipText()); |
| 429 EXPECT_EQ(window, helper_->GetTooltipWindow()); | 408 EXPECT_EQ(window, helper_->GetTooltipWindow()); |
| 430 } | 409 } |
| 431 | 410 |
| 432 // Verifies a mouse exit event hides the tooltips. | 411 // Verifies a mouse exit event hides the tooltips. |
| 433 TEST_F(TooltipControllerTest, HideOnExit) { | 412 TEST_F(TooltipControllerTest, HideOnExit) { |
| 434 // TODO: these tests use GetContext(). That should go away for aura-mus | 413 // TODO: these tests use GetContext(). That should go away for aura-mus |
| 435 // client. http://crbug.com/663781. | 414 // client. http://crbug.com/663781. |
| 436 if (IsMus()) | 415 if (IsMus()) |
| 437 return; | 416 return; |
| 438 | 417 |
| 439 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text")); | 418 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text")); |
| 440 generator_->MoveMouseToCenterOf(GetWindow()); | 419 generator_->MoveMouseToCenterOf(GetWindow()); |
| 441 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text"); | 420 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text"); |
| 442 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(GetWindow())); | 421 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(GetWindow())); |
| 443 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); | 422 EXPECT_EQ(expected_tooltip, helper_->GetTooltipText()); |
| 444 EXPECT_EQ(GetWindow(), helper_->GetTooltipWindow()); | 423 EXPECT_EQ(GetWindow(), helper_->GetTooltipWindow()); |
| 445 | 424 |
| 446 // Fire tooltip timer so tooltip becomes visible. | |
| 447 helper_->FireTooltipTimer(); | |
| 448 | |
| 449 EXPECT_TRUE(helper_->IsTooltipVisible()); | 425 EXPECT_TRUE(helper_->IsTooltipVisible()); |
| 450 generator_->SendMouseExit(); | 426 generator_->SendMouseExit(); |
| 451 EXPECT_FALSE(helper_->IsTooltipVisible()); | 427 EXPECT_FALSE(helper_->IsTooltipVisible()); |
| 452 } | 428 } |
| 453 | 429 |
| 454 TEST_F(TooltipControllerTest, ReshowOnClickAfterEnterExit) { | 430 TEST_F(TooltipControllerTest, ReshowOnClickAfterEnterExit) { |
| 455 // TODO: these tests use GetContext(). That should go away for aura-mus | 431 // TODO: these tests use GetContext(). That should go away for aura-mus |
| 456 // client. http://crbug.com/663781. | 432 // client. http://crbug.com/663781. |
| 457 if (IsMus()) | 433 if (IsMus()) |
| 458 return; | 434 return; |
| (...skipping 10 matching lines...) Expand all Loading... |
| 469 v2->SetBoundsRect(view_bounds); | 445 v2->SetBoundsRect(view_bounds); |
| 470 const base::string16 v1_tt(ASCIIToUTF16("v1")); | 446 const base::string16 v1_tt(ASCIIToUTF16("v1")); |
| 471 const base::string16 v2_tt(ASCIIToUTF16("v2")); | 447 const base::string16 v2_tt(ASCIIToUTF16("v2")); |
| 472 v1->set_tooltip_text(v1_tt); | 448 v1->set_tooltip_text(v1_tt); |
| 473 v2->set_tooltip_text(v2_tt); | 449 v2->set_tooltip_text(v2_tt); |
| 474 | 450 |
| 475 gfx::Point v1_point(1, 1); | 451 gfx::Point v1_point(1, 1); |
| 476 View::ConvertPointToWidget(v1, &v1_point); | 452 View::ConvertPointToWidget(v1, &v1_point); |
| 477 generator_->MoveMouseRelativeTo(GetWindow(), v1_point); | 453 generator_->MoveMouseRelativeTo(GetWindow(), v1_point); |
| 478 | 454 |
| 479 // Fire tooltip timer so tooltip becomes visible. | |
| 480 helper_->FireTooltipTimer(); | |
| 481 EXPECT_TRUE(helper_->IsTooltipVisible()); | 455 EXPECT_TRUE(helper_->IsTooltipVisible()); |
| 482 EXPECT_EQ(v1_tt, helper_->GetTooltipText()); | 456 EXPECT_EQ(v1_tt, helper_->GetTooltipText()); |
| 483 | 457 |
| 484 // Press the mouse, move to v2 and back to v1. | 458 // Press the mouse, move to v2 and back to v1. |
| 485 generator_->ClickLeftButton(); | 459 generator_->ClickLeftButton(); |
| 486 | 460 |
| 487 gfx::Point v2_point(1, 1); | 461 gfx::Point v2_point(1, 1); |
| 488 View::ConvertPointToWidget(v2, &v2_point); | 462 View::ConvertPointToWidget(v2, &v2_point); |
| 489 generator_->MoveMouseRelativeTo(GetWindow(), v2_point); | 463 generator_->MoveMouseRelativeTo(GetWindow(), v2_point); |
| 490 generator_->MoveMouseRelativeTo(GetWindow(), v1_point); | 464 generator_->MoveMouseRelativeTo(GetWindow(), v1_point); |
| 491 | 465 |
| 492 helper_->FireTooltipTimer(); | |
| 493 EXPECT_TRUE(helper_->IsTooltipVisible()); | 466 EXPECT_TRUE(helper_->IsTooltipVisible()); |
| 494 EXPECT_EQ(v1_tt, helper_->GetTooltipText()); | 467 EXPECT_EQ(v1_tt, helper_->GetTooltipText()); |
| 495 } | 468 } |
| 496 | 469 |
| 497 namespace { | 470 namespace { |
| 498 | 471 |
| 499 // Returns the index of |window| in its parent's children. | 472 // Returns the index of |window| in its parent's children. |
| 500 int IndexInParent(const aura::Window* window) { | 473 int IndexInParent(const aura::Window* window) { |
| 501 aura::Window::Windows::const_iterator i = | 474 aura::Window::Windows::const_iterator i = |
| 502 std::find(window->parent()->children().begin(), | 475 std::find(window->parent()->children().begin(), |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 547 | 520 |
| 548 view_->GetWidget()->SetCapture(view_); | 521 view_->GetWidget()->SetCapture(view_); |
| 549 RunPendingMessages(); | 522 RunPendingMessages(); |
| 550 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text")); | 523 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text")); |
| 551 generator_->MoveMouseToCenterOf(GetWindow()); | 524 generator_->MoveMouseToCenterOf(GetWindow()); |
| 552 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text"); | 525 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text"); |
| 553 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(GetWindow())); | 526 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(GetWindow())); |
| 554 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); | 527 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); |
| 555 EXPECT_EQ(GetWindow(), helper_->GetTooltipWindow()); | 528 EXPECT_EQ(GetWindow(), helper_->GetTooltipWindow()); |
| 556 | 529 |
| 557 // Fire tooltip timer so tooltip becomes visible. | |
| 558 helper_->FireTooltipTimer(); | |
| 559 | |
| 560 EXPECT_TRUE(helper_->IsTooltipVisible()); | 530 EXPECT_TRUE(helper_->IsTooltipVisible()); |
| 561 view_->GetWidget()->ReleaseCapture(); | 531 view_->GetWidget()->ReleaseCapture(); |
| 562 EXPECT_FALSE(helper_->IsTooltipVisible()); | 532 EXPECT_FALSE(helper_->IsTooltipVisible()); |
| 563 EXPECT_TRUE(helper_->GetTooltipWindow() == NULL); | 533 EXPECT_TRUE(helper_->GetTooltipWindow() == NULL); |
| 564 } | 534 } |
| 565 | 535 |
| 566 // Disabled on linux as DesktopScreenX11::GetWindowAtScreenPoint() doesn't | 536 // Disabled on linux as DesktopScreenX11::GetWindowAtScreenPoint() doesn't |
| 567 // consider z-order. | 537 // consider z-order. |
| 568 // Disabled on Windows due to failing bots. http://crbug.com/604479 | 538 // Disabled on Windows due to failing bots. http://crbug.com/604479 |
| 569 #if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_WIN) | 539 #if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_WIN) |
| (...skipping 25 matching lines...) Expand all Loading... |
| 595 | 565 |
| 596 widget_->SetCapture(view_); | 566 widget_->SetCapture(view_); |
| 597 EXPECT_TRUE(widget_->HasCapture()); | 567 EXPECT_TRUE(widget_->HasCapture()); |
| 598 widget2->Show(); | 568 widget2->Show(); |
| 599 EXPECT_GE(IndexInParent(widget2->GetNativeWindow()), | 569 EXPECT_GE(IndexInParent(widget2->GetNativeWindow()), |
| 600 IndexInParent(widget_->GetNativeWindow())); | 570 IndexInParent(widget_->GetNativeWindow())); |
| 601 | 571 |
| 602 generator_->MoveMouseRelativeTo(widget_->GetNativeWindow(), | 572 generator_->MoveMouseRelativeTo(widget_->GetNativeWindow(), |
| 603 view_->bounds().CenterPoint()); | 573 view_->bounds().CenterPoint()); |
| 604 | 574 |
| 605 EXPECT_TRUE(helper_->IsTooltipTimerRunning()); | |
| 606 helper_->FireTooltipTimer(); | |
| 607 // Even though the mouse is over a window with a tooltip it shouldn't be | 575 // Even though the mouse is over a window with a tooltip it shouldn't be |
| 608 // picked up because the windows don't have the same value for | 576 // picked up because the windows don't have the same value for |
| 609 // |TooltipManager::kGroupingPropertyKey|. | 577 // |TooltipManager::kGroupingPropertyKey|. |
| 610 EXPECT_TRUE(helper_->GetTooltipText().empty()); | 578 EXPECT_TRUE(helper_->GetTooltipText().empty()); |
| 611 | 579 |
| 612 // Now make both the windows have same transient value for | 580 // Now make both the windows have same transient value for |
| 613 // kGroupingPropertyKey. In this case the tooltip should be picked up from | 581 // kGroupingPropertyKey. In this case the tooltip should be picked up from |
| 614 // |widget2| (because the mouse is over it). | 582 // |widget2| (because the mouse is over it). |
| 615 const int grouping_key = 1; | 583 const int grouping_key = 1; |
| 616 widget_->SetNativeWindowProperty(TooltipManager::kGroupingPropertyKey, | 584 widget_->SetNativeWindowProperty(TooltipManager::kGroupingPropertyKey, |
| 617 reinterpret_cast<void*>(grouping_key)); | 585 reinterpret_cast<void*>(grouping_key)); |
| 618 widget2->SetNativeWindowProperty(TooltipManager::kGroupingPropertyKey, | 586 widget2->SetNativeWindowProperty(TooltipManager::kGroupingPropertyKey, |
| 619 reinterpret_cast<void*>(grouping_key)); | 587 reinterpret_cast<void*>(grouping_key)); |
| 620 generator_->MoveMouseBy(1, 10); | 588 generator_->MoveMouseBy(1, 10); |
| 621 EXPECT_TRUE(helper_->IsTooltipTimerRunning()); | |
| 622 helper_->FireTooltipTimer(); | |
| 623 EXPECT_EQ(tooltip_text2, helper_->GetTooltipText()); | 589 EXPECT_EQ(tooltip_text2, helper_->GetTooltipText()); |
| 624 | 590 |
| 625 widget2.reset(); | 591 widget2.reset(); |
| 626 } | 592 } |
| 627 | 593 |
| 628 namespace { | 594 namespace { |
| 629 | 595 |
| 630 class TestTooltip : public Tooltip { | 596 class TestTooltip : public Tooltip { |
| 631 public: | 597 public: |
| 632 TestTooltip() : is_visible_(false) {} | 598 TestTooltip() : is_visible_(false) {} |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 698 }; | 664 }; |
| 699 | 665 |
| 700 TEST_F(TooltipControllerTest2, VerifyLeadingTrailingWhitespaceStripped) { | 666 TEST_F(TooltipControllerTest2, VerifyLeadingTrailingWhitespaceStripped) { |
| 701 aura::test::TestWindowDelegate test_delegate; | 667 aura::test::TestWindowDelegate test_delegate; |
| 702 std::unique_ptr<aura::Window> window( | 668 std::unique_ptr<aura::Window> window( |
| 703 CreateNormalWindow(100, root_window(), &test_delegate)); | 669 CreateNormalWindow(100, root_window(), &test_delegate)); |
| 704 window->SetBounds(gfx::Rect(0, 0, 300, 300)); | 670 window->SetBounds(gfx::Rect(0, 0, 300, 300)); |
| 705 base::string16 tooltip_text(ASCIIToUTF16(" \nx ")); | 671 base::string16 tooltip_text(ASCIIToUTF16(" \nx ")); |
| 706 aura::client::SetTooltipText(window.get(), &tooltip_text); | 672 aura::client::SetTooltipText(window.get(), &tooltip_text); |
| 707 generator_->MoveMouseToCenterOf(window.get()); | 673 generator_->MoveMouseToCenterOf(window.get()); |
| 708 helper_->FireTooltipTimer(); | |
| 709 EXPECT_EQ(ASCIIToUTF16("x"), test_tooltip_->tooltip_text()); | 674 EXPECT_EQ(ASCIIToUTF16("x"), test_tooltip_->tooltip_text()); |
| 710 } | 675 } |
| 711 | 676 |
| 712 // Verifies that tooltip is hidden and tooltip window closed upon cancel mode. | 677 // Verifies that tooltip is hidden and tooltip window closed upon cancel mode. |
| 713 TEST_F(TooltipControllerTest2, CloseOnCancelMode) { | 678 TEST_F(TooltipControllerTest2, CloseOnCancelMode) { |
| 714 aura::test::TestWindowDelegate test_delegate; | 679 aura::test::TestWindowDelegate test_delegate; |
| 715 std::unique_ptr<aura::Window> window( | 680 std::unique_ptr<aura::Window> window( |
| 716 CreateNormalWindow(100, root_window(), &test_delegate)); | 681 CreateNormalWindow(100, root_window(), &test_delegate)); |
| 717 window->SetBounds(gfx::Rect(0, 0, 300, 300)); | 682 window->SetBounds(gfx::Rect(0, 0, 300, 300)); |
| 718 base::string16 tooltip_text(ASCIIToUTF16("Tooltip Text")); | 683 base::string16 tooltip_text(ASCIIToUTF16("Tooltip Text")); |
| 719 aura::client::SetTooltipText(window.get(), &tooltip_text); | 684 aura::client::SetTooltipText(window.get(), &tooltip_text); |
| 720 generator_->MoveMouseToCenterOf(window.get()); | 685 generator_->MoveMouseToCenterOf(window.get()); |
| 721 | 686 |
| 722 // Fire tooltip timer so tooltip becomes visible. | |
| 723 helper_->FireTooltipTimer(); | |
| 724 EXPECT_TRUE(helper_->IsTooltipVisible()); | 687 EXPECT_TRUE(helper_->IsTooltipVisible()); |
| 725 | 688 |
| 726 // Send OnCancelMode event and verify that tooltip becomes invisible and | 689 // Send OnCancelMode event and verify that tooltip becomes invisible and |
| 727 // the tooltip window is closed. | 690 // the tooltip window is closed. |
| 728 ui::CancelModeEvent event; | 691 ui::CancelModeEvent event; |
| 729 helper_->controller()->OnCancelMode(&event); | 692 helper_->controller()->OnCancelMode(&event); |
| 730 EXPECT_FALSE(helper_->IsTooltipVisible()); | 693 EXPECT_FALSE(helper_->IsTooltipVisible()); |
| 731 EXPECT_TRUE(helper_->GetTooltipWindow() == NULL); | 694 EXPECT_TRUE(helper_->GetTooltipWindow() == NULL); |
| 732 } | 695 } |
| 733 | 696 |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 842 v1->SetBoundsRect(view_bounds); | 805 v1->SetBoundsRect(view_bounds); |
| 843 v1_1->SetBounds(0, 0, 3, 3); | 806 v1_1->SetBounds(0, 0, 3, 3); |
| 844 view_bounds.set_y(view_bounds.height()); | 807 view_bounds.set_y(view_bounds.height()); |
| 845 v2->SetBoundsRect(view_bounds); | 808 v2->SetBoundsRect(view_bounds); |
| 846 v2_2->SetBounds(view_bounds.width() - 3, view_bounds.height() - 3, 3, 3); | 809 v2_2->SetBounds(view_bounds.width() - 3, view_bounds.height() - 3, 3, 3); |
| 847 v2_1->SetBounds(0, 0, 3, 3); | 810 v2_1->SetBounds(0, 0, 3, 3); |
| 848 | 811 |
| 849 // Test whether a toolbar appears on v1 | 812 // Test whether a toolbar appears on v1 |
| 850 gfx::Point center = v1->bounds().CenterPoint(); | 813 gfx::Point center = v1->bounds().CenterPoint(); |
| 851 generator_->MoveMouseRelativeTo(GetWindow(), center); | 814 generator_->MoveMouseRelativeTo(GetWindow(), center); |
| 852 helper_->FireTooltipTimer(); | |
| 853 EXPECT_TRUE(helper_->IsTooltipVisible()); | 815 EXPECT_TRUE(helper_->IsTooltipVisible()); |
| 854 EXPECT_EQ(reference_string, helper_->GetTooltipText()); | 816 EXPECT_EQ(reference_string, helper_->GetTooltipText()); |
| 855 gfx::Point tooltip_bounds1 = test_tooltip_->location(); | 817 gfx::Point tooltip_bounds1 = test_tooltip_->location(); |
| 856 | 818 |
| 857 // Test whether the toolbar changes position on mouse over v2 | 819 // Test whether the toolbar changes position on mouse over v2 |
| 858 center = v2->bounds().CenterPoint(); | 820 center = v2->bounds().CenterPoint(); |
| 859 generator_->MoveMouseRelativeTo(GetWindow(), center); | 821 generator_->MoveMouseRelativeTo(GetWindow(), center); |
| 860 helper_->FireTooltipTimer(); | |
| 861 EXPECT_TRUE(helper_->IsTooltipVisible()); | 822 EXPECT_TRUE(helper_->IsTooltipVisible()); |
| 862 EXPECT_EQ(reference_string, helper_->GetTooltipText()); | 823 EXPECT_EQ(reference_string, helper_->GetTooltipText()); |
| 863 gfx::Point tooltip_bounds2 = test_tooltip_->location(); | 824 gfx::Point tooltip_bounds2 = test_tooltip_->location(); |
| 864 | 825 |
| 865 EXPECT_NE(tooltip_bounds1, gfx::Point()); | 826 EXPECT_NE(tooltip_bounds1, gfx::Point()); |
| 866 EXPECT_NE(tooltip_bounds2, gfx::Point()); | 827 EXPECT_NE(tooltip_bounds2, gfx::Point()); |
| 867 EXPECT_NE(tooltip_bounds1, tooltip_bounds2); | 828 EXPECT_NE(tooltip_bounds1, tooltip_bounds2); |
| 868 | 829 |
| 869 // Test if the toolbar does not change position on encountering a contained | 830 // Test if the toolbar does not change position on encountering a contained |
| 870 // view with the same tooltip text | 831 // view with the same tooltip text |
| 871 center = v2_1->GetLocalBounds().CenterPoint(); | 832 center = v2_1->GetLocalBounds().CenterPoint(); |
| 872 views::View::ConvertPointToTarget(v2_1, view_, ¢er); | 833 views::View::ConvertPointToTarget(v2_1, view_, ¢er); |
| 873 generator_->MoveMouseRelativeTo(GetWindow(), center); | 834 generator_->MoveMouseRelativeTo(GetWindow(), center); |
| 874 helper_->FireTooltipTimer(); | |
| 875 gfx::Point tooltip_bounds2_1 = test_tooltip_->location(); | 835 gfx::Point tooltip_bounds2_1 = test_tooltip_->location(); |
| 876 | 836 |
| 877 EXPECT_NE(tooltip_bounds2, tooltip_bounds2_1); | 837 EXPECT_NE(tooltip_bounds2, tooltip_bounds2_1); |
| 878 EXPECT_TRUE(helper_->IsTooltipVisible()); | 838 EXPECT_TRUE(helper_->IsTooltipVisible()); |
| 879 EXPECT_EQ(reference_string, helper_->GetTooltipText()); | 839 EXPECT_EQ(reference_string, helper_->GetTooltipText()); |
| 880 | 840 |
| 881 // Test if the toolbar changes position on encountering a contained | 841 // Test if the toolbar changes position on encountering a contained |
| 882 // view with a different tooltip text | 842 // view with a different tooltip text |
| 883 center = v2_2->GetLocalBounds().CenterPoint(); | 843 center = v2_2->GetLocalBounds().CenterPoint(); |
| 884 views::View::ConvertPointToTarget(v2_2, view_, ¢er); | 844 views::View::ConvertPointToTarget(v2_2, view_, ¢er); |
| 885 generator_->MoveMouseRelativeTo(GetWindow(), center); | 845 generator_->MoveMouseRelativeTo(GetWindow(), center); |
| 886 helper_->FireTooltipTimer(); | |
| 887 gfx::Point tooltip_bounds2_2 = test_tooltip_->location(); | 846 gfx::Point tooltip_bounds2_2 = test_tooltip_->location(); |
| 888 | 847 |
| 889 EXPECT_NE(tooltip_bounds2_1, tooltip_bounds2_2); | 848 EXPECT_NE(tooltip_bounds2_1, tooltip_bounds2_2); |
| 890 EXPECT_TRUE(helper_->IsTooltipVisible()); | 849 EXPECT_TRUE(helper_->IsTooltipVisible()); |
| 891 EXPECT_EQ(alternative_string, helper_->GetTooltipText()); | 850 EXPECT_EQ(alternative_string, helper_->GetTooltipText()); |
| 892 | 851 |
| 893 // Test if moving from a view that is contained by a larger view, both with | 852 // Test if moving from a view that is contained by a larger view, both with |
| 894 // the same tooltip text, does not change tooltip's position. | 853 // the same tooltip text, does not change tooltip's position. |
| 895 center = v1_1->GetLocalBounds().CenterPoint(); | 854 center = v1_1->GetLocalBounds().CenterPoint(); |
| 896 views::View::ConvertPointToTarget(v1_1, view_, ¢er); | 855 views::View::ConvertPointToTarget(v1_1, view_, ¢er); |
| 897 generator_->MoveMouseRelativeTo(GetWindow(), center); | 856 generator_->MoveMouseRelativeTo(GetWindow(), center); |
| 898 helper_->FireTooltipTimer(); | |
| 899 gfx::Point tooltip_bounds1_1 = test_tooltip_->location(); | 857 gfx::Point tooltip_bounds1_1 = test_tooltip_->location(); |
| 900 | 858 |
| 901 EXPECT_TRUE(helper_->IsTooltipVisible()); | 859 EXPECT_TRUE(helper_->IsTooltipVisible()); |
| 902 EXPECT_EQ(reference_string, helper_->GetTooltipText()); | 860 EXPECT_EQ(reference_string, helper_->GetTooltipText()); |
| 903 | 861 |
| 904 center = v1->bounds().CenterPoint(); | 862 center = v1->bounds().CenterPoint(); |
| 905 generator_->MoveMouseRelativeTo(GetWindow(), center); | 863 generator_->MoveMouseRelativeTo(GetWindow(), center); |
| 906 helper_->FireTooltipTimer(); | |
| 907 tooltip_bounds1 = test_tooltip_->location(); | 864 tooltip_bounds1 = test_tooltip_->location(); |
| 908 | 865 |
| 909 EXPECT_NE(tooltip_bounds1_1, tooltip_bounds1); | 866 EXPECT_NE(tooltip_bounds1_1, tooltip_bounds1); |
| 910 EXPECT_EQ(reference_string, helper_->GetTooltipText()); | 867 EXPECT_EQ(reference_string, helper_->GetTooltipText()); |
| 911 } | 868 } |
| 912 | 869 |
| 913 } // namespace test | 870 } // namespace test |
| 914 } // namespace corewm | 871 } // namespace corewm |
| 915 } // namespace views | 872 } // namespace views |
| OLD | NEW |