import assert from "node:assert/strict"; import { readFile } from "node:fs/promises"; import { resolve } from "node:path"; const source = await readFile( resolve("src/pages/ChatMain/ChatLongAnswer/ParsedValueView.vue"), "utf8" ); const styleSource = await readFile( resolve("src/pages/ChatMain/ChatLongAnswer/styles/ParsedValueView.scss"), "utf8" ); const forbiddenCompatibilitySnippets = [ "valueObj.image_url", "valueObj.image,", "valueObj.image_id", "valueObj.content_image", "valueObj.sopt_name", "valueObj.name", "valueObj.title", "valueObj.sopt_description", "valueObj.description", "valueObj.desc", "valueObj.sopt_longitude", "valueObj.longitude", "valueObj.lng", "valueObj.sopt_latitude", "valueObj.latitude", "valueObj.lat", "valueObj.sopt_tag", "valueObj.tag", "valueObj.type", "value?.questions", "value?.items", "value?.list", ]; for (const snippet of forbiddenCompatibilitySnippets) { assert.equal( source.includes(snippet), false, `ParsedValueView should not guess compatibility field: ${snippet}` ); } const requiredStrictRenderingSnippets = [ "LONG_TEXT_KEYS.sceneImage", "LONG_TEXT_KEYS.contentImage", "LONG_TEXT_KEYS.commodityList", "LONG_TEXT_KEYS.photoList", "LONG_TEXT_KEYS.aigcComponet", "shouldRenderSpotLocate", "shouldRenderQuestionSuggest", "shouldRenderCommodityList", "shouldRenderPhotoList", "shouldRenderAigcComponet", "getRenderEntriesForObject", "commodity.commodity_id", "commodity.commodity_name", "commodity.commodity_price", "commodity.commodity_tag", "commodity.commodity_photo", "