blob: 9cb67db9ea4ef7d93842dbcc756ebd69121bbd2a [file] [log] [blame]
henrike@webrtc.org28e20752013-07-10 00:45:36 +00001// Copyright 2010 Google Inc. All Rights Reserved
2
3
4#include "talk/base/gunit.h"
5#include "talk/base/logging.h"
6#include "talk/base/macutils.h"
7#include "talk/base/macwindowpicker.h"
8#include "talk/base/windowpicker.h"
9
10#ifndef OSX
11#error Only for Mac OSX
12#endif
13
14namespace talk_base {
15
16bool IsLeopardOrLater() {
17 return GetOSVersionName() >= kMacOSLeopard;
18}
19
20// Test that this works on new versions and fails acceptably on old versions.
21TEST(MacWindowPickerTest, TestGetWindowList) {
22 MacWindowPicker picker, picker2;
23 WindowDescriptionList descriptions;
24 if (IsLeopardOrLater()) {
25 EXPECT_TRUE(picker.Init());
26 EXPECT_TRUE(picker.GetWindowList(&descriptions));
27 EXPECT_TRUE(picker2.GetWindowList(&descriptions)); // Init is optional
28 } else {
29 EXPECT_FALSE(picker.Init());
30 EXPECT_FALSE(picker.GetWindowList(&descriptions));
31 EXPECT_FALSE(picker2.GetWindowList(&descriptions));
32 }
33}
34
35// TODO: Add verification of the actual parsing, ie, add
36// functionality to inject a fake get_window_array function which
37// provide a pre-constructed list of windows.
38
39} // namespace talk_base