Skip to content

Commit 7d5272f

Browse files
committed
Fix CI issues
1 parent 99bd9df commit 7d5272f

File tree

2 files changed

+35
-14
lines changed

2 files changed

+35
-14
lines changed

content-scope-scripts/content-scope-scripts-impl/src/main/java/com/duckduckgo/contentscopescripts/impl/messaging/WebCompatMessagingPlugin.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,7 @@ class WebCompatMessagingPlugin @Inject constructor(
7171
.map { it.getGlobalJsMessageHandler() }
7272
.filter { it.method == jsMessage.method }
7373
.forEach { handler ->
74-
handler.process(jsMessage, jsMessageCallback) {
75-
}
74+
handler.process(jsMessage, jsMessageCallback) { }
7675
}
7776

7877
// Process with feature handlers

content-scope-scripts/content-scope-scripts-impl/src/test/java/com/duckduckgo/contentscopescripts/impl/messaging/WebCompatMessagingPluginTest.kt

Lines changed: 34 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package com.duckduckgo.contentscopescripts.impl.messaging
1818

1919
import androidx.test.ext.junit.runners.AndroidJUnit4
20+
import androidx.webkit.JavaScriptReplyProxy
2021
import androidx.webkit.WebViewCompat.WebMessageListener
2122
import com.duckduckgo.common.test.CoroutineTestRule
2223
import com.duckduckgo.common.utils.plugins.PluginPoint
@@ -25,8 +26,8 @@ import com.duckduckgo.contentscopescripts.api.GlobalJsMessageHandler
2526
import com.duckduckgo.contentscopescripts.api.WebCompatContentScopeJsMessageHandlersPlugin
2627
import com.duckduckgo.contentscopescripts.impl.AdsJsContentScopeScripts
2728
import com.duckduckgo.js.messaging.api.JsMessage
28-
import com.duckduckgo.js.messaging.api.JsMessageCallback
2929
import com.duckduckgo.js.messaging.api.WebCompatMessageHandler
30+
import com.duckduckgo.js.messaging.api.WebViewCompatMessageCallback
3031
import junit.framework.TestCase.assertEquals
3132
import junit.framework.TestCase.assertNull
3233
import kotlinx.coroutines.test.runTest
@@ -44,6 +45,7 @@ class WebCompatMessagingPluginTest {
4445

4546
private val adsJsContentScopeScripts: AdsJsContentScopeScripts = mock()
4647
private val handlers: PluginPoint<WebCompatContentScopeJsMessageHandlersPlugin> = FakePluginPoint()
48+
private val mockReplyProxy: JavaScriptReplyProxy = mock()
4749
private val globalHandlers: PluginPoint<GlobalContentScopeJsMessageHandlersPlugin> = FakeGlobalHandlersPluginPoint()
4850
private lateinit var testee: WebCompatMessagingPlugin
4951

@@ -57,9 +59,16 @@ class WebCompatMessagingPluginTest {
5759
return object : WebCompatMessageHandler {
5860
override fun process(
5961
jsMessage: JsMessage,
60-
jsMessageCallback: JsMessageCallback?,
62+
jsMessageCallback: WebViewCompatMessageCallback?,
63+
onResponse: (JSONObject) -> Unit,
6164
) {
62-
jsMessageCallback?.process(jsMessage.featureName, jsMessage.method, jsMessage.id, jsMessage.params)
65+
jsMessageCallback?.process(
66+
jsMessage.featureName,
67+
jsMessage.method,
68+
jsMessage.id,
69+
jsMessage.params,
70+
onResponse,
71+
)
6372
}
6473

6574
override val featureName: String = "webCompat"
@@ -81,9 +90,16 @@ class WebCompatMessagingPluginTest {
8190

8291
override fun process(
8392
jsMessage: JsMessage,
84-
jsMessageCallback: JsMessageCallback,
93+
jsMessageCallback: WebViewCompatMessageCallback,
94+
onResponse: (JSONObject) -> Unit,
8595
) {
86-
jsMessageCallback.process(jsMessage.featureName, jsMessage.method, jsMessage.id, jsMessage.params)
96+
jsMessageCallback.process(
97+
jsMessage.featureName,
98+
jsMessage.method,
99+
jsMessage.id,
100+
jsMessage.params,
101+
onResponse,
102+
)
87103
}
88104

89105
override val method: String = "addDebugFlag"
@@ -111,7 +127,7 @@ class WebCompatMessagingPluginTest {
111127
{"context":"contentScopeScripts","featureName":"webCompat","id":"myId","method":"webShare","params":{}}
112128
""".trimIndent()
113129

114-
testee.process(message, callback)
130+
testee.process(message, callback, mockReplyProxy)
115131

116132
assertEquals(1, callback.counter)
117133
}
@@ -120,7 +136,7 @@ class WebCompatMessagingPluginTest {
120136
fun `when processing unknown message do nothing`() = runTest {
121137
givenInterfaceIsRegistered()
122138

123-
testee.process("", callback)
139+
testee.process("", callback, mockReplyProxy)
124140

125141
assertEquals(0, callback.counter)
126142
}
@@ -133,7 +149,7 @@ class WebCompatMessagingPluginTest {
133149
{"context":"contentScopeScripts","featureName":"test","id":"myId","method":"webShare","params":{}}
134150
""".trimIndent()
135151

136-
testee.process(message, callback)
152+
testee.process(message, callback, mockReplyProxy)
137153

138154
assertEquals(0, callback.counter)
139155
}
@@ -146,7 +162,7 @@ class WebCompatMessagingPluginTest {
146162
{"context":"contentScopeScripts","webCompat":"test","method":"webShare","params":{}}
147163
""".trimIndent()
148164

149-
testee.process(message, callback)
165+
testee.process(message, callback, mockReplyProxy)
150166

151167
assertEquals(0, callback.counter)
152168
}
@@ -159,7 +175,7 @@ class WebCompatMessagingPluginTest {
159175
{"context":"contentScopeScripts","featureName":"debugFeature","id":"debugId","method":"addDebugFlag","params":{}}
160176
""".trimIndent()
161177

162-
testee.process(message, callback)
178+
testee.process(message, callback, mockReplyProxy)
163179

164180
assertEquals(1, callback.counter)
165181
}
@@ -231,9 +247,15 @@ class WebCompatMessagingPluginTest {
231247
assertEquals("contentScopeAdsjs", capturedObjectName)
232248
}
233249

234-
private val callback = object : JsMessageCallback() {
250+
private val callback = object : WebViewCompatMessageCallback() {
235251
var counter = 0
236-
override fun process(featureName: String, method: String, id: String?, data: JSONObject?) {
252+
override fun process(
253+
featureName: String,
254+
method: String,
255+
id: String?,
256+
data: JSONObject?,
257+
onResponse: (params: JSONObject) -> Unit,
258+
) {
237259
counter++
238260
}
239261
}

0 commit comments

Comments
 (0)