{ "id": "105043", "key": "ALOY-392", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "11113", "key": "ALOY", "name": "Alloy", "projectCategory": { "id": "10400", "description": "Tools for developing applications", "name": "Tooling" } }, "fixVersions": [ { "id": "14632", "description": "Alloy 0.3.2", "name": "Alloy 0.3.2", "archived": false, "released": true, "releaseDate": "2012-11-16" }, { "id": "14600", "description": "2012 Sprint 23", "name": "2012 Sprint 23", "archived": true, "released": true, "releaseDate": "2012-11-19" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2012-11-15T16:06:23.000+0000", "created": "2012-11-15T14:39:21.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [], "versions": [ { "id": "14631", "description": "Alloy 0.3.1", "name": "Alloy 0.3.1", "archived": false, "released": true, "releaseDate": "2012-11-02" } ], "issuelinks": [ { "id": "23106", "type": { "id": "10020", "name": "Depends", "inward": "is dependent of", "outward": "depends on" }, "inwardIssue": { "id": "105047", "key": "ALOY-393", "fields": { "summary": "Enable optimizer.js", "status": { "description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.", "name": "Resolved", "id": "5", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "7", "description": "gh.issue.story.desc", "name": "Story", "subtask": false } } } }, { "id": "22813", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "101321", "key": "ALOY-274", "fields": { "summary": "Improve optimizer.js code and testing", "status": { "description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.", "name": "Resolved", "id": "5", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": null, "updated": "2018-03-07T22:25:44.000+0000", "status": { "description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.", "name": "Resolved", "id": "5", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "12326", "name": "XML", "description": "View XML and parsing" } ], "description": "Here's the failing test, as added to the unit testing for the optimizer:\r\n\r\n{code:javascript}\r\n// FAIL: Only works if Ti.Platform.* is on the left hand side (false negative)\r\n[\"if ('<%= Ti_Platform_name %>' === Ti.Platform.osname) { var a = 1; } else { a = 2; }\",\"var a=1;\"]\r\n{code}", "attachment": [], "flagged": false, "summary": "optimizer.js only optimizes platform conditionals if Ti.Platform is on left hand side", "creator": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "227481", "author": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "body": "optimizer.js code works regardless of which side of the comparison a Ti.Platform API is on. All tests pass, including about 20 new ones that are sure to test both sides of a comparison. This is a result of a major simplification of the optimizer.js code in combination with allowing uglifyjs to remove dead code. The commit(s) can be seen here:\r\n\r\n* refactored code:\r\n** https://github.com/appcelerator/alloy/commit/bcaffef93fada754103f4e1b8927133bb41f250a\r\n** https://github.com/appcelerator/alloy/commit/a2e3294d6ab695b9a2f44d229f969a7fd9933453", "updateAuthor": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-11-15T16:06:23.000+0000", "updated": "2012-11-15T16:06:23.000+0000" } ], "maxResults": 1, "total": 1, "startAt": 0 } } }