Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2079)

Unified Diff: mojo/apps/js/test/js_to_cpp_unittest.cc

Issue 294833002: Mojo: more idiomatic C++ bindings (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: more Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: mojo/apps/js/test/js_to_cpp_unittest.cc
diff --git a/mojo/apps/js/test/js_to_cpp_unittest.cc b/mojo/apps/js/test/js_to_cpp_unittest.cc
index 64259df156faaf7c2b00c4229412aa2edda00162..2eb6d96b1c788a4f793e3cd51ad6675eca5ff1db 100644
--- a/mojo/apps/js/test/js_to_cpp_unittest.cc
+++ b/mojo/apps/js/test/js_to_cpp_unittest.cc
@@ -12,7 +12,6 @@
#include "mojo/apps/js/test/js_to_cpp.mojom.h"
#include "mojo/common/common_type_converters.h"
#include "mojo/common/test/test_utils.h"
-#include "mojo/public/cpp/bindings/allocation_scope.h"
#include "mojo/public/cpp/environment/environment.h"
#include "mojo/public/cpp/system/core.h"
#include "mojo/public/cpp/system/macros.h"
@@ -77,66 +76,63 @@ void CheckDataPipe(MojoHandle data_pipe_handle) {
}
}
-// NOTE: Callers will need to have established an AllocationScope, or you're
-// gonna have a bad time.
-js_to_cpp::EchoArgs BuildSampleEchoArgs() {
- js_to_cpp::EchoArgs::Builder builder;
- builder.set_si64(kExpectedInt64Value);
- builder.set_si32(kExpectedInt32Value);
- builder.set_si16(kExpectedInt16Value);
- builder.set_si8(kExpectedInt8Value);
- builder.set_ui64(kExpectedUInt64Value);
- builder.set_ui32(kExpectedUInt32Value);
- builder.set_ui16(kExpectedUInt16Value);
- builder.set_ui8(kExpectedUInt8Value);
- builder.set_float_val(kExpectedFloatVal);
- builder.set_float_inf(kExpectedFloatInf);
- builder.set_float_nan(kExpectedFloatNan);
- builder.set_double_val(kExpectedDoubleVal);
- builder.set_double_inf(kExpectedDoubleInf);
- builder.set_double_nan(kExpectedDoubleNan);
- builder.set_name("coming");
- mojo::Array<mojo::String>::Builder string_array(3);
- string_array[0] = "one";
- string_array[1] = "two";
- string_array[2] = "three";
- builder.set_string_array(string_array.Finish());
- return builder.Finish();
+js_to_cpp::EchoArgsPtr BuildSampleEchoArgs() {
+ js_to_cpp::EchoArgsPtr args;
+ args->si64 = kExpectedInt64Value;
+ args->si32 = kExpectedInt32Value;
+ args->si16 = kExpectedInt16Value;
+ args->si8 = kExpectedInt8Value;
+ args->ui64 = kExpectedUInt64Value;
+ args->ui32 = kExpectedUInt32Value;
+ args->ui16 = kExpectedUInt16Value;
+ args->ui8 = kExpectedUInt8Value;
+ args->float_val = kExpectedFloatVal;
+ args->float_inf = kExpectedFloatInf;
+ args->float_nan = kExpectedFloatNan;
+ args->double_val = kExpectedDoubleVal;
+ args->double_inf = kExpectedDoubleInf;
+ args->double_nan = kExpectedDoubleNan;
+ args->name = String::From("coming");
+ args->string_array = Array<String>::New(3);
+ args->string_array[0] = String::From("one");
+ args->string_array[1] = String::From("two");
+ args->string_array[2] = String::From("three");
+ return args.Pass();
}
void CheckSampleEchoArgs(const js_to_cpp::EchoArgs& arg) {
- EXPECT_EQ(kExpectedInt64Value, arg.si64());
- EXPECT_EQ(kExpectedInt32Value, arg.si32());
- EXPECT_EQ(kExpectedInt16Value, arg.si16());
- EXPECT_EQ(kExpectedInt8Value, arg.si8());
- EXPECT_EQ(kExpectedUInt64Value, arg.ui64());
- EXPECT_EQ(kExpectedUInt32Value, arg.ui32());
- EXPECT_EQ(kExpectedUInt16Value, arg.ui16());
- EXPECT_EQ(kExpectedUInt8Value, arg.ui8());
- EXPECT_EQ(kExpectedFloatVal, arg.float_val());
- EXPECT_EQ(kExpectedFloatInf, arg.float_inf());
- EXPECT_NAN(arg.float_nan());
- EXPECT_EQ(kExpectedDoubleVal, arg.double_val());
- EXPECT_EQ(kExpectedDoubleInf, arg.double_inf());
- EXPECT_NAN(arg.double_nan());
- EXPECT_EQ(std::string("coming"), arg.name().To<std::string>());
- EXPECT_EQ(std::string("one"), arg.string_array()[0].To<std::string>());
- EXPECT_EQ(std::string("two"), arg.string_array()[1].To<std::string>());
- EXPECT_EQ(std::string("three"), arg.string_array()[2].To<std::string>());
- CheckDataPipe(arg.data_handle().get().value());
+ EXPECT_EQ(kExpectedInt64Value, arg.si64);
+ EXPECT_EQ(kExpectedInt32Value, arg.si32);
+ EXPECT_EQ(kExpectedInt16Value, arg.si16);
+ EXPECT_EQ(kExpectedInt8Value, arg.si8);
+ EXPECT_EQ(kExpectedUInt64Value, arg.ui64);
+ EXPECT_EQ(kExpectedUInt32Value, arg.ui32);
+ EXPECT_EQ(kExpectedUInt16Value, arg.ui16);
+ EXPECT_EQ(kExpectedUInt8Value, arg.ui8);
+ EXPECT_EQ(kExpectedFloatVal, arg.float_val);
+ EXPECT_EQ(kExpectedFloatInf, arg.float_inf);
+ EXPECT_NAN(arg.float_nan);
+ EXPECT_EQ(kExpectedDoubleVal, arg.double_val);
+ EXPECT_EQ(kExpectedDoubleInf, arg.double_inf);
+ EXPECT_NAN(arg.double_nan);
+ EXPECT_EQ(std::string("coming"), arg.name.To<std::string>());
+ EXPECT_EQ(std::string("one"), arg.string_array[0].To<std::string>());
+ EXPECT_EQ(std::string("two"), arg.string_array[1].To<std::string>());
+ EXPECT_EQ(std::string("three"), arg.string_array[2].To<std::string>());
+ CheckDataPipe(arg.data_handle.get().value());
}
-js_to_cpp::EchoArgsList BuildSampleEchoArgsList() {
- js_to_cpp::EchoArgsList::Builder builder;
- builder.set_item(BuildSampleEchoArgs());
- return builder.Finish();
+js_to_cpp::EchoArgsListPtr BuildSampleEchoArgsList() {
+ js_to_cpp::EchoArgsListPtr args_list(js_to_cpp::EchoArgsList::New());
+ args_list->item = BuildSampleEchoArgs();
+ return args_list.Pass();
}
-void CheckSampleEchoArgsList(const js_to_cpp::EchoArgsList& list) {
+void CheckSampleEchoArgsList(const js_to_cpp::EchoArgsListPtr& list) {
if (list.is_null())
return;
- CheckSampleEchoArgs(list.item());
- CheckSampleEchoArgsList(list.next());
+ CheckSampleEchoArgs(*list->item);
+ CheckSampleEchoArgsList(list->next);
}
void CheckCorruptedString(const mojo::String& arg) {
@@ -182,11 +178,11 @@ class CppSideConnection : public js_to_cpp::CppSide {
NOTREACHED();
}
- virtual void EchoResponse(const js_to_cpp::EchoArgsList& list) OVERRIDE {
+ virtual void EchoResponse(js_to_cpp::EchoArgsListPtr list) OVERRIDE {
NOTREACHED();
}
- virtual void BitFlipResponse(const js_to_cpp::EchoArgs& arg1) OVERRIDE {
+ virtual void BitFlipResponse(js_to_cpp::EchoArgsPtr arg1) OVERRIDE {
NOTREACHED();
}
@@ -234,19 +230,18 @@ class EchoCppSideConnection : public CppSideConnection {
// js_to_cpp::CppSide:
virtual void StartTest() OVERRIDE {
- AllocationScope scope;
js_side_->Echo(kExpectedMessageCount, BuildSampleEchoArgsList());
}
- virtual void EchoResponse(const js_to_cpp::EchoArgsList& list) OVERRIDE {
- const js_to_cpp::EchoArgs& special_arg = list.item();
+ virtual void EchoResponse(js_to_cpp::EchoArgsListPtr list) OVERRIDE {
+ const js_to_cpp::EchoArgsPtr& special_arg = list->item;
message_count_ += 1;
- EXPECT_EQ(-1, special_arg.si64());
- EXPECT_EQ(-1, special_arg.si32());
- EXPECT_EQ(-1, special_arg.si16());
- EXPECT_EQ(-1, special_arg.si8());
- EXPECT_EQ(std::string("going"), special_arg.name().To<std::string>());
- CheckSampleEchoArgsList(list.next());
+ EXPECT_EQ(-1, special_arg->si64);
+ EXPECT_EQ(-1, special_arg->si32);
+ EXPECT_EQ(-1, special_arg->si16);
+ EXPECT_EQ(-1, special_arg->si8);
+ EXPECT_EQ(std::string("going"), special_arg->name.To<std::string>());
+ CheckSampleEchoArgsList(list->next);
}
virtual void TestFinished() OVERRIDE {
@@ -273,17 +268,16 @@ class BitFlipCppSideConnection : public CppSideConnection {
// js_to_cpp::CppSide:
virtual void StartTest() OVERRIDE {
- AllocationScope scope;
js_side_->BitFlip(BuildSampleEchoArgs());
}
- virtual void BitFlipResponse(const js_to_cpp::EchoArgs& arg) OVERRIDE {
+ virtual void BitFlipResponse(js_to_cpp::EchoArgsPtr arg) OVERRIDE {
if (arg.is_null())
return;
- CheckCorruptedString(arg.name());
- CheckCorruptedStringArray(arg.string_array());
- if (arg.data_handle().is_valid())
- CheckDataPipe(arg.data_handle().get().value());
+ CheckCorruptedString(arg->name);
+ CheckCorruptedStringArray(arg->string_array);
+ if (arg->data_handle.is_valid())
+ CheckDataPipe(arg->data_handle.get().value());
}
virtual void TestFinished() OVERRIDE {

Powered by Google App Engine
This is Rietveld 408576698