docs
evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
{
"context": "This criteria evaluates how well the engineer uses the plist package to handle empty values (empty strings, arrays, and objects) when converting between JavaScript objects and property list XML format.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Uses plist.build",
"description": "Correctly uses the plist.build() function to convert JavaScript objects to property list XML format in the sanitizeConfig function.",
"max_score": 25
},
{
"name": "Uses plist.parse",
"description": "Correctly uses the plist.parse() function to convert property list XML strings back to JavaScript objects in the parseConfig function.",
"max_score": 25
},
{
"name": "Empty string handling",
"description": "Implementation correctly preserves empty strings when converting to XML and parsing back. Empty strings should roundtrip correctly (empty string → <string/> or <string></string> → empty string).",
"max_score": 15
},
{
"name": "Empty array handling",
"description": "Implementation correctly preserves empty arrays when converting to XML and parsing back. Empty arrays should roundtrip correctly ([] → <array/> or <array></array> → []).",
"max_score": 15
},
{
"name": "Empty object handling",
"description": "Implementation correctly preserves empty objects when converting to XML and parsing back. Empty objects should roundtrip correctly ({} → <dict/> or <dict></dict> → {}).",
"max_score": 15
},
{
"name": "Proper error handling",
"description": "Implementation handles edge cases appropriately, such as invalid XML input to parseConfig or passing the correct data types to plist functions.",
"max_score": 5
}
]
}