1// 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
40