Skip to content

Commit 9343f2d

Browse files
committed
🐛 v1.3 修复GM_value问题 #1192
1 parent ac2faf9 commit 9343f2d

File tree

2 files changed

+12
-17
lines changed

2 files changed

+12
-17
lines changed

src/app/service/content/gm_api/gm_api.test.ts

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -491,7 +491,7 @@ describe.concurrent("GM_value", () => {
491491
expect(mockSendMessage).toHaveBeenNthCalledWith(
492492
3,
493493
expect.objectContaining({
494-
action: "content/runtime/gmApi",
494+
action: "scripting/runtime/gmApi",
495495
data: {
496496
api: "GM_setValue",
497497
params: [expect.any(String), "proxy-key", {}], // Proxy 会被转换为空对象
@@ -505,7 +505,7 @@ describe.concurrent("GM_value", () => {
505505
expect(mockSendMessage).toHaveBeenNthCalledWith(
506506
4,
507507
expect.objectContaining({
508-
action: "content/runtime/gmApi",
508+
action: "scripting/runtime/gmApi",
509509
data: {
510510
api: "GM_setValue",
511511
params: [expect.any(String), "window"], // window 会被转换为空对象
@@ -757,19 +757,14 @@ return { value1, value2, value3, values1,values2, allValues1, allValues2, value4
757757
expect(mockSendMessage).toHaveBeenNthCalledWith(
758758
3,
759759
expect.objectContaining({
760-
action: "content/runtime/gmApi",
760+
action: "scripting/runtime/gmApi",
761761
data: {
762762
api: "GM_setValues",
763763
params: [
764764
// event id
765765
expect.stringMatching(/^.+::\d+$/),
766766
// the object payload
767-
expect.objectContaining({
768-
k: expect.stringMatching(/^##[\d.]+##$/),
769-
m: expect.objectContaining({
770-
"proxy-key": {},
771-
}),
772-
}),
767+
[["proxy-key", encodeRValue({})]],
773768
],
774769
runFlag: expect.any(String),
775770
uuid: undefined,
@@ -781,19 +776,19 @@ return { value1, value2, value3, values1,values2, allValues1, allValues2, value4
781776
expect(mockSendMessage).toHaveBeenNthCalledWith(
782777
4,
783778
expect.objectContaining({
784-
action: "content/runtime/gmApi",
779+
action: "scripting/runtime/gmApi",
785780
data: {
786781
api: "GM_setValues",
787782
params: [
788783
// event id
789784
expect.stringMatching(/^.+::\d+$/),
790785
// the object payload
791-
expect.objectContaining({
792-
k: expect.stringMatching(/^##[\d.]+##$/),
793-
m: expect.objectContaining({
794-
window: expect.stringMatching(/^##[\d.]+##undefined$/),
795-
}),
796-
}),
786+
[
787+
[
788+
"window",
789+
encodeRValue(undefined), // window 会被转换为 undefined
790+
],
791+
],
797792
],
798793
runFlag: expect.any(String),
799794
uuid: undefined,

src/app/service/content/gm_api/gm_api.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ export default class GMApi extends GM_Base {
318318
valueStore[key] = value_;
319319
}
320320
// 避免undefined 等空值流失,先进行映射处理
321-
keyValuePairs.push([key, encodeRValue(value)]);
321+
keyValuePairs.push([key, encodeRValue(valueStore[key])]);
322322
}
323323
a.sendMessage("GM_setValues", [id, keyValuePairs]);
324324
return id;

0 commit comments

Comments
 (0)