123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- namespace Jint.Tests.Runtime;
- public class ClassTests
- {
- [Fact]
- public void IsBlockScoped()
- {
- const string Script = @"
- class C {}
- var c1 = C;
- {
- class C {}
- var c2 = C;
- }
- return C === c1;";
- var engine = new Engine();
- Assert.True(engine.Evaluate(Script).AsBoolean());
- }
- [Fact]
- public void CanDestructureNestedMembers()
- {
- const string Script = @"
- class Board {
- constructor () {
- this.grid = {width: 10, height: 10}
- }
- get width () {
- const {grid} = this
- return grid.width
- }
- get doubleWidth () {
- const {width} = this
- return width * 2
- }
- }";
- var engine = new Engine();
- engine.Execute(Script);
- engine.Evaluate("var board = new Board()");
- Assert.Equal(10, engine.Evaluate("board.width"));
- Assert.Equal(20, engine.Evaluate("board.doubleWidth "));
- }
- }
|