static JSObjectRef createWrappedMessage(JSGlobalContextRef context, WKStringRef data) { static JSStringRef dataName = JSStringCreateWithUTF8CString("data"); JSRetainPtr<JSStringRef> jsData = WKStringCopyJSString(data); JSObjectRef wrappedMessage = JSObjectMake(context, 0, 0); JSObjectSetProperty(context, wrappedMessage, dataName, JSValueMakeString(context, jsData.get()), kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly, 0); return wrappedMessage; }
TEST(WebKit2, WKStringJSString) { WKStringRef wkString = WKStringCreateWithUTF8CString("hello"); JSStringRef jsString = JSStringCreateWithUTF8CString("hello"); WKStringRef convertedJSString = WKStringCreateWithJSString(jsString); EXPECT_TRUE(WKStringIsEqual(wkString, convertedJSString)); JSStringRef convertedWKString = WKStringCopyJSString(wkString); EXPECT_TRUE(JSStringIsEqual(jsString, convertedWKString)); WKRelease(wkString); WKRelease(convertedJSString); JSStringRelease(jsString); JSStringRelease(convertedWKString); }