mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2024-12-13 10:06:28 +01:00
677 lines
16 KiB
C++
677 lines
16 KiB
C++
// Copyright (c) 2015 The Chromium Embedded Framework Authors. All rights
|
|
// reserved. Use of this source code is governed by a BSD-style license that can
|
|
// be found in the LICENSE file.
|
|
|
|
#include "include/test/cef_translator_test.h"
|
|
|
|
class CefTranslatorTestRefPtrLibraryImpl :
|
|
public CefTranslatorTestRefPtrLibrary {
|
|
public:
|
|
explicit CefTranslatorTestRefPtrLibraryImpl(int value)
|
|
: value_(value) {
|
|
}
|
|
|
|
int GetValue() override {
|
|
return value_;
|
|
}
|
|
|
|
void SetValue(int value) override {
|
|
value_ = value;
|
|
}
|
|
|
|
protected:
|
|
int value_;
|
|
|
|
private:
|
|
DISALLOW_COPY_AND_ASSIGN(CefTranslatorTestRefPtrLibraryImpl);
|
|
IMPLEMENT_REFCOUNTING(CefTranslatorTestRefPtrLibraryImpl);
|
|
};
|
|
|
|
// static
|
|
CefRefPtr<CefTranslatorTestRefPtrLibrary>
|
|
CefTranslatorTestRefPtrLibrary::Create(int value) {
|
|
return new CefTranslatorTestRefPtrLibraryImpl(value);
|
|
}
|
|
|
|
class CefTranslatorTestRefPtrLibraryChildImpl :
|
|
public CefTranslatorTestRefPtrLibraryChild {
|
|
public:
|
|
CefTranslatorTestRefPtrLibraryChildImpl(int value, int other_value)
|
|
: value_(value),
|
|
other_value_(other_value) {
|
|
}
|
|
|
|
int GetValue() override {
|
|
return value_;
|
|
}
|
|
|
|
void SetValue(int value) override {
|
|
value_ = value;
|
|
}
|
|
|
|
int GetOtherValue() override {
|
|
return other_value_;
|
|
}
|
|
|
|
void SetOtherValue(int value) override {
|
|
other_value_ = value;
|
|
}
|
|
|
|
protected:
|
|
int value_;
|
|
int other_value_;
|
|
|
|
private:
|
|
DISALLOW_COPY_AND_ASSIGN(CefTranslatorTestRefPtrLibraryChildImpl);
|
|
IMPLEMENT_REFCOUNTING(CefTranslatorTestRefPtrLibraryChildImpl);
|
|
};
|
|
|
|
// static
|
|
CefRefPtr<CefTranslatorTestRefPtrLibraryChild>
|
|
CefTranslatorTestRefPtrLibraryChild::Create(
|
|
int value,
|
|
int other_value) {
|
|
return new CefTranslatorTestRefPtrLibraryChildImpl(value, other_value);
|
|
}
|
|
|
|
class CefTranslatorTestRefPtrLibraryChildChildImpl :
|
|
public CefTranslatorTestRefPtrLibraryChildChild {
|
|
public:
|
|
CefTranslatorTestRefPtrLibraryChildChildImpl(int value,
|
|
int other_value,
|
|
int other_other_value)
|
|
: value_(value),
|
|
other_value_(other_value),
|
|
other_other_value_(other_other_value) {
|
|
}
|
|
|
|
int GetValue() override {
|
|
return value_;
|
|
}
|
|
|
|
void SetValue(int value) override {
|
|
value_ = value;
|
|
}
|
|
|
|
int GetOtherValue() override {
|
|
return other_value_;
|
|
}
|
|
|
|
void SetOtherValue(int value) override {
|
|
other_value_ = value;
|
|
}
|
|
|
|
int GetOtherOtherValue() override {
|
|
return other_other_value_;
|
|
}
|
|
|
|
void SetOtherOtherValue(int value) override {
|
|
other_other_value_ = value;
|
|
}
|
|
|
|
protected:
|
|
int value_;
|
|
int other_value_;
|
|
int other_other_value_;
|
|
|
|
private:
|
|
DISALLOW_COPY_AND_ASSIGN(CefTranslatorTestRefPtrLibraryChildChildImpl);
|
|
IMPLEMENT_REFCOUNTING(CefTranslatorTestRefPtrLibraryChildChildImpl);
|
|
};
|
|
|
|
// static
|
|
CefRefPtr<CefTranslatorTestRefPtrLibraryChildChild>
|
|
CefTranslatorTestRefPtrLibraryChildChild::Create(
|
|
int value,
|
|
int other_value,
|
|
int other_other_value) {
|
|
return new CefTranslatorTestRefPtrLibraryChildChildImpl(value, other_value,
|
|
other_other_value);
|
|
}
|
|
|
|
|
|
class CefTranslatorTestScopedLibraryImpl :
|
|
public CefTranslatorTestScopedLibrary {
|
|
public:
|
|
explicit CefTranslatorTestScopedLibraryImpl(int value)
|
|
: value_(value) {
|
|
}
|
|
|
|
int GetValue() override {
|
|
return value_;
|
|
}
|
|
|
|
void SetValue(int value) override {
|
|
value_ = value;
|
|
}
|
|
|
|
protected:
|
|
int value_;
|
|
|
|
private:
|
|
DISALLOW_COPY_AND_ASSIGN(CefTranslatorTestScopedLibraryImpl);
|
|
};
|
|
|
|
// static
|
|
CefOwnPtr<CefTranslatorTestScopedLibrary>
|
|
CefTranslatorTestScopedLibrary::Create(int value) {
|
|
return CefOwnPtr<CefTranslatorTestScopedLibrary>(
|
|
new CefTranslatorTestScopedLibraryImpl(value));
|
|
}
|
|
|
|
class CefTranslatorTestScopedLibraryChildImpl :
|
|
public CefTranslatorTestScopedLibraryChild {
|
|
public:
|
|
CefTranslatorTestScopedLibraryChildImpl(int value, int other_value)
|
|
: value_(value),
|
|
other_value_(other_value) {
|
|
}
|
|
|
|
int GetValue() override {
|
|
return value_;
|
|
}
|
|
|
|
void SetValue(int value) override {
|
|
value_ = value;
|
|
}
|
|
|
|
int GetOtherValue() override {
|
|
return other_value_;
|
|
}
|
|
|
|
void SetOtherValue(int value) override {
|
|
other_value_ = value;
|
|
}
|
|
|
|
protected:
|
|
int value_;
|
|
int other_value_;
|
|
|
|
private:
|
|
DISALLOW_COPY_AND_ASSIGN(CefTranslatorTestScopedLibraryChildImpl);
|
|
};
|
|
|
|
// static
|
|
CefOwnPtr<CefTranslatorTestScopedLibraryChild>
|
|
CefTranslatorTestScopedLibraryChild::Create(
|
|
int value,
|
|
int other_value) {
|
|
return CefOwnPtr<CefTranslatorTestScopedLibraryChild>(
|
|
new CefTranslatorTestScopedLibraryChildImpl(value, other_value));
|
|
}
|
|
|
|
class CefTranslatorTestScopedLibraryChildChildImpl :
|
|
public CefTranslatorTestScopedLibraryChildChild {
|
|
public:
|
|
CefTranslatorTestScopedLibraryChildChildImpl(int value,
|
|
int other_value,
|
|
int other_other_value)
|
|
: value_(value),
|
|
other_value_(other_value),
|
|
other_other_value_(other_other_value) {
|
|
}
|
|
|
|
int GetValue() override {
|
|
return value_;
|
|
}
|
|
|
|
void SetValue(int value) override {
|
|
value_ = value;
|
|
}
|
|
|
|
int GetOtherValue() override {
|
|
return other_value_;
|
|
}
|
|
|
|
void SetOtherValue(int value) override {
|
|
other_value_ = value;
|
|
}
|
|
|
|
int GetOtherOtherValue() override {
|
|
return other_other_value_;
|
|
}
|
|
|
|
void SetOtherOtherValue(int value) override {
|
|
other_other_value_ = value;
|
|
}
|
|
|
|
protected:
|
|
int value_;
|
|
int other_value_;
|
|
int other_other_value_;
|
|
|
|
private:
|
|
DISALLOW_COPY_AND_ASSIGN(CefTranslatorTestScopedLibraryChildChildImpl);
|
|
};
|
|
|
|
// static
|
|
CefOwnPtr<CefTranslatorTestScopedLibraryChildChild>
|
|
CefTranslatorTestScopedLibraryChildChild::Create(
|
|
int value,
|
|
int other_value,
|
|
int other_other_value) {
|
|
return CefOwnPtr<CefTranslatorTestScopedLibraryChildChild>(
|
|
new CefTranslatorTestScopedLibraryChildChildImpl(value, other_value,
|
|
other_other_value));
|
|
}
|
|
|
|
|
|
class CefTranslatorTestImpl : public CefTranslatorTest {
|
|
public:
|
|
CefTranslatorTestImpl() {
|
|
}
|
|
|
|
// PRIMITIVE VALUES
|
|
|
|
void GetVoid() override {
|
|
}
|
|
|
|
bool GetBool() override {
|
|
return TEST_BOOL_VAL;
|
|
}
|
|
|
|
int GetInt() override {
|
|
return TEST_INT_VAL;
|
|
}
|
|
|
|
double GetDouble() override {
|
|
return TEST_DOUBLE_VAL;
|
|
}
|
|
|
|
long GetLong() override {
|
|
return TEST_LONG_VAL;
|
|
}
|
|
|
|
size_t GetSizet() override {
|
|
return TEST_SIZET_VAL;
|
|
}
|
|
|
|
bool SetVoid() override {
|
|
return true;
|
|
}
|
|
|
|
bool SetBool(bool val) override {
|
|
return (val == TEST_BOOL_VAL);
|
|
}
|
|
|
|
bool SetInt(int val) override {
|
|
return (val == TEST_INT_VAL);
|
|
}
|
|
|
|
bool SetDouble(double val) override {
|
|
return (val == TEST_DOUBLE_VAL);
|
|
}
|
|
|
|
bool SetLong(long val) override {
|
|
return (val == TEST_LONG_VAL);
|
|
}
|
|
|
|
bool SetSizet(size_t val) override {
|
|
return (val == TEST_SIZET_VAL);
|
|
}
|
|
|
|
|
|
// PRIMITIVE LIST VALUES
|
|
|
|
bool SetIntList(const std::vector<int>& val) override {
|
|
if (val.size() != 2U)
|
|
return false;
|
|
return val[0] == TEST_INT_VAL && val[1] == TEST_INT_VAL2;
|
|
}
|
|
|
|
bool GetIntListByRef(IntList& val) override {
|
|
if (val.size() != GetIntListSize())
|
|
return false;
|
|
val.clear();
|
|
val.push_back(TEST_INT_VAL);
|
|
val.push_back(TEST_INT_VAL2);
|
|
return true;
|
|
}
|
|
|
|
size_t GetIntListSize() override {
|
|
return 2U;
|
|
}
|
|
|
|
|
|
// STRING VALUES
|
|
|
|
CefString GetString() override {
|
|
return TEST_STRING_VAL;
|
|
}
|
|
|
|
bool SetString(const CefString& val) override {
|
|
return (val.ToString() == TEST_STRING_VAL);
|
|
}
|
|
|
|
void GetStringByRef(CefString& val) override {
|
|
val = TEST_STRING_VAL;
|
|
}
|
|
|
|
|
|
// STRING LIST VALUES
|
|
|
|
bool SetStringList(const std::vector<CefString>& val) override {
|
|
if (val.size() != 3U)
|
|
return false;
|
|
return val[0] == TEST_STRING_VAL &&
|
|
val[1] == TEST_STRING_VAL2 &&
|
|
val[2] == TEST_STRING_VAL3;
|
|
}
|
|
|
|
bool GetStringListByRef(StringList& val) override {
|
|
if (val.size() != 0U)
|
|
return false;
|
|
val.push_back(TEST_STRING_VAL);
|
|
val.push_back(TEST_STRING_VAL2);
|
|
val.push_back(TEST_STRING_VAL3);
|
|
return true;
|
|
}
|
|
|
|
|
|
// STRING MAP VALUES
|
|
|
|
bool SetStringMap(const StringMap& val) override {
|
|
if (val.size() != 3U)
|
|
return false;
|
|
|
|
StringMap::const_iterator it;
|
|
|
|
it = val.find(TEST_STRING_KEY);
|
|
if (it == val.end() || it->second != TEST_STRING_VAL)
|
|
return false;
|
|
it = val.find(TEST_STRING_KEY2);
|
|
if (it == val.end() || it->second != TEST_STRING_VAL2)
|
|
return false;
|
|
it = val.find(TEST_STRING_KEY3);
|
|
if (it == val.end() || it->second != TEST_STRING_VAL3)
|
|
return false;
|
|
return true;
|
|
}
|
|
|
|
bool GetStringMapByRef(std::map<CefString, CefString>& val) override {
|
|
if (val.size() != 0U)
|
|
return false;
|
|
|
|
val.insert(std::make_pair(TEST_STRING_KEY, TEST_STRING_VAL));
|
|
val.insert(std::make_pair(TEST_STRING_KEY2, TEST_STRING_VAL2));
|
|
val.insert(std::make_pair(TEST_STRING_KEY3, TEST_STRING_VAL3));
|
|
return true;
|
|
}
|
|
|
|
|
|
// STRING MULTIMAP VALUES
|
|
|
|
bool SetStringMultimap(
|
|
const std::multimap<CefString, CefString>& val) override {
|
|
if (val.size() != 3U)
|
|
return false;
|
|
|
|
StringMultimap::const_iterator it;
|
|
|
|
it = val.find(TEST_STRING_KEY);
|
|
if (it == val.end() || it->second != TEST_STRING_VAL)
|
|
return false;
|
|
it = val.find(TEST_STRING_KEY2);
|
|
if (it == val.end() || it->second != TEST_STRING_VAL2)
|
|
return false;
|
|
it = val.find(TEST_STRING_KEY3);
|
|
if (it == val.end() || it->second != TEST_STRING_VAL3)
|
|
return false;
|
|
return true;
|
|
}
|
|
|
|
bool GetStringMultimapByRef(StringMultimap& val) override {
|
|
if (val.size() != 0U)
|
|
return false;
|
|
|
|
val.insert(std::make_pair(TEST_STRING_KEY, TEST_STRING_VAL));
|
|
val.insert(std::make_pair(TEST_STRING_KEY2, TEST_STRING_VAL2));
|
|
val.insert(std::make_pair(TEST_STRING_KEY3, TEST_STRING_VAL3));
|
|
return true;
|
|
}
|
|
|
|
|
|
// STRUCT VALUES
|
|
|
|
CefPoint GetPoint() override {
|
|
return CefPoint(TEST_X_VAL, TEST_Y_VAL);
|
|
}
|
|
|
|
bool SetPoint(const CefPoint& val) override {
|
|
return val.x == TEST_X_VAL && val.y == TEST_Y_VAL;
|
|
}
|
|
|
|
void GetPointByRef(CefPoint& val) override {
|
|
val = CefPoint(TEST_X_VAL, TEST_Y_VAL);
|
|
}
|
|
|
|
|
|
// STRUCT LIST VALUES
|
|
|
|
bool SetPointList(const std::vector<CefPoint>& val) override {
|
|
if (val.size() != 2U)
|
|
return false;
|
|
return val[0].x == TEST_X_VAL && val[0].y == TEST_Y_VAL &&
|
|
val[1].x == TEST_X_VAL2 && val[1].y == TEST_Y_VAL2;
|
|
}
|
|
|
|
bool GetPointListByRef(PointList& val) override {
|
|
if (val.size() != GetPointListSize())
|
|
return false;
|
|
val.clear();
|
|
val.push_back(CefPoint(TEST_X_VAL, TEST_Y_VAL));
|
|
val.push_back(CefPoint(TEST_X_VAL2, TEST_Y_VAL2));
|
|
return true;
|
|
}
|
|
|
|
size_t GetPointListSize() override {
|
|
return 2U;
|
|
}
|
|
|
|
|
|
// LIBRARY-SIDE REFPTR VALUES
|
|
|
|
CefRefPtr<CefTranslatorTestRefPtrLibrary> GetRefPtrLibrary(int val) override {
|
|
return new CefTranslatorTestRefPtrLibraryChildImpl(val, 0);
|
|
}
|
|
|
|
int SetRefPtrLibrary(CefRefPtr<CefTranslatorTestRefPtrLibrary> val) override {
|
|
return val->GetValue();
|
|
}
|
|
|
|
CefRefPtr<CefTranslatorTestRefPtrLibrary> SetRefPtrLibraryAndReturn(
|
|
CefRefPtr<CefTranslatorTestRefPtrLibrary> val) override {
|
|
return val;
|
|
}
|
|
|
|
int SetChildRefPtrLibrary(
|
|
CefRefPtr<CefTranslatorTestRefPtrLibraryChild> val) override {
|
|
return val->GetValue();
|
|
}
|
|
|
|
CefRefPtr<CefTranslatorTestRefPtrLibrary>
|
|
SetChildRefPtrLibraryAndReturnParent(
|
|
CefRefPtr<CefTranslatorTestRefPtrLibraryChild> val) override {
|
|
return val;
|
|
}
|
|
|
|
|
|
// LIBRARY-SIDE REFPTR LIST VALUES
|
|
|
|
bool SetRefPtrLibraryList(
|
|
const std::vector<CefRefPtr<CefTranslatorTestRefPtrLibrary> >& val,
|
|
int val1, int val2) override {
|
|
if (val.size() != 2U)
|
|
return false;
|
|
return val[0]->GetValue() == val1 && val[1]->GetValue() == val2;
|
|
}
|
|
|
|
bool GetRefPtrLibraryListByRef(RefPtrLibraryList& val, int val1,
|
|
int val2) override {
|
|
if (val.size() != GetRefPtrLibraryListSize())
|
|
return false;
|
|
val.clear();
|
|
val.push_back(new CefTranslatorTestRefPtrLibraryChildImpl(val1, 0));
|
|
val.push_back(new CefTranslatorTestRefPtrLibraryImpl(val2));
|
|
return true;
|
|
}
|
|
|
|
size_t GetRefPtrLibraryListSize() override {
|
|
return 2U;
|
|
}
|
|
|
|
|
|
// CLIENT-SIDE REFPTR VALUES
|
|
|
|
int SetRefPtrClient(CefRefPtr<CefTranslatorTestRefPtrClient> val) override {
|
|
return val->GetValue();
|
|
}
|
|
|
|
CefRefPtr<CefTranslatorTestRefPtrClient> SetRefPtrClientAndReturn(
|
|
CefRefPtr<CefTranslatorTestRefPtrClient> val) override {
|
|
return val;
|
|
}
|
|
|
|
int SetChildRefPtrClient(
|
|
CefRefPtr<CefTranslatorTestRefPtrClientChild> val) override {
|
|
return val->GetValue();
|
|
}
|
|
|
|
CefRefPtr<CefTranslatorTestRefPtrClient> SetChildRefPtrClientAndReturnParent(
|
|
CefRefPtr<CefTranslatorTestRefPtrClientChild> val) override {
|
|
return val;
|
|
}
|
|
|
|
|
|
// CLIENT-SIDE REFPTR LIST VALUES
|
|
|
|
bool SetRefPtrClientList(
|
|
const std::vector<CefRefPtr<CefTranslatorTestRefPtrClient> >& val,
|
|
int val1, int val2) override {
|
|
if (val.size() != 2U)
|
|
return false;
|
|
return val[0]->GetValue() == val1 && val[1]->GetValue() == val2;
|
|
}
|
|
|
|
bool GetRefPtrClientListByRef(
|
|
RefPtrClientList& val,
|
|
CefRefPtr<CefTranslatorTestRefPtrClient> val1,
|
|
CefRefPtr<CefTranslatorTestRefPtrClient> val2) override {
|
|
if (val.size() != GetRefPtrClientListSize())
|
|
return false;
|
|
val.clear();
|
|
val.push_back(val1);
|
|
val.push_back(val2);
|
|
return true;
|
|
}
|
|
|
|
size_t GetRefPtrClientListSize() override {
|
|
return 2U;
|
|
}
|
|
|
|
|
|
// LIBRARY-SIDE OWNPTR VALUES
|
|
|
|
CefOwnPtr<CefTranslatorTestScopedLibrary> GetOwnPtrLibrary(int val) override {
|
|
return CefOwnPtr<CefTranslatorTestScopedLibrary>(
|
|
new CefTranslatorTestScopedLibraryChildImpl(val, 0));
|
|
}
|
|
|
|
int SetOwnPtrLibrary(CefOwnPtr<CefTranslatorTestScopedLibrary> val) override {
|
|
return val->GetValue();
|
|
}
|
|
|
|
CefOwnPtr<CefTranslatorTestScopedLibrary> SetOwnPtrLibraryAndReturn(
|
|
CefOwnPtr<CefTranslatorTestScopedLibrary> val) override {
|
|
return val;
|
|
}
|
|
|
|
int SetChildOwnPtrLibrary(
|
|
CefOwnPtr<CefTranslatorTestScopedLibraryChild> val) override {
|
|
return val->GetValue();
|
|
}
|
|
|
|
CefOwnPtr<CefTranslatorTestScopedLibrary>
|
|
SetChildOwnPtrLibraryAndReturnParent(
|
|
CefOwnPtr<CefTranslatorTestScopedLibraryChild> val) override {
|
|
return CefOwnPtr<CefTranslatorTestScopedLibrary>(val.release());
|
|
}
|
|
|
|
|
|
// CLIENT-SIDE OWNPTR VALUES
|
|
|
|
int SetOwnPtrClient(CefOwnPtr<CefTranslatorTestScopedClient> val) override {
|
|
return val->GetValue();
|
|
}
|
|
|
|
CefOwnPtr<CefTranslatorTestScopedClient> SetOwnPtrClientAndReturn(
|
|
CefOwnPtr<CefTranslatorTestScopedClient> val) override {
|
|
return val;
|
|
}
|
|
|
|
int SetChildOwnPtrClient(
|
|
CefOwnPtr<CefTranslatorTestScopedClientChild> val) override {
|
|
return val->GetValue();
|
|
}
|
|
|
|
CefOwnPtr<CefTranslatorTestScopedClient> SetChildOwnPtrClientAndReturnParent(
|
|
CefOwnPtr<CefTranslatorTestScopedClientChild> val) override {
|
|
return CefOwnPtr<CefTranslatorTestScopedClient>(val.release());
|
|
}
|
|
|
|
|
|
// LIBRARY-SIDE RAWPTR VALUES
|
|
|
|
int SetRawPtrLibrary(CefRawPtr<CefTranslatorTestScopedLibrary> val) override {
|
|
return val->GetValue();
|
|
}
|
|
|
|
int SetChildRawPtrLibrary(
|
|
CefRawPtr<CefTranslatorTestScopedLibraryChild> val) override {
|
|
return val->GetValue();
|
|
}
|
|
|
|
|
|
// LIBRARY-SIDE RAWPTR LIST VALUES
|
|
|
|
bool SetRawPtrLibraryList(
|
|
const std::vector<CefRawPtr<CefTranslatorTestScopedLibrary> >& val,
|
|
int val1, int val2) override {
|
|
if (val.size() != 2U)
|
|
return false;
|
|
return val[0]->GetValue() == val1 && val[1]->GetValue() == val2;
|
|
}
|
|
|
|
|
|
// CLIENT-SIDE RAWPTR VALUES
|
|
|
|
int SetRawPtrClient(CefRawPtr<CefTranslatorTestScopedClient> val) override {
|
|
return val->GetValue();
|
|
}
|
|
|
|
int SetChildRawPtrClient(
|
|
CefRawPtr<CefTranslatorTestScopedClientChild> val) override {
|
|
return val->GetValue();
|
|
}
|
|
|
|
|
|
// CLIENT-SIDE RAWPTR LIST VALUES
|
|
|
|
bool SetRawPtrClientList(
|
|
const std::vector<CefRawPtr<CefTranslatorTestScopedClient> >& val,
|
|
int val1, int val2) override {
|
|
if (val.size() != 2U)
|
|
return false;
|
|
return val[0]->GetValue() == val1 && val[1]->GetValue() == val2;
|
|
}
|
|
|
|
private:
|
|
IMPLEMENT_REFCOUNTING(CefTranslatorTestImpl);
|
|
DISALLOW_COPY_AND_ASSIGN(CefTranslatorTestImpl);
|
|
};
|
|
|
|
// static
|
|
CefRefPtr<CefTranslatorTest> CefTranslatorTest::Create() {
|
|
return new CefTranslatorTestImpl();
|
|
}
|