Skip to content

Instantly share code, notes, and snippets.

@vegarringdal
Created July 23, 2017 15:38
Show Gist options
  • Select an option

  • Save vegarringdal/566595591e4e7084b64aeac06a33610b to your computer and use it in GitHub Desktop.

Select an option

Save vegarringdal/566595591e4e7084b64aeac06a33610b to your computer and use it in GitHub Desktop.
very simple test
import {Binding} from 'mf';
// todo: finish...
export class BindingTest {
// test....
public static test() {
let object: any = {
'a': 1,
'b': 2,
'c': 3,
'd': 4,
'e': 5
};
let debug = true;
// simple tests
let expressions = '2*22+(25-3)/2';
if (Binding.getResult(expressions, object, false) !== 55) {
console.log(`${expressions} = ${Binding.getResult(expressions, object, debug)}`);
}
expressions = '(2 === 2) && (3 === 3)';
if (Binding.getResult(expressions, object, false) !== true) {
console.log(`${expressions} = ${Binding.getResult(expressions, object, debug)}`);
}
object = {
'a': 1,
'b': 2,
'c': 3,
'd': 4,
'e': 5
};
expressions = 'e*((a*(b+c))+d)';
if (Binding.getResult(expressions, object, false) !== 45) {
console.log(`${expressions} = ${Binding.getResult(expressions, object, debug)}`);
}
expressions = '4+-1';
if (Binding.getResult(expressions, object, false) !== 3) {
console.log(`${expressions} = ${Binding.getResult(expressions, object, debug)}`);
}
expressions = '(2 === 1) && (3 === 3)';
if (Binding.getResult(expressions, object, false) !== false) {
console.log(`${expressions} = ${Binding.getResult(expressions, object, debug)}`);
}
expressions = '(2 === 1) || (3 === 3)';
if (Binding.getResult(expressions, object, false) !== true) {
console.log(`${expressions} = ${Binding.getResult(expressions, object, debug)}`);
}
expressions = '-4-1';
if (Binding.getResult(expressions, object, false) !== -5) {
console.log(`${expressions} = ${Binding.getResult(expressions, object, debug)}`);
}
object = {
'a': 1,
'b': 2,
'c': 3,
'd': 4,
'e': 5
};
expressions = '(a === a) && (c === d)';
if (Binding.getResult(expressions, object, false) !== false) {
console.log(`${expressions} = ${Binding.getResult(expressions, object, debug)}`);
}
expressions = '3 - (-2)';
if (Binding.getResult(expressions, object, false) !== 5) {
console.log(`${expressions} = ${Binding.getResult(expressions, object, debug)}`);
}
object = {
firstname: undefined
};
expressions = '!firstname';
if (Binding.getResult(expressions, object, false) !== true) {
console.log(`${expressions} = ${Binding.getResult(expressions, object, debug)}`);
}
expressions = 'firstname';
if (Binding.getResult(expressions, object, false) !== undefined) {
console.log(`${expressions} = ${Binding.getResult(expressions, object, debug)}`);
}
expressions = 'firstname === undefined';
if (Binding.getResult(expressions, object, false) !== true) {
console.log(`${expressions} = ${Binding.getResult(expressions, object, debug)}`);
}
expressions = `firstname
=== null`;
if (Binding.getResult(expressions, object, false) !== false) {
let x = Binding.getResult(expressions, object, false);
console.log(`${expressions} = ${Binding.getResult(expressions, object, debug)}`);
}
object = {
firstname: null
};
expressions = 'firstname === null';
if (Binding.getResult(expressions, object, false) !== true) {
console.log(`${expressions} = ${Binding.getResult(expressions, object, debug)}`);
}
expressions = "!firstname ? 'cool':'wow'";
if (Binding.getResult(expressions, object, false) !== 'cool') {
console.log(`${expressions} = ${Binding.getResult(expressions, object, debug)}`);
}
object = {
firstname: 'somevalue'
};
expressions = "!firstname ? 'cool':'wow'";
if (Binding.getResult(expressions, object, false) !== 'wow') {
console.log(`${expressions} = ${Binding.getResult(expressions, object, debug)}`);
}
object = {
firstName: 'somevalue',
lastName: 'cool'
};
expressions = "!firstname ? 'true':'false'";
if (Binding.getResult(expressions, object, false) !== 'true') {
console.log(`${expressions} = ${Binding.getResult(expressions, object, debug)}`);
}
object = {
firstname: undefined,
lastname: 'sdsd'
};
expressions = "!firstname || !lastname ? 'You need to fill in both before I update': firstname +' '+ lastname";
if (Binding.getResult(expressions, object, false) !== 'You need to fill in both before I update') {
console.log(`${expressions} = ${Binding.getResult(expressions, object, debug)}`);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment