Skip to content

Commit

Permalink
Fix closure test.
Browse files Browse the repository at this point in the history
  • Loading branch information
npasserini committed Dec 29, 2024
1 parent 2e33fc7 commit d5f18ff
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 28 deletions.
2 changes: 0 additions & 2 deletions test/assertions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,6 @@ export const parserAssertions: Chai.ChaiPlugin = (chai, utils) => {

Assertion.addMethod('parsedBy', function (parser: Parser<any>) {
const result = parser.parse(this._obj)

console.log(result)

this.assert(
result.status,
Expand Down
45 changes: 19 additions & 26 deletions test/parser.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2772,32 +2772,25 @@ class c {}`
})

it('should parse malformed message sends with a closure as an argument', () => {
'm{p => p}'.should.be.parsedBy(parser)
.recoveringFrom(parse.MALFORMED_MESSAGE_SEND, 0, 1)
.into(
new Send({
receiver: new Literal({ value: null }),
message: 'm',
args: [
Closure({
parameters: [new Parameter({ name: 'p' })],
sentences: [new Return({ value: new Reference({ name: 'p' }) })],
code: '{p => p}',
}),
],
})
)
.and.to.satisfy(x => { console.log(x); return true })
.and.be.tracedTo(0, 9)
// .and.also.to.exist
// .and.also.have.nested.property('args.0').tracedTo(2, 9)
// .and.also.have.nested.property('args.0.members.0.parameters.0').tracedTo(4, 5)
// .and.also.have.nested.property('args.0.members.0.body.sentences.0.value').tracedTo(7, 8)

// expect(obj).to.exist; // Verifica que el objeto no sea null o undefined
// expect(obj).to.have.property('args'); // Verifica que 'args' existe
// expect(obj.args).to.have.lengthOf.at.least(1); // Verifica que 'args' no esté vacío
// expect(obj.args[0]).to.exist; // Verifica que 'args.0' existe
'm1 {p => p}'.should.be.parsedBy(parser)
.recoveringFrom(parse.MALFORMED_MESSAGE_SEND, 0, 2)
.into(
new Send({
receiver: new Literal({ value: null }),
message: 'm1',
args: [
Closure({
parameters: [new Parameter({ name: 'p' })],
sentences: [new Return({ value: new Reference({ name: 'p' }) })],
code: '{p => p}',
}),
],
})
)
.and.exist.tracedTo(0,11)
.and.have.nested.property('args.0').tracedTo(3, 11)
.and.also.have.nested.property('args.0.members.0.parameters.0').tracedTo(4, 5)
.and.also.have.nested.property('args.0.members.0.body.sentences.0.value').tracedTo(9, 10)
})

})
Expand Down

0 comments on commit d5f18ff

Please sign in to comment.