Skip to content

Make objectives types configurable #313

Make objectives types configurable

Make objectives types configurable #313

GitHub Actions / Mocha Tests succeeded Dec 11, 2023 in 0s

Mocha Tests ✅

Tests passed successfully

Report Passed Failed Skipped Time
/home/runner/work/syntest-javascript/syntest-javascript/libraries/analysis-javascript/test-results.json 147✅ 241ms
/home/runner/work/syntest-javascript/syntest-javascript/libraries/ast-visitor-javascript/test-results.json 1✅ 11ms
/home/runner/work/syntest-javascript/syntest-javascript/libraries/instrumentation-javascript/test-results.json 1✅ 4ms
/home/runner/work/syntest-javascript/syntest-javascript/libraries/search-javascript/test-results.json 147✅ 275ms
/home/runner/work/syntest-javascript/syntest-javascript/node_modules/@syntest/analysis-javascript/test-results.json 147✅ 241ms
/home/runner/work/syntest-javascript/syntest-javascript/node_modules/@syntest/ast-visitor-javascript/test-results.json 1✅ 11ms
/home/runner/work/syntest-javascript/syntest-javascript/node_modules/@syntest/instrumentation-javascript/test-results.json 1✅ 4ms
/home/runner/work/syntest-javascript/syntest-javascript/node_modules/@syntest/javascript/test-results.json 1✅ 1ms
/home/runner/work/syntest-javascript/syntest-javascript/node_modules/@syntest/plugin-javascript-event-listener-state-storage/test-results.json 1✅ 87ms
/home/runner/work/syntest-javascript/syntest-javascript/node_modules/@syntest/search-javascript/test-results.json 147✅ 275ms
/home/runner/work/syntest-javascript/syntest-javascript/plugins/plugin-javascript-event-listener-state-storage/test-results.json 1✅ 87ms
/home/runner/work/syntest-javascript/syntest-javascript/tools/javascript/test-results.json 1✅ 1ms

✅ /home/runner/work/syntest-javascript/syntest-javascript/libraries/analysis-javascript/test-results.json

147 tests were completed in 241ms with 147 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
libraries/analysis-javascript/test/AbstractSyntaxTreeGenerator.test.ts 1✅ 3ms
libraries/analysis-javascript/test/AbstractSyntaxTreeVisitor.test.ts 1✅ 4ms
libraries/analysis-javascript/test/cfg/ControlFlowGraphVisitor.test.ts 20✅ 73ms
libraries/analysis-javascript/test/cfg/ForControlFlowGraphVisitor.test.ts 2✅ 7ms
libraries/analysis-javascript/test/cfg/TernaryControlFlowGraphVisitor.test.ts 1✅ 3ms
libraries/analysis-javascript/test/dependency/DependencyVisitor.test.ts 8✅ 8ms
libraries/analysis-javascript/test/target/export/ExportVisitor.test.ts 67✅ 64ms
libraries/analysis-javascript/test/target/TargetFactory.test.ts 1✅ 4ms
libraries/analysis-javascript/test/target/TargetVisitor.test.ts 19✅ 23ms
libraries/analysis-javascript/test/type/ElementVisitor.test.ts 18✅ 12ms
libraries/analysis-javascript/test/type/InferenceTypeModelFactory.test.ts 1✅ 4ms
libraries/analysis-javascript/test/type/RelationVisitor.test.ts 8✅ 6ms

✅ libraries/analysis-javascript/test/AbstractSyntaxTreeGenerator.test.ts

example test
  ✅ test

✅ libraries/analysis-javascript/test/AbstractSyntaxTreeVisitor.test.ts

visitor test
  ✅ test

✅ libraries/analysis-javascript/test/cfg/ControlFlowGraphVisitor.test.ts

ControlFlowGraphVisitor test
  ✅ do while statements
  ✅ do while statements break
  ✅ do while statements continue
  ✅ do while statements if break
  ✅ do while statements without after
  ✅ do while statements without block
  ✅ for in loop
  ✅ for in loop no block
  ✅ for of loop
  ✅ for of loop no block
  ✅ function short arrow
  ✅ function simple block
  ✅ function simple block
  ✅ if block statements
  ✅ if else statements
  ✅ if statements
  ✅ simple statements
  ✅ switch
  ✅ while statements
  ✅ while statements no block

✅ libraries/analysis-javascript/test/cfg/ForControlFlowGraphVisitor.test.ts

ControlFlowGraphVisitor test for for i statements
  ✅ for i loop
  ✅ for i loop no block

✅ libraries/analysis-javascript/test/cfg/TernaryControlFlowGraphVisitor.test.ts

ControlFlowGraphVisitor test for ternary statements
  ✅ ternary statements

✅ libraries/analysis-javascript/test/dependency/DependencyVisitor.test.ts

TargetVisitor test
  ✅ basic dynamic import default computed
  ✅ basic dynamic import default computed
  ✅ basic import
  ✅ basic import default
  ✅ require import default
  ✅ require import default computed
  ✅ require import default duplicate
  ✅ require import default scoped

✅ libraries/analysis-javascript/test/target/export/ExportVisitor.test.ts

ExportVisitor test
  ✅ export all from module
  ✅ export all from module and rename
  ✅ export ArrayPattern declaration
  ✅ export ArrayPattern declaration rename
  ✅ export ArrayPattern declaration to array
  ✅ export basic declaration
  ✅ export basic specifier
  ✅ export class declaration
  ✅ export default class named
  ✅ export default class unnamed
  ✅ export default const value
  ✅ export default expression
  ✅ export default from module
  ✅ export default from module and rename
  ✅ export default function named
  ✅ export default function unnamed
  ✅ export default new expression
  ✅ export default new expression non identifier
  ✅ export default starred function named
  ✅ export default starred function unnamed
  ✅ export exports equals const
  ✅ export exports equals object expression with object method
  ✅ export exports equals object expression with object property boolean literal
  ✅ export exports equals object expression with object property number literal
  ✅ export exports equals object expression with object property rename var
  ✅ export exports equals object expression with object property string literal
  ✅ export exports equals object expression with spread element
  ✅ export exports.x equals a
  ✅ export exports.x equals const
  ✅ export exports['x'] equals a
  ✅ export exports[x] equals a
  ✅ export expression but not assignment
  ✅ export func().x equals a
  ✅ export function declaration
  ✅ export initialized declaration
  ✅ export initialized declaration renamed
  ✅ export module default
  ✅ export module default array
  ✅ export module default arrow function
  ✅ export module default identifier
  ✅ export module default named function
  ✅ export module default object
  ✅ export module default object no init
  ✅ export module default unnamed function
  ✅ export module.exports.x equals a
  ✅ export module.exports['x'] equals a
  ✅ export module.exports[x] equals a
  ✅ export module.x equals a
  ✅ export module.x.x equals a
  ✅ export module['exports'] equals a
  ✅ export module[exports] equals c
  ✅ export named default specifier
  ✅ export named specifier
  ✅ export named string specifier
  ✅ export ObjectPattern declaration
  ✅ export ObjectPattern declaration non matching props
  ✅ export ObjectPattern declaration not equal amount of properties
  ✅ export ObjectPattern declaration not equal amount of properties
  ✅ export ObjectPattern declaration rename
  ✅ export ObjectPattern declaration rest element
  ✅ export ObjectPattern declaration rest element
  ✅ export ObjectPattern declaration spread element
  ✅ export ObjectPattern declaration to object
  ✅ export short arrow
  ✅ export specific from module
  ✅ export specific from module and rename
  ✅ export starred function declaration

✅ libraries/analysis-javascript/test/target/TargetFactory.test.ts

TargetFactory
  ✅ class with getter and setters

✅ libraries/analysis-javascript/test/target/TargetVisitor.test.ts

TargetVisitor test
  ✅ ArrowFunctionExpression: as class expression property
  ✅ ArrowFunctionExpression: as class expression property where class expression is in object
  ✅ ArrowFunctionExpression: as class expression property where class expression is in object using literal
  ✅ ArrowFunctionExpression: as class expression property where class expression is in object using literal
  ✅ ArrowFunctionExpression: as class property
  ✅ ArrowFunctionExpression: as default class property
  ✅ ArrowFunctionExpression: const
  ✅ ClassDeclaration: one exported
  ✅ ClassExpression: one exported
  ✅ ClassMethod:
  ✅ FunctionDeclaration: two functions one exported
  ✅ FunctionExpression: assignment computed
  ✅ FunctionExpression: assignment memberexpression
  ✅ FunctionExpression: functions overwritten
  ✅ FunctionExpression: functions overwritten in subscope
  ✅ FunctionExpression: tree functions one exported
  ✅ ObjectFunction: assignment memberexpression using literal two
  ✅ ObjectFunction: assignment memberexpression using literal with export
  ✅ ObjectFunction: assignment memberexpression using literal with module export

✅ libraries/analysis-javascript/test/type/ElementVisitor.test.ts

ElementVisitor test
  ✅ Identifiers: Block
  ✅ Identifiers: Block reuse
  ✅ Identifiers: shadowing
  ✅ Identifiers: shadowing as function arg
  ✅ Literal: bigint
  ✅ Literal: binary number
  ✅ Literal: boolean
  ✅ Literal: decimal
  ✅ Literal: decimal number
  ✅ Literal: exponiated number
  ✅ Literal: hex number
  ✅ Literal: null
  ✅ Literal: number
  ✅ Literal: octal number
  ✅ Literal: regex
  ✅ Literal: string
  ✅ Literal: template
  ✅ Literal: undefined

✅ libraries/analysis-javascript/test/type/InferenceTypeModelFactory.test.ts

InferenceTypeModelFactory test
  ✅ Identifiers: Block

✅ libraries/analysis-javascript/test/type/RelationVisitor.test.ts

RelationVisitor test
  ✅ Assignment
  ✅ Call expression 2 args
  ✅ Call expression no args
  ✅ Function
  ✅ Function anonymous
  ✅ Function with args
  ✅ Function with return
  ✅ Object property

✅ /home/runner/work/syntest-javascript/syntest-javascript/libraries/ast-visitor-javascript/test-results.json

1 tests were completed in 11ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
libraries/ast-visitor-javascript/test/example.test.ts 1✅ 0ms

✅ libraries/ast-visitor-javascript/test/example.test.ts

example test
  ✅ test

✅ /home/runner/work/syntest-javascript/syntest-javascript/libraries/instrumentation-javascript/test-results.json

1 tests were completed in 4ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
libraries/instrumentation-javascript/test/example.test.ts 1✅ 0ms

✅ libraries/instrumentation-javascript/test/example.test.ts

example test
  ✅ test

✅ /home/runner/work/syntest-javascript/syntest-javascript/libraries/search-javascript/test-results.json

147 tests were completed in 275ms with 147 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
libraries/search-javascript/test/criterion/BranchDistanceBinaryDoubleEqual.test.ts 12✅ 44ms
libraries/search-javascript/test/criterion/BranchDistanceBinaryDoubleNotEqual.test.ts 12✅ 29ms
libraries/search-javascript/test/criterion/BranchDistanceBinaryGreater.test.ts 12✅ 18ms
libraries/search-javascript/test/criterion/BranchDistanceBinaryGreaterOrEqual.test.ts 12✅ 19ms
libraries/search-javascript/test/criterion/BranchDistanceBinaryIn.test.ts 2✅ 0ms
libraries/search-javascript/test/criterion/BranchDistanceBinarySmaller.test.ts 12✅ 16ms
libraries/search-javascript/test/criterion/BranchDistanceBinarySmallerOrEqual.test.ts 12✅ 19ms
libraries/search-javascript/test/criterion/BranchDistanceBinaryTrippleEqual.test.ts 14✅ 22ms
libraries/search-javascript/test/criterion/BranchDistanceBinaryTrippleNotEqual.test.ts 12✅ 17ms
libraries/search-javascript/test/criterion/BranchDistanceLogicalOr.test.ts 16✅ 17ms
libraries/search-javascript/test/criterion/BranchDistanceStringFunctions.test.ts 14✅ 19ms
libraries/search-javascript/test/criterion/BranchDistanceUnaryNot.test.ts 10✅ 9ms
libraries/search-javascript/test/criterion/BranchDistanceVisitor.test.ts 1✅ 0ms
libraries/search-javascript/test/criterion/RandomBranchDistanceTests.test.ts 6✅ 6ms

✅ libraries/search-javascript/test/criterion/BranchDistanceBinaryDoubleEqual.test.ts

BranchDistance a == b test
  ✅ 'a' == 'a' false
  ✅ 'a' == 'a' true
  ✅ 'a' == 'b' false
  ✅ 'a' == 'b' true
  ✅ 0 == -1 false
  ✅ 0 == -1 true
  ✅ 0 == '0' false
  ✅ 0 == '0' true
  ✅ 1 == 1 false
  ✅ 1 == 1 true
  ✅ 2 == 1 false
  ✅ 2 == 1 true

✅ libraries/search-javascript/test/criterion/BranchDistanceBinaryDoubleNotEqual.test.ts

BranchDistance a != b test
  ✅ 'a' != 'a' false
  ✅ 'a' != 'a' true
  ✅ 'a' != 'b' false
  ✅ 'a' != 'b' true
  ✅ 0 != -1 false
  ✅ 0 != -1 true
  ✅ 0 != '0' false
  ✅ 0 != '0' true
  ✅ 1 != 1 false
  ✅ 1 != 1 true
  ✅ 2 != 1 false
  ✅ 2 != 1 true

✅ libraries/search-javascript/test/criterion/BranchDistanceBinaryGreater.test.ts

BranchDistance a > b test
  ✅ 'a' > 'a' false
  ✅ 'a' > 'a' true
  ✅ 'a' > 'b' false
  ✅ 'a' > 'b' true
  ✅ 0 > -1 false
  ✅ 0 > -1 true
  ✅ 0 > '0' false
  ✅ 0 > '0' true
  ✅ 1 > 1 false
  ✅ 1 > 1 true
  ✅ 2 > 1 false
  ✅ 2 > 1 true

✅ libraries/search-javascript/test/criterion/BranchDistanceBinaryGreaterOrEqual.test.ts

BranchDistance a >= b test
  ✅ 'a' >= 'a' false
  ✅ 'a' >= 'a' true
  ✅ 'a' >= 'b' false
  ✅ 'a' >= 'b' true
  ✅ 0 >= -1 false
  ✅ 0 >= -1 true
  ✅ 0 >= '0' false
  ✅ 0 >= '0' true
  ✅ 1 >= 1 false
  ✅ 1 >= 1 true
  ✅ 2 >= 1 false
  ✅ 2 >= 1 true

✅ libraries/search-javascript/test/criterion/BranchDistanceBinaryIn.test.ts

BranchDistance a in b test
  ✅ 'a' in {'a': 0} false
  ✅ 'a' in {'a': 0} true

✅ libraries/search-javascript/test/criterion/BranchDistanceBinarySmaller.test.ts

BranchDistance a < b test
  ✅ 'a' < 'a' false
  ✅ 'a' < 'a' true
  ✅ 'a' < 'b' false
  ✅ 'a' < 'b' true
  ✅ 0 < -1 false
  ✅ 0 < -1 true
  ✅ 0 < '0' false
  ✅ 0 < '0' true
  ✅ 1 < 1 false
  ✅ 1 < 1 true
  ✅ 2 < 1 false
  ✅ 2 < 1 true

✅ libraries/search-javascript/test/criterion/BranchDistanceBinarySmallerOrEqual.test.ts

BranchDistance a <= b test
  ✅ 'a' <= 'a' false
  ✅ 'a' <= 'a' true
  ✅ 'a' <= 'b' false
  ✅ 'a' <= 'b' true
  ✅ 0 <= -1 false
  ✅ 0 <= -1 true
  ✅ 0 <= '0' false
  ✅ 0 <= '0' true
  ✅ 1 <= 1 false
  ✅ 1 <= 1 true
  ✅ 2 <= 1 false
  ✅ 2 <= 1 true

✅ libraries/search-javascript/test/criterion/BranchDistanceBinaryTrippleEqual.test.ts

BranchDistance a === b test
  ✅ 'a' === 'a' false
  ✅ 'a' === 'a' true
  ✅ 'a' === 'b' false
  ✅ 'a' === 'b' true
  ✅ 0 === -1 false
  ✅ 0 === -1 true
  ✅ 0 === '0' false
  ✅ 0 === '0' true
  ✅ 1 === 1 false
  ✅ 1 === 1 true
  ✅ 2 === 1 false
  ✅ 2 === 1 true
  ✅ typeof 1 === 'string' true
  ✅ typeof a === 'string' true

✅ libraries/search-javascript/test/criterion/BranchDistanceBinaryTrippleNotEqual.test.ts

BranchDistance a !== b test
  ✅ 'a' !== 'a' false
  ✅ 'a' !== 'a' true
  ✅ 'a' !== 'b' false
  ✅ 'a' !== 'b' true
  ✅ 0 !== -1 false
  ✅ 0 !== -1 true
  ✅ 0 !== '0' false
  ✅ 0 !== '0' true
  ✅ 1 !== 1 false
  ✅ 1 !== 1 true
  ✅ 2 !== 1 false
  ✅ 2 !== 1 true

✅ libraries/search-javascript/test/criterion/BranchDistanceLogicalOr.test.ts

BranchDistance a || b test
  ✅ 0 || 0 false
  ✅ 0 || 0 true
  ✅ 0 || 1 false
  ✅ 0 || 1 true
  ✅ 1 || 0 false
  ✅ 1 || 0 true
  ✅ 1 || 1 false
  ✅ 1 || 1 true
  ✅ false || false false
  ✅ false || false true
  ✅ false || true false
  ✅ false || true true
  ✅ true || false false
  ✅ true || false true
  ✅ true || true false
  ✅ true || true true

✅ libraries/search-javascript/test/criterion/BranchDistanceStringFunctions.test.ts

BranchDistance string functions
  ✅ 'abc'.endsWith('bc') false
  ✅ 'abc'.endsWith('bc') true
  ✅ 'abc'.endsWith('z') false
  ✅ 'abc'.endsWith('z') true
  ✅ 'abc'.includes('b') false
  ✅ 'abc'.includes('b') true
  ✅ 'abc'.includes('z') false
  ✅ 'abc'.includes('z') true
  ✅ 'abc'.startsWith('ab') false
  ✅ 'abc'.startsWith('ab') true
  ✅ 'abc'.startsWith('z') false
  ✅ 'abc'.startsWith('z') true
  ✅ 'bca'.includes('z') true
  ✅ 'cab'.includes('z') true

✅ libraries/search-javascript/test/criterion/BranchDistanceUnaryNot.test.ts

BranchDistance !a test
  ✅ !'a' false
  ✅ !'a' true
  ✅ !0 false
  ✅ !0 true
  ✅ !1 false
  ✅ !1 true
  ✅ !false false
  ✅ !false true
  ✅ !true false
  ✅ !true true

✅ libraries/search-javascript/test/criterion/BranchDistanceVisitor.test.ts

BranchDistance string functions
  ✅ 'abc'.endsWith('bc') true

✅ libraries/search-javascript/test/criterion/RandomBranchDistanceTests.test.ts

Random Tests
  ✅ a !== undefined && !b true
  ✅ args false
  ✅ args false
  ✅ cmd.options.length false
  ✅ cmd.options.length true
  ✅ option.defaultValue !== undefined && !option.negate true

✅ /home/runner/work/syntest-javascript/syntest-javascript/node_modules/@syntest/analysis-javascript/test-results.json

147 tests were completed in 241ms with 147 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
libraries/analysis-javascript/test/AbstractSyntaxTreeGenerator.test.ts 1✅ 3ms
libraries/analysis-javascript/test/AbstractSyntaxTreeVisitor.test.ts 1✅ 4ms
libraries/analysis-javascript/test/cfg/ControlFlowGraphVisitor.test.ts 20✅ 73ms
libraries/analysis-javascript/test/cfg/ForControlFlowGraphVisitor.test.ts 2✅ 7ms
libraries/analysis-javascript/test/cfg/TernaryControlFlowGraphVisitor.test.ts 1✅ 3ms
libraries/analysis-javascript/test/dependency/DependencyVisitor.test.ts 8✅ 8ms
libraries/analysis-javascript/test/target/export/ExportVisitor.test.ts 67✅ 64ms
libraries/analysis-javascript/test/target/TargetFactory.test.ts 1✅ 4ms
libraries/analysis-javascript/test/target/TargetVisitor.test.ts 19✅ 23ms
libraries/analysis-javascript/test/type/ElementVisitor.test.ts 18✅ 12ms
libraries/analysis-javascript/test/type/InferenceTypeModelFactory.test.ts 1✅ 4ms
libraries/analysis-javascript/test/type/RelationVisitor.test.ts 8✅ 6ms

✅ libraries/analysis-javascript/test/AbstractSyntaxTreeGenerator.test.ts

example test
  ✅ test

✅ libraries/analysis-javascript/test/AbstractSyntaxTreeVisitor.test.ts

visitor test
  ✅ test

✅ libraries/analysis-javascript/test/cfg/ControlFlowGraphVisitor.test.ts

ControlFlowGraphVisitor test
  ✅ do while statements
  ✅ do while statements break
  ✅ do while statements continue
  ✅ do while statements if break
  ✅ do while statements without after
  ✅ do while statements without block
  ✅ for in loop
  ✅ for in loop no block
  ✅ for of loop
  ✅ for of loop no block
  ✅ function short arrow
  ✅ function simple block
  ✅ function simple block
  ✅ if block statements
  ✅ if else statements
  ✅ if statements
  ✅ simple statements
  ✅ switch
  ✅ while statements
  ✅ while statements no block

✅ libraries/analysis-javascript/test/cfg/ForControlFlowGraphVisitor.test.ts

ControlFlowGraphVisitor test for for i statements
  ✅ for i loop
  ✅ for i loop no block

✅ libraries/analysis-javascript/test/cfg/TernaryControlFlowGraphVisitor.test.ts

ControlFlowGraphVisitor test for ternary statements
  ✅ ternary statements

✅ libraries/analysis-javascript/test/dependency/DependencyVisitor.test.ts

TargetVisitor test
  ✅ basic dynamic import default computed
  ✅ basic dynamic import default computed
  ✅ basic import
  ✅ basic import default
  ✅ require import default
  ✅ require import default computed
  ✅ require import default duplicate
  ✅ require import default scoped

✅ libraries/analysis-javascript/test/target/export/ExportVisitor.test.ts

ExportVisitor test
  ✅ export all from module
  ✅ export all from module and rename
  ✅ export ArrayPattern declaration
  ✅ export ArrayPattern declaration rename
  ✅ export ArrayPattern declaration to array
  ✅ export basic declaration
  ✅ export basic specifier
  ✅ export class declaration
  ✅ export default class named
  ✅ export default class unnamed
  ✅ export default const value
  ✅ export default expression
  ✅ export default from module
  ✅ export default from module and rename
  ✅ export default function named
  ✅ export default function unnamed
  ✅ export default new expression
  ✅ export default new expression non identifier
  ✅ export default starred function named
  ✅ export default starred function unnamed
  ✅ export exports equals const
  ✅ export exports equals object expression with object method
  ✅ export exports equals object expression with object property boolean literal
  ✅ export exports equals object expression with object property number literal
  ✅ export exports equals object expression with object property rename var
  ✅ export exports equals object expression with object property string literal
  ✅ export exports equals object expression with spread element
  ✅ export exports.x equals a
  ✅ export exports.x equals const
  ✅ export exports['x'] equals a
  ✅ export exports[x] equals a
  ✅ export expression but not assignment
  ✅ export func().x equals a
  ✅ export function declaration
  ✅ export initialized declaration
  ✅ export initialized declaration renamed
  ✅ export module default
  ✅ export module default array
  ✅ export module default arrow function
  ✅ export module default identifier
  ✅ export module default named function
  ✅ export module default object
  ✅ export module default object no init
  ✅ export module default unnamed function
  ✅ export module.exports.x equals a
  ✅ export module.exports['x'] equals a
  ✅ export module.exports[x] equals a
  ✅ export module.x equals a
  ✅ export module.x.x equals a
  ✅ export module['exports'] equals a
  ✅ export module[exports] equals c
  ✅ export named default specifier
  ✅ export named specifier
  ✅ export named string specifier
  ✅ export ObjectPattern declaration
  ✅ export ObjectPattern declaration non matching props
  ✅ export ObjectPattern declaration not equal amount of properties
  ✅ export ObjectPattern declaration not equal amount of properties
  ✅ export ObjectPattern declaration rename
  ✅ export ObjectPattern declaration rest element
  ✅ export ObjectPattern declaration rest element
  ✅ export ObjectPattern declaration spread element
  ✅ export ObjectPattern declaration to object
  ✅ export short arrow
  ✅ export specific from module
  ✅ export specific from module and rename
  ✅ export starred function declaration

✅ libraries/analysis-javascript/test/target/TargetFactory.test.ts

TargetFactory
  ✅ class with getter and setters

✅ libraries/analysis-javascript/test/target/TargetVisitor.test.ts

TargetVisitor test
  ✅ ArrowFunctionExpression: as class expression property
  ✅ ArrowFunctionExpression: as class expression property where class expression is in object
  ✅ ArrowFunctionExpression: as class expression property where class expression is in object using literal
  ✅ ArrowFunctionExpression: as class expression property where class expression is in object using literal
  ✅ ArrowFunctionExpression: as class property
  ✅ ArrowFunctionExpression: as default class property
  ✅ ArrowFunctionExpression: const
  ✅ ClassDeclaration: one exported
  ✅ ClassExpression: one exported
  ✅ ClassMethod:
  ✅ FunctionDeclaration: two functions one exported
  ✅ FunctionExpression: assignment computed
  ✅ FunctionExpression: assignment memberexpression
  ✅ FunctionExpression: functions overwritten
  ✅ FunctionExpression: functions overwritten in subscope
  ✅ FunctionExpression: tree functions one exported
  ✅ ObjectFunction: assignment memberexpression using literal two
  ✅ ObjectFunction: assignment memberexpression using literal with export
  ✅ ObjectFunction: assignment memberexpression using literal with module export

✅ libraries/analysis-javascript/test/type/ElementVisitor.test.ts

ElementVisitor test
  ✅ Identifiers: Block
  ✅ Identifiers: Block reuse
  ✅ Identifiers: shadowing
  ✅ Identifiers: shadowing as function arg
  ✅ Literal: bigint
  ✅ Literal: binary number
  ✅ Literal: boolean
  ✅ Literal: decimal
  ✅ Literal: decimal number
  ✅ Literal: exponiated number
  ✅ Literal: hex number
  ✅ Literal: null
  ✅ Literal: number
  ✅ Literal: octal number
  ✅ Literal: regex
  ✅ Literal: string
  ✅ Literal: template
  ✅ Literal: undefined

✅ libraries/analysis-javascript/test/type/InferenceTypeModelFactory.test.ts

InferenceTypeModelFactory test
  ✅ Identifiers: Block

✅ libraries/analysis-javascript/test/type/RelationVisitor.test.ts

RelationVisitor test
  ✅ Assignment
  ✅ Call expression 2 args
  ✅ Call expression no args
  ✅ Function
  ✅ Function anonymous
  ✅ Function with args
  ✅ Function with return
  ✅ Object property

✅ /home/runner/work/syntest-javascript/syntest-javascript/node_modules/@syntest/ast-visitor-javascript/test-results.json

1 tests were completed in 11ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
libraries/ast-visitor-javascript/test/example.test.ts 1✅ 0ms

✅ libraries/ast-visitor-javascript/test/example.test.ts

example test
  ✅ test

✅ /home/runner/work/syntest-javascript/syntest-javascript/node_modules/@syntest/instrumentation-javascript/test-results.json

1 tests were completed in 4ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
libraries/instrumentation-javascript/test/example.test.ts 1✅ 0ms

✅ libraries/instrumentation-javascript/test/example.test.ts

example test
  ✅ test

✅ /home/runner/work/syntest-javascript/syntest-javascript/node_modules/@syntest/javascript/test-results.json

1 tests were completed in 1ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
tools/javascript/test/example.test.ts 1✅ 0ms

✅ tools/javascript/test/example.test.ts

example test
  ✅ test

✅ /home/runner/work/syntest-javascript/syntest-javascript/node_modules/@syntest/plugin-javascript-event-listener-state-storage/test-results.json

1 tests were completed in 87ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
plugins/plugin-javascript-event-listener-state-storage/test/simulation.test.ts 1✅ 51ms

✅ plugins/plugin-javascript-event-listener-state-storage/test/simulation.test.ts

simulationTest
  ✅ SimpleTest

✅ /home/runner/work/syntest-javascript/syntest-javascript/node_modules/@syntest/search-javascript/test-results.json

147 tests were completed in 275ms with 147 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
libraries/search-javascript/test/criterion/BranchDistanceBinaryDoubleEqual.test.ts 12✅ 44ms
libraries/search-javascript/test/criterion/BranchDistanceBinaryDoubleNotEqual.test.ts 12✅ 29ms
libraries/search-javascript/test/criterion/BranchDistanceBinaryGreater.test.ts 12✅ 18ms
libraries/search-javascript/test/criterion/BranchDistanceBinaryGreaterOrEqual.test.ts 12✅ 19ms
libraries/search-javascript/test/criterion/BranchDistanceBinaryIn.test.ts 2✅ 0ms
libraries/search-javascript/test/criterion/BranchDistanceBinarySmaller.test.ts 12✅ 16ms
libraries/search-javascript/test/criterion/BranchDistanceBinarySmallerOrEqual.test.ts 12✅ 19ms
libraries/search-javascript/test/criterion/BranchDistanceBinaryTrippleEqual.test.ts 14✅ 22ms
libraries/search-javascript/test/criterion/BranchDistanceBinaryTrippleNotEqual.test.ts 12✅ 17ms
libraries/search-javascript/test/criterion/BranchDistanceLogicalOr.test.ts 16✅ 17ms
libraries/search-javascript/test/criterion/BranchDistanceStringFunctions.test.ts 14✅ 19ms
libraries/search-javascript/test/criterion/BranchDistanceUnaryNot.test.ts 10✅ 9ms
libraries/search-javascript/test/criterion/BranchDistanceVisitor.test.ts 1✅ 0ms
libraries/search-javascript/test/criterion/RandomBranchDistanceTests.test.ts 6✅ 6ms

✅ libraries/search-javascript/test/criterion/BranchDistanceBinaryDoubleEqual.test.ts

BranchDistance a == b test
  ✅ 'a' == 'a' false
  ✅ 'a' == 'a' true
  ✅ 'a' == 'b' false
  ✅ 'a' == 'b' true
  ✅ 0 == -1 false
  ✅ 0 == -1 true
  ✅ 0 == '0' false
  ✅ 0 == '0' true
  ✅ 1 == 1 false
  ✅ 1 == 1 true
  ✅ 2 == 1 false
  ✅ 2 == 1 true

✅ libraries/search-javascript/test/criterion/BranchDistanceBinaryDoubleNotEqual.test.ts

BranchDistance a != b test
  ✅ 'a' != 'a' false
  ✅ 'a' != 'a' true
  ✅ 'a' != 'b' false
  ✅ 'a' != 'b' true
  ✅ 0 != -1 false
  ✅ 0 != -1 true
  ✅ 0 != '0' false
  ✅ 0 != '0' true
  ✅ 1 != 1 false
  ✅ 1 != 1 true
  ✅ 2 != 1 false
  ✅ 2 != 1 true

✅ libraries/search-javascript/test/criterion/BranchDistanceBinaryGreater.test.ts

BranchDistance a > b test
  ✅ 'a' > 'a' false
  ✅ 'a' > 'a' true
  ✅ 'a' > 'b' false
  ✅ 'a' > 'b' true
  ✅ 0 > -1 false
  ✅ 0 > -1 true
  ✅ 0 > '0' false
  ✅ 0 > '0' true
  ✅ 1 > 1 false
  ✅ 1 > 1 true
  ✅ 2 > 1 false
  ✅ 2 > 1 true

✅ libraries/search-javascript/test/criterion/BranchDistanceBinaryGreaterOrEqual.test.ts

BranchDistance a >= b test
  ✅ 'a' >= 'a' false
  ✅ 'a' >= 'a' true
  ✅ 'a' >= 'b' false
  ✅ 'a' >= 'b' true
  ✅ 0 >= -1 false
  ✅ 0 >= -1 true
  ✅ 0 >= '0' false
  ✅ 0 >= '0' true
  ✅ 1 >= 1 false
  ✅ 1 >= 1 true
  ✅ 2 >= 1 false
  ✅ 2 >= 1 true

✅ libraries/search-javascript/test/criterion/BranchDistanceBinaryIn.test.ts

BranchDistance a in b test
  ✅ 'a' in {'a': 0} false
  ✅ 'a' in {'a': 0} true

✅ libraries/search-javascript/test/criterion/BranchDistanceBinarySmaller.test.ts

BranchDistance a < b test
  ✅ 'a' < 'a' false
  ✅ 'a' < 'a' true
  ✅ 'a' < 'b' false
  ✅ 'a' < 'b' true
  ✅ 0 < -1 false
  ✅ 0 < -1 true
  ✅ 0 < '0' false
  ✅ 0 < '0' true
  ✅ 1 < 1 false
  ✅ 1 < 1 true
  ✅ 2 < 1 false
  ✅ 2 < 1 true

✅ libraries/search-javascript/test/criterion/BranchDistanceBinarySmallerOrEqual.test.ts

BranchDistance a <= b test
  ✅ 'a' <= 'a' false
  ✅ 'a' <= 'a' true
  ✅ 'a' <= 'b' false
  ✅ 'a' <= 'b' true
  ✅ 0 <= -1 false
  ✅ 0 <= -1 true
  ✅ 0 <= '0' false
  ✅ 0 <= '0' true
  ✅ 1 <= 1 false
  ✅ 1 <= 1 true
  ✅ 2 <= 1 false
  ✅ 2 <= 1 true

✅ libraries/search-javascript/test/criterion/BranchDistanceBinaryTrippleEqual.test.ts

BranchDistance a === b test
  ✅ 'a' === 'a' false
  ✅ 'a' === 'a' true
  ✅ 'a' === 'b' false
  ✅ 'a' === 'b' true
  ✅ 0 === -1 false
  ✅ 0 === -1 true
  ✅ 0 === '0' false
  ✅ 0 === '0' true
  ✅ 1 === 1 false
  ✅ 1 === 1 true
  ✅ 2 === 1 false
  ✅ 2 === 1 true
  ✅ typeof 1 === 'string' true
  ✅ typeof a === 'string' true

✅ libraries/search-javascript/test/criterion/BranchDistanceBinaryTrippleNotEqual.test.ts

BranchDistance a !== b test
  ✅ 'a' !== 'a' false
  ✅ 'a' !== 'a' true
  ✅ 'a' !== 'b' false
  ✅ 'a' !== 'b' true
  ✅ 0 !== -1 false
  ✅ 0 !== -1 true
  ✅ 0 !== '0' false
  ✅ 0 !== '0' true
  ✅ 1 !== 1 false
  ✅ 1 !== 1 true
  ✅ 2 !== 1 false
  ✅ 2 !== 1 true

✅ libraries/search-javascript/test/criterion/BranchDistanceLogicalOr.test.ts

BranchDistance a || b test
  ✅ 0 || 0 false
  ✅ 0 || 0 true
  ✅ 0 || 1 false
  ✅ 0 || 1 true
  ✅ 1 || 0 false
  ✅ 1 || 0 true
  ✅ 1 || 1 false
  ✅ 1 || 1 true
  ✅ false || false false
  ✅ false || false true
  ✅ false || true false
  ✅ false || true true
  ✅ true || false false
  ✅ true || false true
  ✅ true || true false
  ✅ true || true true

✅ libraries/search-javascript/test/criterion/BranchDistanceStringFunctions.test.ts

BranchDistance string functions
  ✅ 'abc'.endsWith('bc') false
  ✅ 'abc'.endsWith('bc') true
  ✅ 'abc'.endsWith('z') false
  ✅ 'abc'.endsWith('z') true
  ✅ 'abc'.includes('b') false
  ✅ 'abc'.includes('b') true
  ✅ 'abc'.includes('z') false
  ✅ 'abc'.includes('z') true
  ✅ 'abc'.startsWith('ab') false
  ✅ 'abc'.startsWith('ab') true
  ✅ 'abc'.startsWith('z') false
  ✅ 'abc'.startsWith('z') true
  ✅ 'bca'.includes('z') true
  ✅ 'cab'.includes('z') true

✅ libraries/search-javascript/test/criterion/BranchDistanceUnaryNot.test.ts

BranchDistance !a test
  ✅ !'a' false
  ✅ !'a' true
  ✅ !0 false
  ✅ !0 true
  ✅ !1 false
  ✅ !1 true
  ✅ !false false
  ✅ !false true
  ✅ !true false
  ✅ !true true

✅ libraries/search-javascript/test/criterion/BranchDistanceVisitor.test.ts

BranchDistance string functions
  ✅ 'abc'.endsWith('bc') true

✅ libraries/search-javascript/test/criterion/RandomBranchDistanceTests.test.ts

Random Tests
  ✅ a !== undefined && !b true
  ✅ args false
  ✅ args false
  ✅ cmd.options.length false
  ✅ cmd.options.length true
  ✅ option.defaultValue !== undefined && !option.negate true

✅ /home/runner/work/syntest-javascript/syntest-javascript/plugins/plugin-javascript-event-listener-state-storage/test-results.json

1 tests were completed in 87ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
plugins/plugin-javascript-event-listener-state-storage/test/simulation.test.ts 1✅ 51ms

✅ plugins/plugin-javascript-event-listener-state-storage/test/simulation.test.ts

simulationTest
  ✅ SimpleTest

✅ /home/runner/work/syntest-javascript/syntest-javascript/tools/javascript/test-results.json

1 tests were completed in 1ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
tools/javascript/test/example.test.ts 1✅ 0ms

✅ tools/javascript/test/example.test.ts

example test
  ✅ test