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;
}
Esempio n. 2
0
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);
}