Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F7539436
test_computed_assignment_order.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
test_computed_assignment_order.js
View Options
const
failures
=
[];
function
assertOrder
(
name
,
got
,
expected
)
{
const
ok
=
got
.
length
===
expected
.
length
&&
got
.
every
((
v
,
i
)
=>
v
===
expected
[
i
]);
if
(
!
ok
)
failures
.
push
(
`
${
name
}
: expected [
${
expected
.
join
(
', '
)
}
], got [
${
got
.
join
(
', '
)
}
]`
);
}
{
const
order
=
[];
const
base
=
{};
const
getObj
=
()
=>
{
order
.
push
(
'obj'
);
return
base
;
};
const
key
=
()
=>
{
order
.
push
(
'key'
);
return
'k'
;
};
const
rhs
=
()
=>
{
order
.
push
(
'rhs'
);
return
1
;
};
getObj
()[
key
()]
=
rhs
();
assertOrder
(
'computed assignment order'
,
order
,
[
'obj'
,
'key'
,
'rhs'
]);
}
{
const
order
=
[];
const
base
=
{};
const
getObj
=
()
=>
{
order
.
push
(
'obj'
);
return
base
;
};
const
rhs
=
()
=>
{
order
.
push
(
'rhs'
);
return
1
;
};
getObj
().
x
=
rhs
();
assertOrder
(
'named assignment order'
,
order
,
[
'obj'
,
'rhs'
]);
}
if
(
failures
.
length
)
{
console
.
log
(
'Assignment order failures:'
);
for
(
let
i
=
0
;
i
<
failures
.
length
;
i
++
)
{
console
.
log
(
`
${
i
+
1
}
.
${
failures
[
i
]
}
`
);
}
throw
new
Error
(
`Found
${
failures
.
length
}
assignment-order regression(s)`
);
}
console
.
log
(
'PASS: assignment evaluation order'
);
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Jun 17, 1:22 PM (1 d, 11 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
557659
Default Alt Text
test_computed_assignment_order.js (1 KB)
Attached To
Mode
rANT Ant
Attached
Detach File
Event Timeline
Log In to Comment