mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-08 19:04:45 +00:00
Bug 1313050 - Handle invalid dates in reps. r=nchevobbe
This commit is contained in:
parent
76f5d03bb6
commit
0a299d9f15
@ -37,14 +37,18 @@ define(function (require, exports, module) {
|
||||
|
||||
render: function () {
|
||||
let grip = this.props.object;
|
||||
return (
|
||||
span({className: "objectBox"},
|
||||
let date;
|
||||
try {
|
||||
date = span({className: "objectBox"},
|
||||
this.getTitle(grip),
|
||||
span({className: "Date"},
|
||||
new Date(grip.preview.timestamp).toISOString()
|
||||
)
|
||||
)
|
||||
);
|
||||
);
|
||||
} catch (e) {
|
||||
date = span({className: "objectBox"}, "Invalid Date");
|
||||
}
|
||||
return date;
|
||||
},
|
||||
});
|
||||
|
||||
|
@ -15,10 +15,19 @@ Test DateTime rep
|
||||
<script src="head.js" type="application/javascript;version=1.8"></script>
|
||||
<script type="application/javascript;version=1.8">
|
||||
window.onload = Task.async(function* () {
|
||||
try {
|
||||
let { Rep } = browserRequire("devtools/client/shared/components/reps/rep");
|
||||
let { DateTime } = browserRequire("devtools/client/shared/components/reps/date-time");
|
||||
let { Rep } = browserRequire("devtools/client/shared/components/reps/rep");
|
||||
let { DateTime } = browserRequire("devtools/client/shared/components/reps/date-time");
|
||||
|
||||
try {
|
||||
testValid();
|
||||
testInvalid();
|
||||
} catch(e) {
|
||||
ok(false, "Got an error: " + DevToolsUtils.safeErrorString(e));
|
||||
} finally {
|
||||
SimpleTest.finish();
|
||||
}
|
||||
|
||||
function testValid() {
|
||||
let gripStub = {
|
||||
"type": "object",
|
||||
"class": "Date",
|
||||
@ -38,11 +47,28 @@ window.onload = Task.async(function* () {
|
||||
|
||||
// Test rendering
|
||||
const renderedComponent = renderComponent(DateTime.rep, { object: gripStub });
|
||||
is(renderedComponent.textContent, "2016-03-30T21:17:24.859Z", "DateTime rep has expected text content");
|
||||
} catch(e) {
|
||||
ok(false, "Got an error: " + DevToolsUtils.safeErrorString(e));
|
||||
} finally {
|
||||
SimpleTest.finish();
|
||||
is(renderedComponent.textContent, "2016-03-30T21:17:24.859Z", "DateTime rep has expected text content for valid date");
|
||||
}
|
||||
|
||||
function testInvalid() {
|
||||
let gripStub = {
|
||||
"type": "object",
|
||||
"actor": "server1.conn0.child1/obj32",
|
||||
"class": "Date",
|
||||
"extensible": true,
|
||||
"frozen": false,
|
||||
"sealed": false,
|
||||
"ownPropertyLength": 0,
|
||||
"preview": {
|
||||
"timestamp": {
|
||||
"type": "NaN"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// Test rendering
|
||||
const renderedComponent = renderComponent(DateTime.rep, { object: gripStub });
|
||||
is(renderedComponent.textContent, "Invalid Date", "DateTime rep has expected text content for invalid date");
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
Loading…
Reference in New Issue
Block a user