feat: add generated scene skill platform hardening
This commit is contained in:
@@ -78,10 +78,9 @@ fn rejects_malformed_callback_frames_and_missing_request_ids() {
|
||||
.unwrap_err();
|
||||
assert!(malformed.to_string().contains("malformed callback payload"));
|
||||
|
||||
let wrong_function = decode_callback_frame(
|
||||
r#"["https://www.zhihu.com/hot","sgBrowerserOpenPage","0"]"#,
|
||||
)
|
||||
.unwrap_err();
|
||||
let wrong_function =
|
||||
decode_callback_frame(r#"["https://www.zhihu.com/hot","sgBrowerserOpenPage","0"]"#)
|
||||
.unwrap_err();
|
||||
assert!(wrong_function
|
||||
.to_string()
|
||||
.contains("callback frame must target callBackJsToCpp"));
|
||||
@@ -177,11 +176,15 @@ fn covers_supported_v1_action_mapping_and_rejects_unsupported_actions() {
|
||||
];
|
||||
|
||||
for (action, params, request_id, browser_function, expects_callback) in cases {
|
||||
let request = encode_v1_action(&action, ¶ms, "https://www.zhihu.com/hot", request_id)
|
||||
.unwrap();
|
||||
let request =
|
||||
encode_v1_action(&action, ¶ms, "https://www.zhihu.com/hot", request_id).unwrap();
|
||||
let payload: Value = serde_json::from_str(&request.payload).unwrap();
|
||||
assert_eq!(payload[1], json!(browser_function), "action={action:?}");
|
||||
assert_eq!(request.callback.is_some(), expects_callback, "action={action:?}");
|
||||
assert_eq!(
|
||||
request.callback.is_some(),
|
||||
expects_callback,
|
||||
"action={action:?}"
|
||||
);
|
||||
}
|
||||
|
||||
let unsupported = encode_v1_action(
|
||||
@@ -191,5 +194,7 @@ fn covers_supported_v1_action_mapping_and_rejects_unsupported_actions() {
|
||||
None,
|
||||
)
|
||||
.unwrap_err();
|
||||
assert!(unsupported.to_string().contains("unsupported browser ws action"));
|
||||
assert!(unsupported
|
||||
.to_string()
|
||||
.contains("unsupported browser ws action"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user