c2fo/nools

2014-05-18 23:19:39
error loading package.json: Error: ENOENT, open '/home/testling/projects/testling-chroot/home/c2fo/repos/b43d64f6e43866237ae984f0f8d7d1490f7ccd73.1400451577838/package.json'
2014-05-19 01:31:25
8.0
9.0
✓10.0
20.0
21.0
22.0
23.0
24.0
25.0
26.0
27.0
28.0
29.0
14.0
15.0
16.0
17.0
18.0
19.0
20.0
21.0
22.0
23.0
24.0
✓6.0
✓6.0
✓6.0
1..189 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check strict equality ok 3 constraint matcher: match: should check inequality ok 4 constraint matcher: match: should check strict inequality ok 5 constraint matcher: match: should check gt operator ok 6 constraint matcher: match: should check lt operator ok 7 constraint matcher: match: should check gte operator ok 8 constraint matcher: match: should check lte operator ok 9 constraint matcher: match: should check like operator ok 10 constraint matcher: match: should check notLike operator ok 11 constraint matcher: match: should check and operator ok 12 constraint matcher: match: should check or operator ok 13 constraint matcher: match: should check with member operator ok 14 constraint matcher: match: should check with in operator ok 15 constraint matcher: match: should check with notIn operator ok 16 constraint matcher: match: should allow properties with in ok 17 constraint matcher: match: should check with boolean associativity ok 18 constraint matcher: match: should check with nested properties ok 19 constraint matcher: match: should check with function ok 20 constraint matcher: match: should check with functions and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 22 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args ok 23 constraint matcher: match: should have date helpers ok 24 constraint matcher: match: should create have type helpers ok 25 constraint matcher: match: should check truthy statements ok 26 constraint matcher: toConstraints: should create for expressions ok 27 constraint matcher: toConstraints: should create correct pattern depending on scope ok 28 constraint matcher: toJs: should create js equvalent expression ok 29 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 30 constraint matcher: equals: should return true when equal ok 31 constraint matcher: equals: should return false when not equal ok 32 constraint matcher: .getIndexableProperties: should get properties with no functions ok 33 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 34 constraint matcher: .getIndexableProperties: should not get properties with functions ok 35 flowgetFacts: should get all facts in the session ok 36 flowgetFacts: should get all facts in the session by Type ok 37 agenda-groups: should only fire events in focused group ok 38 agenda-groups: should should treat focus like a stack ok 39 auto-focus: should activate agenda groups in proper order ok 40 async actions: should fire all rules ok 41 events: should emit when facts are asserted ok 42 events: should emit when facts are retracted ok 43 events: should emit when facts are modified ok 44 events: should emit when rules are fired ok 45 exists rule: fact assertion: should only activate once ok 46 exists rule: fact assertion: should not activate once if the fact does not exists ok 47 exists rule: fact retraction: should should handle fact retractions properly ok 48 exists rule: fact modification: should should handle fact modification properly ok 49 exists rule: with from modifier: assert: should should handle fact assertion properly ok 50 exists rule: with from modifier: retract: should should handle fact retraction properly ok 51 exists rule: with from modifier: modify: should should handle fact modification properly ok 52 from condition: with non array properties: should create the proper match contexts ok 53 from condition: with non array properties: should propagate modified facts properly ok 54 from condition: with non array properties: should retract facts properly ok 55 from condition: with js source: should create the proper match contexts ok 56 from condition: with js source: should propagate modified facts properly ok 57 from condition: with array properties: should create all cross product matches ok 58 from condition: with array properties: should retract all cross product matches ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 from condition: with not node: should only fullfill if all facts evaluate to false ok 61 matchUntilHalt: should match until halt is called ok 62 not rule: with a single fact: should call when a string that does not equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' ok 64 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 65 not rule: with multiple facts: should fire rules in order ok 66 not rule: modifying facts: should handle modifications ok 67 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 68 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 69 or rule: or rule with three conditions: should should match if one constraints matches ok 70 or rule: or rule with three conditions: should not call when none constraints match ok 71 or rule: or rule with different types: should should match if one constraints matches ok 72 or rule: or rule with different types: should not call when none constraints match ok 73 or rule: or with not conditions: should activate for each fact that does not exist ok 74 flowrule: should create a rule ok 75 flowrule: should create a rule with joins properly ok 76 flowrule: should create a rules that are dependent on eachother properly ok 77 salience: should activate in the proper order ok 78 scope option: should call when a string equals 'hello' ok 79 scope option: should call when a string equals 'world' ok 80 scope option: should not call when a string that does equal 'hello' or 'world ok 81 simple rule: should call hello world rule ok 82 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 84 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 85 Flow compiled: or rule: should call when a string equals 'hello' ok 86 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 87 Flow compiled: exists rule: should call when a string equals 'hello' ok 88 Flow compiled: exists rule: should not call when a string that does not equal 'hello' ok 89 Flow compiled: exists rule: should call when a string that does not equal 'hello' and one that does exist ok 90 Flow compiled: scoped functions: should call the scoped function ok 91 Flow compiled: events: should emit when facts are asserted ok 92 Flow compiled: events: should emit when facts are retracted ok 93 Flow compiled: events: should emit when facts are modified ok 94 Flow compiled: events: should emit when rules are fired ok 95 Flow compiled: agenda-groups: should only fire events in focused group ok 96 Flow compiled: agenda-groups: should should treat focus like a stack ok 97 Flow compiled: auto-focus: should activate agenda groups in proper order ok 98 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 99 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 100 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 101 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 102 Flow compiled: diagnosis using dsl: should treat properly ok 103 Flow compiled: getFacts from action: should get all facts ok 104 Flow compiled: getFacts from action: should get facts by type ok 105 nools dsl parser: define: should parse a define statement ok 106 nools dsl parser: define: should throw an error when the define block is missing a name ok 107 nools dsl parser: define: should throw an error for invalid define blocks ok 108 nools dsl parser: define: should throw an error when the global statement is missing a name ok 109 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 110 nools dsl parser: global: should parse a require call statement ok 111 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 112 nools dsl parser: global: should resolve relative require paths ok 113 nools dsl parser: global: should parse a member look up ok 114 nools dsl parser: global: should parse a strings ok 115 nools dsl parser: global: should parse a boolean ok 116 nools dsl parser: global: should parse numbers ok 117 nools dsl parser: global: should parse a new instantiation ok 118 nools dsl parser: function: should parse a function statement ok 119 nools dsl parser: function: should throw an error when the function block is missing a name ok 120 nools dsl parser: function: should throw an error for invalid define blocks ok 121 nools dsl parser: rule: should parse rules ok 122 nools dsl parser: rule: should throw an error for invalid rule blocks ok 123 nools dsl parser: rule: should throw an error for a missing name ok 124 nools dsl parser: rule: should parse not conditions ok 125 nools dsl parser: rule: should parse or conditions ok 126 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 127 nools dsl parser: rule: should parse when clause with from ok 128 nools dsl parser: rule: should parse rules with a string name in double quotes ok 129 nools dsl parser: rule: should parse rules with a string name in single quotes ok 130 nools dsl parser: rule: should parse rules with a string name with inner strings ok 131 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 132 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 133 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 134 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 135 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 136 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 137 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 138 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 139 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 141 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 142 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 143 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 144 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 145 nools dsl parser: rule: should throw an error for invalid when clauses ok 146 nools dsl parser: rule: should throw an error for invalid then clauses ok 147 nools dsl parser: rule: should parse rules with exists clause ok 148 A Parser: should parse valid string expressions ok 149 A Parser: should parse regexps and not be greedy ok 150 A Parser: should parse valid string expressions with functions ok 151 A Parser: should parse valid string expressions with property access ok 152 A Parser: should parse valid string expressions with boolean operators ok 153 A Parser: should handle operator associativity properly ok 154 A Parser: should parse arrays ok 155 A Parser: should parse the in operator ok 156 A Parser: should parse the notIn operator ok 157 A Parser: should parse truthy statements ok 158 Rule: createRule: with strings: should create for string ok 159 Rule: createRule: with strings: should create for String ok 160 Rule: createRule: with strings: should create for number ok 161 Rule: createRule: with strings: should create for Number ok 162 Rule: createRule: with strings: should create for date ok 163 Rule: createRule: with strings: should create for Date ok 164 Rule: createRule: with strings: should create for array ok 165 Rule: createRule: with strings: should create for Array ok 166 Rule: createRule: with strings: should create for boolean ok 167 Rule: createRule: with strings: should create for Boolean ok 168 Rule: createRule: with strings: should create for regexp ok 169 Rule: createRule: with strings: should create for Regexp ok 170 Rule: createRule: with strings: should create for object ok 171 Rule: createRule: with strings: should create for Object ok 172 Rule: createRule: with strings: should create for hash ok 173 Rule: createRule: with strings: should create for Hash ok 174 Rule: createRule: with functions: should create for String function ok 175 Rule: createRule: with functions: should create for Number function ok 176 Rule: createRule: with functions: should create for Date function ok 177 Rule: createRule: with functions: should create for [] ok 178 Rule: createRule: with functions: should create for Array function ok 179 Rule: createRule: with functions: should create for Boolean function ok 180 Rule: createRule: with functions: should create for RegExp function ok 181 Rule: createRule: with functions: should create for Object function ok 182 Rule: createRule: with functions: should create for custom functions ok 183 Rule: createRule: should create a composite rule ok 184 Rule: createRule: should create a not pattern ok 185 Rule: createRule: should create a or pattern ok 186 Rule: createRule: should include reference store in constraints ok 187 Rule: createRule: should should include from constraints ok 188 Rule: createRule: should should include from constraints ok 189 Rule: createRule: should should include exists constraints # tests 189 # pass 189 # fail 0
1..189 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check strict equality ok 3 constraint matcher: match: should check inequality ok 4 constraint matcher: match: should check strict inequality ok 5 constraint matcher: match: should check gt operator ok 6 constraint matcher: match: should check lt operator ok 7 constraint matcher: match: should check gte operator ok 8 constraint matcher: match: should check lte operator ok 9 constraint matcher: match: should check like operator ok 10 constraint matcher: match: should check notLike operator ok 11 constraint matcher: match: should check and operator ok 12 constraint matcher: match: should check or operator ok 13 constraint matcher: match: should check with member operator ok 14 constraint matcher: match: should check with in operator ok 15 constraint matcher: match: should check with notIn operator ok 16 constraint matcher: match: should allow properties with in ok 17 constraint matcher: match: should check with boolean associativity ok 18 constraint matcher: match: should check with nested properties ok 19 constraint matcher: match: should check with function ok 20 constraint matcher: match: should check with functions and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 22 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args ok 23 constraint matcher: match: should have date helpers ok 24 constraint matcher: match: should create have type helpers ok 25 constraint matcher: match: should check truthy statements ok 26 constraint matcher: toConstraints: should create for expressions ok 27 constraint matcher: toConstraints: should create correct pattern depending on scope ok 28 constraint matcher: toJs: should create js equvalent expression ok 29 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 30 constraint matcher: equals: should return true when equal ok 31 constraint matcher: equals: should return false when not equal ok 32 constraint matcher: .getIndexableProperties: should get properties with no functions ok 33 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 34 constraint matcher: .getIndexableProperties: should not get properties with functions ok 35 flowgetFacts: should get all facts in the session ok 36 flowgetFacts: should get all facts in the session by Type ok 37 agenda-groups: should only fire events in focused group ok 38 agenda-groups: should should treat focus like a stack ok 39 auto-focus: should activate agenda groups in proper order ok 40 async actions: should fire all rules ok 41 events: should emit when facts are asserted ok 42 events: should emit when facts are retracted ok 43 events: should emit when facts are modified ok 44 events: should emit when rules are fired ok 45 exists rule: fact assertion: should only activate once ok 46 exists rule: fact assertion: should not activate once if the fact does not exists ok 47 exists rule: fact retraction: should should handle fact retractions properly ok 48 exists rule: fact modification: should should handle fact modification properly ok 49 exists rule: with from modifier: assert: should should handle fact assertion properly ok 50 exists rule: with from modifier: retract: should should handle fact retraction properly ok 51 exists rule: with from modifier: modify: should should handle fact modification properly ok 52 from condition: with non array properties: should create the proper match contexts ok 53 from condition: with non array properties: should propagate modified facts properly ok 54 from condition: with non array properties: should retract facts properly ok 55 from condition: with js source: should create the proper match contexts ok 56 from condition: with js source: should propagate modified facts properly ok 57 from condition: with array properties: should create all cross product matches ok 58 from condition: with array properties: should retract all cross product matches ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 from condition: with not node: should only fullfill if all facts evaluate to false ok 61 matchUntilHalt: should match until halt is called ok 62 not rule: with a single fact: should call when a string that does not equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' ok 64 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 65 not rule: with multiple facts: should fire rules in order ok 66 not rule: modifying facts: should handle modifications ok 67 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 68 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 69 or rule: or rule with three conditions: should should match if one constraints matches ok 70 or rule: or rule with three conditions: should not call when none constraints match ok 71 or rule: or rule with different types: should should match if one constraints matches ok 72 or rule: or rule with different types: should not call when none constraints match ok 73 or rule: or with not conditions: should activate for each fact that does not exist ok 74 flowrule: should create a rule ok 75 flowrule: should create a rule with joins properly ok 76 flowrule: should create a rules that are dependent on eachother properly ok 77 salience: should activate in the proper order ok 78 scope option: should call when a string equals 'hello' ok 79 scope option: should call when a string equals 'world' ok 80 scope option: should not call when a string that does equal 'hello' or 'world ok 81 simple rule: should call hello world rule ok 82 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 84 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 85 Flow compiled: or rule: should call when a string equals 'hello' ok 86 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 87 Flow compiled: exists rule: should call when a string equals 'hello' ok 88 Flow compiled: exists rule: should not call when a string that does not equal 'hello' ok 89 Flow compiled: exists rule: should call when a string that does not equal 'hello' and one that does exist ok 90 Flow compiled: scoped functions: should call the scoped function ok 91 Flow compiled: events: should emit when facts are asserted ok 92 Flow compiled: events: should emit when facts are retracted ok 93 Flow compiled: events: should emit when facts are modified ok 94 Flow compiled: events: should emit when rules are fired ok 95 Flow compiled: agenda-groups: should only fire events in focused group ok 96 Flow compiled: agenda-groups: should should treat focus like a stack ok 97 Flow compiled: auto-focus: should activate agenda groups in proper order ok 98 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 99 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 100 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 101 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 102 Flow compiled: diagnosis using dsl: should treat properly ok 103 Flow compiled: getFacts from action: should get all facts ok 104 Flow compiled: getFacts from action: should get facts by type ok 105 nools dsl parser: define: should parse a define statement ok 106 nools dsl parser: define: should throw an error when the define block is missing a name ok 107 nools dsl parser: define: should throw an error for invalid define blocks ok 108 nools dsl parser: define: should throw an error when the global statement is missing a name ok 109 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 110 nools dsl parser: global: should parse a require call statement ok 111 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 112 nools dsl parser: global: should resolve relative require paths ok 113 nools dsl parser: global: should parse a member look up ok 114 nools dsl parser: global: should parse a strings ok 115 nools dsl parser: global: should parse a boolean ok 116 nools dsl parser: global: should parse numbers ok 117 nools dsl parser: global: should parse a new instantiation ok 118 nools dsl parser: function: should parse a function statement ok 119 nools dsl parser: function: should throw an error when the function block is missing a name ok 120 nools dsl parser: function: should throw an error for invalid define blocks ok 121 nools dsl parser: rule: should parse rules ok 122 nools dsl parser: rule: should throw an error for invalid rule blocks ok 123 nools dsl parser: rule: should throw an error for a missing name ok 124 nools dsl parser: rule: should parse not conditions ok 125 nools dsl parser: rule: should parse or conditions ok 126 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 127 nools dsl parser: rule: should parse when clause with from ok 128 nools dsl parser: rule: should parse rules with a string name in double quotes ok 129 nools dsl parser: rule: should parse rules with a string name in single quotes ok 130 nools dsl parser: rule: should parse rules with a string name with inner strings ok 131 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 132 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 133 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 134 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 135 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 136 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 137 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 138 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 139 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 141 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 142 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 143 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 144 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 145 nools dsl parser: rule: should throw an error for invalid when clauses ok 146 nools dsl parser: rule: should throw an error for invalid then clauses ok 147 nools dsl parser: rule: should parse rules with exists clause ok 148 A Parser: should parse valid string expressions ok 149 A Parser: should parse regexps and not be greedy ok 150 A Parser: should parse valid string expressions with functions ok 151 A Parser: should parse valid string expressions with property access ok 152 A Parser: should parse valid string expressions with boolean operators ok 153 A Parser: should handle operator associativity properly ok 154 A Parser: should parse arrays ok 155 A Parser: should parse the in operator ok 156 A Parser: should parse the notIn operator ok 157 A Parser: should parse truthy statements ok 158 Rule: createRule: with strings: should create for string ok 159 Rule: createRule: with strings: should create for String ok 160 Rule: createRule: with strings: should create for number ok 161 Rule: createRule: with strings: should create for Number ok 162 Rule: createRule: with strings: should create for date ok 163 Rule: createRule: with strings: should create for Date ok 164 Rule: createRule: with strings: should create for array ok 165 Rule: createRule: with strings: should create for Array ok 166 Rule: createRule: with strings: should create for boolean ok 167 Rule: createRule: with strings: should create for Boolean ok 168 Rule: createRule: with strings: should create for regexp ok 169 Rule: createRule: with strings: should create for Regexp ok 170 Rule: createRule: with strings: should create for object ok 171 Rule: createRule: with strings: should create for Object ok 172 Rule: createRule: with strings: should create for hash ok 173 Rule: createRule: with strings: should create for Hash ok 174 Rule: createRule: with functions: should create for String function ok 175 Rule: createRule: with functions: should create for Number function ok 176 Rule: createRule: with functions: should create for Date function ok 177 Rule: createRule: with functions: should create for [] ok 178 Rule: createRule: with functions: should create for Array function ok 179 Rule: createRule: with functions: should create for Boolean function ok 180 Rule: createRule: with functions: should create for RegExp function ok 181 Rule: createRule: with functions: should create for Object function ok 182 Rule: createRule: with functions: should create for custom functions ok 183 Rule: createRule: should create a composite rule ok 184 Rule: createRule: should create a not pattern ok 185 Rule: createRule: should create a or pattern ok 186 Rule: createRule: should include reference store in constraints ok 187 Rule: createRule: should should include from constraints ok 188 Rule: createRule: should should include from constraints ok 189 Rule: createRule: should should include exists constraints # tests 189 # pass 189 # fail 0
1..189 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check strict equality ok 3 constraint matcher: match: should check inequality ok 4 constraint matcher: match: should check strict inequality ok 5 constraint matcher: match: should check gt operator ok 6 constraint matcher: match: should check lt operator ok 7 constraint matcher: match: should check gte operator ok 8 constraint matcher: match: should check lte operator ok 9 constraint matcher: match: should check like operator ok 10 constraint matcher: match: should check notLike operator ok 11 constraint matcher: match: should check and operator ok 12 constraint matcher: match: should check or operator ok 13 constraint matcher: match: should check with member operator ok 14 constraint matcher: match: should check with in operator ok 15 constraint matcher: match: should check with notIn operator ok 16 constraint matcher: match: should allow properties with in ok 17 constraint matcher: match: should check with boolean associativity ok 18 constraint matcher: match: should check with nested properties ok 19 constraint matcher: match: should check with function ok 20 constraint matcher: match: should check with functions and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 22 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args ok 23 constraint matcher: match: should have date helpers ok 24 constraint matcher: match: should create have type helpers ok 25 constraint matcher: match: should check truthy statements ok 26 constraint matcher: toConstraints: should create for expressions ok 27 constraint matcher: toConstraints: should create correct pattern depending on scope ok 28 constraint matcher: toJs: should create js equvalent expression ok 29 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 30 constraint matcher: equals: should return true when equal ok 31 constraint matcher: equals: should return false when not equal ok 32 constraint matcher: .getIndexableProperties: should get properties with no functions ok 33 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 34 constraint matcher: .getIndexableProperties: should not get properties with functions ok 35 flowgetFacts: should get all facts in the session ok 36 flowgetFacts: should get all facts in the session by Type ok 37 agenda-groups: should only fire events in focused group ok 38 agenda-groups: should should treat focus like a stack ok 39 auto-focus: should activate agenda groups in proper order ok 40 async actions: should fire all rules ok 41 events: should emit when facts are asserted ok 42 events: should emit when facts are retracted ok 43 events: should emit when facts are modified ok 44 events: should emit when rules are fired ok 45 exists rule: fact assertion: should only activate once ok 46 exists rule: fact assertion: should not activate once if the fact does not exists ok 47 exists rule: fact retraction: should should handle fact retractions properly ok 48 exists rule: fact modification: should should handle fact modification properly ok 49 exists rule: with from modifier: assert: should should handle fact assertion properly ok 50 exists rule: with from modifier: retract: should should handle fact retraction properly ok 51 exists rule: with from modifier: modify: should should handle fact modification properly ok 52 from condition: with non array properties: should create the proper match contexts ok 53 from condition: with non array properties: should propagate modified facts properly ok 54 from condition: with non array properties: should retract facts properly ok 55 from condition: with js source: should create the proper match contexts ok 56 from condition: with js source: should propagate modified facts properly ok 57 from condition: with array properties: should create all cross product matches ok 58 from condition: with array properties: should retract all cross product matches ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 from condition: with not node: should only fullfill if all facts evaluate to false ok 61 matchUntilHalt: should match until halt is called ok 62 not rule: with a single fact: should call when a string that does not equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' ok 64 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 65 not rule: with multiple facts: should fire rules in order ok 66 not rule: modifying facts: should handle modifications ok 67 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 68 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 69 or rule: or rule with three conditions: should should match if one constraints matches ok 70 or rule: or rule with three conditions: should not call when none constraints match ok 71 or rule: or rule with different types: should should match if one constraints matches ok 72 or rule: or rule with different types: should not call when none constraints match ok 73 or rule: or with not conditions: should activate for each fact that does not exist ok 74 flowrule: should create a rule ok 75 flowrule: should create a rule with joins properly ok 76 flowrule: should create a rules that are dependent on eachother properly ok 77 salience: should activate in the proper order ok 78 scope option: should call when a string equals 'hello' ok 79 scope option: should call when a string equals 'world' ok 80 scope option: should not call when a string that does equal 'hello' or 'world ok 81 simple rule: should call hello world rule ok 82 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 84 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 85 Flow compiled: or rule: should call when a string equals 'hello' ok 86 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 87 Flow compiled: exists rule: should call when a string equals 'hello' ok 88 Flow compiled: exists rule: should not call when a string that does not equal 'hello' ok 89 Flow compiled: exists rule: should call when a string that does not equal 'hello' and one that does exist ok 90 Flow compiled: scoped functions: should call the scoped function ok 91 Flow compiled: events: should emit when facts are asserted ok 92 Flow compiled: events: should emit when facts are retracted ok 93 Flow compiled: events: should emit when facts are modified ok 94 Flow compiled: events: should emit when rules are fired ok 95 Flow compiled: agenda-groups: should only fire events in focused group ok 96 Flow compiled: agenda-groups: should should treat focus like a stack ok 97 Flow compiled: auto-focus: should activate agenda groups in proper order ok 98 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 99 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 100 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 101 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 102 Flow compiled: diagnosis using dsl: should treat properly ok 103 Flow compiled: getFacts from action: should get all facts ok 104 Flow compiled: getFacts from action: should get facts by type ok 105 nools dsl parser: define: should parse a define statement ok 106 nools dsl parser: define: should throw an error when the define block is missing a name ok 107 nools dsl parser: define: should throw an error for invalid define blocks ok 108 nools dsl parser: define: should throw an error when the global statement is missing a name ok 109 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 110 nools dsl parser: global: should parse a require call statement ok 111 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 112 nools dsl parser: global: should resolve relative require paths ok 113 nools dsl parser: global: should parse a member look up ok 114 nools dsl parser: global: should parse a strings ok 115 nools dsl parser: global: should parse a boolean ok 116 nools dsl parser: global: should parse numbers ok 117 nools dsl parser: global: should parse a new instantiation ok 118 nools dsl parser: function: should parse a function statement ok 119 nools dsl parser: function: should throw an error when the function block is missing a name ok 120 nools dsl parser: function: should throw an error for invalid define blocks ok 121 nools dsl parser: rule: should parse rules ok 122 nools dsl parser: rule: should throw an error for invalid rule blocks ok 123 nools dsl parser: rule: should throw an error for a missing name ok 124 nools dsl parser: rule: should parse not conditions ok 125 nools dsl parser: rule: should parse or conditions ok 126 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 127 nools dsl parser: rule: should parse when clause with from ok 128 nools dsl parser: rule: should parse rules with a string name in double quotes ok 129 nools dsl parser: rule: should parse rules with a string name in single quotes ok 130 nools dsl parser: rule: should parse rules with a string name with inner strings ok 131 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 132 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 133 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 134 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 135 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 136 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 137 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 138 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 139 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 141 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 142 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 143 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 144 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 145 nools dsl parser: rule: should throw an error for invalid when clauses ok 146 nools dsl parser: rule: should throw an error for invalid then clauses ok 147 nools dsl parser: rule: should parse rules with exists clause ok 148 A Parser: should parse valid string expressions ok 149 A Parser: should parse regexps and not be greedy ok 150 A Parser: should parse valid string expressions with functions ok 151 A Parser: should parse valid string expressions with property access ok 152 A Parser: should parse valid string expressions with boolean operators ok 153 A Parser: should handle operator associativity properly ok 154 A Parser: should parse arrays ok 155 A Parser: should parse the in operator ok 156 A Parser: should parse the notIn operator ok 157 A Parser: should parse truthy statements ok 158 Rule: createRule: with strings: should create for string ok 159 Rule: createRule: with strings: should create for String ok 160 Rule: createRule: with strings: should create for number ok 161 Rule: createRule: with strings: should create for Number ok 162 Rule: createRule: with strings: should create for date ok 163 Rule: createRule: with strings: should create for Date ok 164 Rule: createRule: with strings: should create for array ok 165 Rule: createRule: with strings: should create for Array ok 166 Rule: createRule: with strings: should create for boolean ok 167 Rule: createRule: with strings: should create for Boolean ok 168 Rule: createRule: with strings: should create for regexp ok 169 Rule: createRule: with strings: should create for Regexp ok 170 Rule: createRule: with strings: should create for object ok 171 Rule: createRule: with strings: should create for Object ok 172 Rule: createRule: with strings: should create for hash ok 173 Rule: createRule: with strings: should create for Hash ok 174 Rule: createRule: with functions: should create for String function ok 175 Rule: createRule: with functions: should create for Number function ok 176 Rule: createRule: with functions: should create for Date function ok 177 Rule: createRule: with functions: should create for [] ok 178 Rule: createRule: with functions: should create for Array function ok 179 Rule: createRule: with functions: should create for Boolean function ok 180 Rule: createRule: with functions: should create for RegExp function ok 181 Rule: createRule: with functions: should create for Object function ok 182 Rule: createRule: with functions: should create for custom functions ok 183 Rule: createRule: should create a composite rule ok 184 Rule: createRule: should create a not pattern ok 185 Rule: createRule: should create a or pattern ok 186 Rule: createRule: should include reference store in constraints ok 187 Rule: createRule: should should include from constraints ok 188 Rule: createRule: should should include from constraints ok 189 Rule: createRule: should should include exists constraints # tests 189 # pass 189 # fail 0
1..189 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check strict equality ok 3 constraint matcher: match: should check inequality ok 4 constraint matcher: match: should check strict inequality ok 5 constraint matcher: match: should check gt operator ok 6 constraint matcher: match: should check lt operator ok 7 constraint matcher: match: should check gte operator ok 8 constraint matcher: match: should check lte operator ok 9 constraint matcher: match: should check like operator ok 10 constraint matcher: match: should check notLike operator ok 11 constraint matcher: match: should check and operator ok 12 constraint matcher: match: should check or operator ok 13 constraint matcher: match: should check with member operator ok 14 constraint matcher: match: should check with in operator ok 15 constraint matcher: match: should check with notIn operator ok 16 constraint matcher: match: should allow properties with in ok 17 constraint matcher: match: should check with boolean associativity ok 18 constraint matcher: match: should check with nested properties ok 19 constraint matcher: match: should check with function ok 20 constraint matcher: match: should check with functions and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 22 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args ok 23 constraint matcher: match: should have date helpers ok 24 constraint matcher: match: should create have type helpers ok 25 constraint matcher: match: should check truthy statements ok 26 constraint matcher: toConstraints: should create for expressions ok 27 constraint matcher: toConstraints: should create correct pattern depending on scope ok 28 constraint matcher: toJs: should create js equvalent expression ok 29 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 30 constraint matcher: equals: should return true when equal ok 31 constraint matcher: equals: should return false when not equal ok 32 constraint matcher: .getIndexableProperties: should get properties with no functions ok 33 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 34 constraint matcher: .getIndexableProperties: should not get properties with functions ok 35 flowgetFacts: should get all facts in the session ok 36 flowgetFacts: should get all facts in the session by Type ok 37 agenda-groups: should only fire events in focused group ok 38 agenda-groups: should should treat focus like a stack ok 39 auto-focus: should activate agenda groups in proper order ok 40 async actions: should fire all rules ok 41 events: should emit when facts are asserted ok 42 events: should emit when facts are retracted ok 43 events: should emit when facts are modified ok 44 events: should emit when rules are fired ok 45 exists rule: fact assertion: should only activate once ok 46 exists rule: fact assertion: should not activate once if the fact does not exists ok 47 exists rule: fact retraction: should should handle fact retractions properly ok 48 exists rule: fact modification: should should handle fact modification properly ok 49 exists rule: with from modifier: assert: should should handle fact assertion properly ok 50 exists rule: with from modifier: retract: should should handle fact retraction properly ok 51 exists rule: with from modifier: modify: should should handle fact modification properly ok 52 from condition: with non array properties: should create the proper match contexts ok 53 from condition: with non array properties: should propagate modified facts properly ok 54 from condition: with non array properties: should retract facts properly ok 55 from condition: with js source: should create the proper match contexts ok 56 from condition: with js source: should propagate modified facts properly ok 57 from condition: with array properties: should create all cross product matches ok 58 from condition: with array properties: should retract all cross product matches ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 from condition: with not node: should only fullfill if all facts evaluate to false ok 61 matchUntilHalt: should match until halt is called ok 62 not rule: with a single fact: should call when a string that does not equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' ok 64 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 65 not rule: with multiple facts: should fire rules in order ok 66 not rule: modifying facts: should handle modifications ok 67 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 68 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 69 or rule: or rule with three conditions: should should match if one constraints matches ok 70 or rule: or rule with three conditions: should not call when none constraints match ok 71 or rule: or rule with different types: should should match if one constraints matches ok 72 or rule: or rule with different types: should not call when none constraints match ok 73 or rule: or with not conditions: should activate for each fact that does not exist ok 74 flowrule: should create a rule ok 75 flowrule: should create a rule with joins properly ok 76 flowrule: should create a rules that are dependent on eachother properly ok 77 salience: should activate in the proper order ok 78 scope option: should call when a string equals 'hello' ok 79 scope option: should call when a string equals 'world' ok 80 scope option: should not call when a string that does equal 'hello' or 'world ok 81 simple rule: should call hello world rule ok 82 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 84 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 85 Flow compiled: or rule: should call when a string equals 'hello' ok 86 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 87 Flow compiled: exists rule: should call when a string equals 'hello' ok 88 Flow compiled: exists rule: should not call when a string that does not equal 'hello' ok 89 Flow compiled: exists rule: should call when a string that does not equal 'hello' and one that does exist ok 90 Flow compiled: scoped functions: should call the scoped function ok 91 Flow compiled: events: should emit when facts are asserted ok 92 Flow compiled: events: should emit when facts are retracted ok 93 Flow compiled: events: should emit when facts are modified ok 94 Flow compiled: events: should emit when rules are fired ok 95 Flow compiled: agenda-groups: should only fire events in focused group ok 96 Flow compiled: agenda-groups: should should treat focus like a stack ok 97 Flow compiled: auto-focus: should activate agenda groups in proper order ok 98 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 99 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 100 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 101 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 102 Flow compiled: diagnosis using dsl: should treat properly ok 103 Flow compiled: getFacts from action: should get all facts ok 104 Flow compiled: getFacts from action: should get facts by type ok 105 nools dsl parser: define: should parse a define statement ok 106 nools dsl parser: define: should throw an error when the define block is missing a name ok 107 nools dsl parser: define: should throw an error for invalid define blocks ok 108 nools dsl parser: define: should throw an error when the global statement is missing a name ok 109 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 110 nools dsl parser: global: should parse a require call statement ok 111 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 112 nools dsl parser: global: should resolve relative require paths ok 113 nools dsl parser: global: should parse a member look up ok 114 nools dsl parser: global: should parse a strings ok 115 nools dsl parser: global: should parse a boolean ok 116 nools dsl parser: global: should parse numbers ok 117 nools dsl parser: global: should parse a new instantiation ok 118 nools dsl parser: function: should parse a function statement ok 119 nools dsl parser: function: should throw an error when the function block is missing a name ok 120 nools dsl parser: function: should throw an error for invalid define blocks ok 121 nools dsl parser: rule: should parse rules ok 122 nools dsl parser: rule: should throw an error for invalid rule blocks ok 123 nools dsl parser: rule: should throw an error for a missing name ok 124 nools dsl parser: rule: should parse not conditions ok 125 nools dsl parser: rule: should parse or conditions ok 126 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 127 nools dsl parser: rule: should parse when clause with from ok 128 nools dsl parser: rule: should parse rules with a string name in double quotes ok 129 nools dsl parser: rule: should parse rules with a string name in single quotes ok 130 nools dsl parser: rule: should parse rules with a string name with inner strings ok 131 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 132 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 133 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 134 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 135 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 136 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 137 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 138 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 139 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 141 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 142 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 143 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 144 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 145 nools dsl parser: rule: should throw an error for invalid when clauses ok 146 nools dsl parser: rule: should throw an error for invalid then clauses ok 147 nools dsl parser: rule: should parse rules with exists clause ok 148 A Parser: should parse valid string expressions ok 149 A Parser: should parse regexps and not be greedy ok 150 A Parser: should parse valid string expressions with functions ok 151 A Parser: should parse valid string expressions with property access ok 152 A Parser: should parse valid string expressions with boolean operators ok 153 A Parser: should handle operator associativity properly ok 154 A Parser: should parse arrays ok 155 A Parser: should parse the in operator ok 156 A Parser: should parse the notIn operator ok 157 A Parser: should parse truthy statements ok 158 Rule: createRule: with strings: should create for string ok 159 Rule: createRule: with strings: should create for String ok 160 Rule: createRule: with strings: should create for number ok 161 Rule: createRule: with strings: should create for Number ok 162 Rule: createRule: with strings: should create for date ok 163 Rule: createRule: with strings: should create for Date ok 164 Rule: createRule: with strings: should create for array ok 165 Rule: createRule: with strings: should create for Array ok 166 Rule: createRule: with strings: should create for boolean ok 167 Rule: createRule: with strings: should create for Boolean ok 168 Rule: createRule: with strings: should create for regexp ok 169 Rule: createRule: with strings: should create for Regexp ok 170 Rule: createRule: with strings: should create for object ok 171 Rule: createRule: with strings: should create for Object ok 172 Rule: createRule: with strings: should create for hash ok 173 Rule: createRule: with strings: should create for Hash ok 174 Rule: createRule: with functions: should create for String function ok 175 Rule: createRule: with functions: should create for Number function ok 176 Rule: createRule: with functions: should create for Date function ok 177 Rule: createRule: with functions: should create for [] ok 178 Rule: createRule: with functions: should create for Array function ok 179 Rule: createRule: with functions: should create for Boolean function ok 180 Rule: createRule: with functions: should create for RegExp function ok 181 Rule: createRule: with functions: should create for Object function ok 182 Rule: createRule: with functions: should create for custom functions ok 183 Rule: createRule: should create a composite rule ok 184 Rule: createRule: should create a not pattern ok 185 Rule: createRule: should create a or pattern ok 186 Rule: createRule: should include reference store in constraints ok 187 Rule: createRule: should should include from constraints ok 188 Rule: createRule: should should include from constraints ok 189 Rule: createRule: should should include exists constraints # tests 189 # pass 189 # fail 0
timeout waiting to hear back from iexplore/9.0
not ok 1 Error: Invalid expression 'true' on line 5647
2014-05-18 20:05:46
8.0
9.0
10.0
20.0
21.0
22.0
23.0
24.0
25.0
26.0
27.0
28.0
29.0
14.0
15.0
16.0
17.0
18.0
19.0
20.0
21.0
22.0
23.0
24.0
6.0
6.0
6.0
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers fail@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:7516 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:13941 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:17689 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12865 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12909 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:15056 run@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14468 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14665 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12865 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12909 _handler@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16312 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16393 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:10287 [native code] ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers fail@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:7516 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:13941 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:17689 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12865 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12909 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:15056 run@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14468 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14665 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12865 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12909 _handler@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16312 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16393 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:10287 [native code] ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers fail@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:7516 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:13941 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:17689 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12865 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12909 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:15056 run@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14468 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14665 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12865 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12909 _handler@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16312 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16393 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:10287 [native code] ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers [74]</</assert[k]@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:13943 [95]</</</<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:17692 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12875 hitch/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910 setUpCb/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:15094 [82]</<.instance.run@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14476 [85]</<.instance.__runAction/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14667 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12869 hitch/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910 _handler@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16314 definePromise/Promise<.instance.__callNextTick/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16394 [62]</process.nextTick</<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:10293 ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers [74]</</assert[k]@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:13943 [95]</</</<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:17692 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12875 [69]</</defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910 [89]</</setUpCb/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:15094 [82]</<.instance.run@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14476 [85]</<.instance.__runAction/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14667 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12869 [69]</</defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910 _handler@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16314 [92]</</</definePromise/Promise<.instance.__callNextTick/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16394 [62]</<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:10293 ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers [74]</</assert[k]@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:13943 [95]</</</<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:17692 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12875 [69]</</defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910 [89]</</setUpCb/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:15094 [82]</<.instance.run@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14476 [85]</<.instance.__runAction/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14667 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12869 [69]</</defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910 _handler@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16314 [92]</</</definePromise/Promise<.instance.__callNextTick/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16394 [62]</<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:10293 ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers [74]</</assert[k]@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:13943 [95]</</</<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:17692 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12875 [69]</</defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910 [89]</</setUpCb/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:15094 [82]</<.instance.run@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14476 [85]</<.instance.__runAction/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14667 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12869 [69]</</defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910 _handler@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16314 [92]</</</definePromise/Promise<.instance.__callNextTick/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16394 [62]</<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:10293 ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers [74]</</assert[k]@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:13943 [95]</</</<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:17692 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12875 [69]</</defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910 [89]</</setUpCb/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:15094 [82]</<.instance.run@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14476 [85]</<.instance.__runAction/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14667 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12869 [69]</</defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910 _handler@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16314 [92]</</</definePromise/Promise<.instance.__callNextTick/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16394 [62]</<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:10293 ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers [74]</</assert[k]@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:13943 [95]</</</<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:17692 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12875 [69]</</defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910 [89]</</setUpCb/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:15094 [82]</<.instance.run@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14476 [85]</<.instance.__runAction/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14667 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12869 [69]</</defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910 _handler@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16314 [92]</</</definePromise/Promise<.instance.__callNextTick/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16394 [62]</<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:10293 ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers [74]</</assert[k]@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:13943 [95]</</</<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:17692 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12875 [69]</</defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910 [89]</</setUpCb/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:15094 [82]</<.instance.run@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14476 [85]</<.instance.__runAction/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14667 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12869 [69]</</defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910 _handler@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16314 [92]</</</definePromise/Promise<.instance.__callNextTick/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16394 [62]</<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:10293 ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers assert[k]@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:13943 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:17692 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12875 defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910 setUpCb/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:15094 .instance.run@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14476 .instance.__runAction/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14667 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12869 defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910 _handler@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16314 definePromise/Promise<.instance.__callNextTick/<@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16394 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:10293 ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:13943 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:17692 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12875 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:15094 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14476 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14667 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12869 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910 _handler@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16314 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16394 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:10293 ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:13943 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:17692 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12875 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:15094 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14476 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14667 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12869 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910 _handler@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16314 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16394 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:10293 ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:13943 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:17692 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12875 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:15094 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14476 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14667 spreadArgs@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12869 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910 _handler@http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16314 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16394 @http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:10293 ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers AssertionError: expected false, to be true at Function.assert.(anonymous function) (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:13943:20) at null.<anonymous> (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:17692:20) at spreadArgs (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12875:25) at http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910:32 at wrapper.action (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:15094:47) at wrapper.EventEmitter.extend.instance.run (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14476:28) at wrapper.<anonymous> (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14667:28) at spreadArgs (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12869:25) at http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910:32 at _handler (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16314:29) ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers AssertionError: expected false, to be true at Function.assert.(anonymous function) (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:13943:20) at null.<anonymous> (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:17692:20) at spreadArgs (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12875:25) at http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910:32 at wrapper.action (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:15094:47) at wrapper.EventEmitter.extend.instance.run (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14476:28) at wrapper.<anonymous> (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14667:28) at spreadArgs (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12869:25) at <error: illegal access> at _handler (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16314:29) ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers AssertionError: expected false, to be true at Function.assert.(anonymous function) [as isTrue] (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:13943:20) at null.<anonymous> (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:17692:20) at spreadArgs (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12875:25) at http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910:32 at wrapper.action (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:15094:47) at wrapper.EventEmitter.extend.instance.run (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14476:28) at wrapper.<anonymous> (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14667:28) at spreadArgs (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12869:25) at http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910:32 at _handler (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16314:29) ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers AssertionError: expected false, to be true at Function.assert.(anonymous function) (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:13943:20) at null.<anonymous> (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:17692:20) at spreadArgs (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12875:25) at http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910:32 at wrapper.action (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:15094:47) at wrapper.EventEmitter.extend.instance.run (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14476:28) at wrapper.<anonymous> (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14667:28) at spreadArgs (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12869:25) at <error: illegal access> at _handler (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16314:29) ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers AssertionError: expected false, to be true at Function.assert.(anonymous function) [as isTrue] (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:13943:20) at null.<anonymous> (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:17692:20) at spreadArgs (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12875:25) at http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910:32 at wrapper.action (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:15094:47) at wrapper.EventEmitter.extend.instance.run (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14476:28) at wrapper.<anonymous> (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14667:28) at spreadArgs (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12869:25) at http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910:32 at _handler (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16314:29) ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers AssertionError: expected false, to be true at Function.assert.(anonymous function) [as isTrue] (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:13943:20) at null.<anonymous> (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:17692:20) at spreadArgs (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12875:25) at http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910:32 at wrapper.action (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:15094:47) at wrapper.EventEmitter.extend.instance.run (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14476:28) at wrapper.<anonymous> (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14667:28) at spreadArgs (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12869:25) at http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910:32 at _handler (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16314:29) ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers AssertionError: expected false, to be true at Function.assert.(anonymous function) [as isTrue] (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:13943:20) at null.<anonymous> (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:17692:20) at spreadArgs (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12875:25) at http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910:32 at wrapper.action (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:15094:47) at wrapper.EventEmitter.extend.instance.run (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14476:28) at wrapper.<anonymous> (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14667:28) at spreadArgs (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12869:25) at http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910:32 at _handler (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16314:29) ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers AssertionError: expected false, to be true at Function.assert.(anonymous function) [as isTrue] (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:13943:20) at null.<anonymous> (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:17692:20) at spreadArgs (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12875:25) at http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910:32 at wrapper.action (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:15094:47) at wrapper.EventEmitter.extend.instance.run (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14476:28) at wrapper.<anonymous> (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14667:28) at spreadArgs (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12869:25) at http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910:32 at _handler (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16314:29) ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers AssertionError: expected false, to be true at Function._.forEach.assert.(anonymous function) [as isTrue] (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:13943:20) at it.describe.it.describe.it.should.assert.isTrue.constraintMatcher.getMatcher.a (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:17692:20) at spreadArgs (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12875:25) at http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910:32 at wrapper.exports.setUpCb [as action] (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:15094:47) at wrapper.EventEmitter.extend.instance.run (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14476:28) at wrapper.EventEmitter.extend.instance.__runAction (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14667:28) at spreadArgs (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12869:25) at http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910:32 at _handler (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16314:29) ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers AssertionError: expected false, to be true at Function.isTrue (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:13943:20) at [object Object].<anonymous> (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:17692:20) at spreadArgs (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12875:25) at http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910:32 at wrapper.action (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:15094:47) at wrapper.run (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14476:28) at wrapper.<anonymous> (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14667:28) at spreadArgs (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12869:25) at http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910:32 at _handler (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:16314:29) ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers AssertionError: expected false, to be true at fail (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:7517:3) at Anonymous function (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:13943:13) at Anonymous function (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:17692:13) at spreadArgs (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12875:17) at Anonymous function (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910:25) at Anonymous function (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:15094:13) at run (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14476:17) at Anonymous function (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:14667:21) at spreadArgs (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12869:17) at Anonymous function (http://git.testling.com/work/c2fo/repos/29697cb11193e606c212e76a8c9a6e760e5a501a.1400438332445/1400438333228.e53ebba8.js:12910:25) ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
timeout waiting to hear back from iexplore/9.0
not ok 1 Error: Invalid expression 'true' on line 5612
2014-05-18 20:06:47
8.0
9.0
10.0
20.0
21.0
22.0
23.0
24.0
25.0
26.0
27.0
28.0
29.0
14.0
15.0
16.0
17.0
18.0
19.0
20.0
21.0
22.0
23.0
24.0
6.0
6.0
6.0
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers fail@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:7516 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:13941 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:17689 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12865 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12909 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:15056 run@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14468 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14665 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12865 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12909 _handler@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16312 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16393 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:10287 [native code] ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers fail@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:7516 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:13941 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:17689 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12865 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12909 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:15056 run@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14468 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14665 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12865 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12909 _handler@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16312 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16393 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:10287 [native code] ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers fail@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:7516 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:13941 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:17689 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12865 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12909 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:15056 run@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14468 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14665 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12865 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12909 _handler@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16312 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16393 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:10287 [native code] ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers [74]</</assert[k]@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:13943 [95]</</</<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:17692 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12875 hitch/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910 setUpCb/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:15094 [82]</<.instance.run@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14476 [85]</<.instance.__runAction/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14667 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12869 hitch/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910 _handler@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16314 definePromise/Promise<.instance.__callNextTick/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16394 [62]</process.nextTick</<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:10293 ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers [74]</</assert[k]@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:13943 [95]</</</<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:17692 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12875 [69]</</defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910 [89]</</setUpCb/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:15094 [82]</<.instance.run@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14476 [85]</<.instance.__runAction/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14667 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12869 [69]</</defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910 _handler@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16314 [92]</</</definePromise/Promise<.instance.__callNextTick/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16394 [62]</<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:10293 ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers [74]</</assert[k]@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:13943 [95]</</</<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:17692 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12875 [69]</</defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910 [89]</</setUpCb/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:15094 [82]</<.instance.run@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14476 [85]</<.instance.__runAction/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14667 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12869 [69]</</defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910 _handler@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16314 [92]</</</definePromise/Promise<.instance.__callNextTick/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16394 [62]</<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:10293 ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers [74]</</assert[k]@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:13943 [95]</</</<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:17692 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12875 [69]</</defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910 [89]</</setUpCb/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:15094 [82]</<.instance.run@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14476 [85]</<.instance.__runAction/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14667 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12869 [69]</</defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910 _handler@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16314 [92]</</</definePromise/Promise<.instance.__callNextTick/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16394 [62]</<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:10293 ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers [74]</</assert[k]@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:13943 [95]</</</<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:17692 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12875 [69]</</defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910 [89]</</setUpCb/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:15094 [82]</<.instance.run@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14476 [85]</<.instance.__runAction/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14667 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12869 [69]</</defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910 _handler@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16314 [92]</</</definePromise/Promise<.instance.__callNextTick/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16394 [62]</<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:10293 ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers [74]</</assert[k]@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:13943 [95]</</</<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:17692 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12875 [69]</</defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910 [89]</</setUpCb/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:15094 [82]</<.instance.run@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14476 [85]</<.instance.__runAction/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14667 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12869 [69]</</defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910 _handler@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16314 [92]</</</definePromise/Promise<.instance.__callNextTick/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16394 [62]</<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:10293 ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers [74]</</assert[k]@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:13943 [95]</</</<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:17692 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12875 [69]</</defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910 [89]</</setUpCb/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:15094 [82]</<.instance.run@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14476 [85]</<.instance.__runAction/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14667 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12869 [69]</</defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910 _handler@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16314 [92]</</</definePromise/Promise<.instance.__callNextTick/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16394 [62]</<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:10293 ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers assert[k]@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:13943 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:17692 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12875 defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910 setUpCb/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:15094 .instance.run@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14476 .instance.__runAction/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14667 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12869 defineFunction/hitch/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910 _handler@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16314 definePromise/Promise<.instance.__callNextTick/<@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16394 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:10293 ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:13943 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:17692 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12875 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:15094 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14476 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14667 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12869 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910 _handler@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16314 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16394 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:10293 ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:13943 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:17692 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12875 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:15094 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14476 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14667 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12869 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910 _handler@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16314 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16394 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:10293 ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:13943 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:17692 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12875 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:15094 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14476 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14667 spreadArgs@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12869 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910 _handler@http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16314 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16394 @http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:10293 ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers AssertionError: expected false, to be true at Function.assert.(anonymous function) (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:13943:20) at null.<anonymous> (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:17692:20) at spreadArgs (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12875:25) at http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910:32 at wrapper.action (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:15094:47) at wrapper.EventEmitter.extend.instance.run (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14476:28) at wrapper.<anonymous> (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14667:28) at spreadArgs (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12869:25) at http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910:32 at _handler (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16314:29) ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers AssertionError: expected false, to be true at Function.assert.(anonymous function) (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:13943:20) at null.<anonymous> (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:17692:20) at spreadArgs (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12875:25) at http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910:32 at wrapper.action (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:15094:47) at wrapper.EventEmitter.extend.instance.run (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14476:28) at wrapper.<anonymous> (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14667:28) at spreadArgs (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12869:25) at <error: illegal access> at _handler (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16314:29) ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers AssertionError: expected false, to be true at Function.assert.(anonymous function) [as isTrue] (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:13943:20) at null.<anonymous> (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:17692:20) at spreadArgs (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12875:25) at http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910:32 at wrapper.action (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:15094:47) at wrapper.EventEmitter.extend.instance.run (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14476:28) at wrapper.<anonymous> (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14667:28) at spreadArgs (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12869:25) at http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910:32 at _handler (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16314:29) ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers AssertionError: expected false, to be true at Function.assert.(anonymous function) (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:13943:20) at null.<anonymous> (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:17692:20) at spreadArgs (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12875:25) at http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910:32 at wrapper.action (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:15094:47) at wrapper.EventEmitter.extend.instance.run (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14476:28) at wrapper.<anonymous> (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14667:28) at spreadArgs (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12869:25) at <error: illegal access> at _handler (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16314:29) ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers AssertionError: expected false, to be true at Function.assert.(anonymous function) [as isTrue] (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:13943:20) at null.<anonymous> (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:17692:20) at spreadArgs (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12875:25) at http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910:32 at wrapper.action (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:15094:47) at wrapper.EventEmitter.extend.instance.run (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14476:28) at wrapper.<anonymous> (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14667:28) at spreadArgs (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12869:25) at http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910:32 at _handler (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16314:29) ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers AssertionError: expected false, to be true at Function.assert.(anonymous function) [as isTrue] (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:13943:20) at null.<anonymous> (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:17692:20) at spreadArgs (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12875:25) at http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910:32 at wrapper.action (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:15094:47) at wrapper.EventEmitter.extend.instance.run (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14476:28) at wrapper.<anonymous> (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14667:28) at spreadArgs (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12869:25) at http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910:32 at _handler (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16314:29) ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers AssertionError: expected false, to be true at Function.assert.(anonymous function) [as isTrue] (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:13943:20) at null.<anonymous> (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:17692:20) at spreadArgs (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12875:25) at http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910:32 at wrapper.action (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:15094:47) at wrapper.EventEmitter.extend.instance.run (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14476:28) at wrapper.<anonymous> (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14667:28) at spreadArgs (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12869:25) at http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910:32 at _handler (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16314:29) ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule: with strings: should create for date ok 159 Rule: createRule: with strings: should create for Date ok 160 Rule: createRule: with strings: should create for array ok 161 Rule: createRule: with strings: should create for Array ok 162 Rule: createRule: with strings: should create for boolean ok 163 Rule: createRule: with strings: should create for Boolean ok 164 Rule: createRule: with strings: should create for regexp ok 165 Rule: createRule: with strings: should create for Regexp ok 166 Rule: createRule: with strings: should create for object ok 167 Rule: createRule: with strings: should create for Object ok 168 Rule: createRule: with strings: should create for hash ok 169 Rule: createRule: with strings: should create for Hash ok 170 Rule: createRule: with functions: should create for String function ok 171 Rule: createRule: with functions: should create for Number function ok 172 Rule: createRule: with functions: should create for Date function ok 173 Rule: createRule: with functions: should create for [] ok 174 Rule: createRule: with functions: should create for Array function ok 175 Rule: createRule: with functions: should create for Boolean function ok 176 Rule: createRule: with functions: should create for RegExp function ok 177 Rule: createRule: with functions: should create for Object function ok 178 Rule: createRule: with functions: should create for custom functions ok 179 Rule: createRule: should create a composite rule ok 180 Rule: createRule: should create a not pattern ok 181 Rule: createRule: should create a or pattern ok 182 Rule: createRule: should include reference store in constraints ok 183 Rule: createRule: should should include from constraints ok 184 Rule: createRule: should should include from constraints ok 185 Rule: createRule: should should include exists constraints # tests 185 # pass 184 # fail 1
1..185 ok 1 constraint matcher: match: should check equality ok 2 constraint matcher: match: should check inequality ok 3 constraint matcher: match: should check gt operator ok 4 constraint matcher: match: should check lt operator ok 5 constraint matcher: match: should check gte operator ok 6 constraint matcher: match: should check lte operator ok 7 constraint matcher: match: should check lte operator ok 8 constraint matcher: match: should check like operator ok 9 constraint matcher: match: should check notLike operator ok 10 constraint matcher: match: should check and operator ok 11 constraint matcher: match: should check or operator ok 12 constraint matcher: match: should check with member operator ok 13 constraint matcher: match: should check with in operator ok 14 constraint matcher: match: should check with notIn operator ok 15 constraint matcher: match: should allow properties with in ok 16 constraint matcher: match: should check with boolean associativity ok 17 constraint matcher: match: should check with nested properties ok 18 constraint matcher: match: should check with function ok 19 constraint matcher: match: should check with functions and identifier args ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args not ok 22 constraint matcher: match: should have date helpers AssertionError: expected false, to be true at Function.assert.(anonymous function) [as isTrue] (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:13943:20) at null.<anonymous> (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:17692:20) at spreadArgs (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12875:25) at http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910:32 at wrapper.action (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:15094:47) at wrapper.EventEmitter.extend.instance.run (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14476:28) at wrapper.<anonymous> (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:14667:28) at spreadArgs (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12869:25) at http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:12910:32 at _handler (http://git.testling.com/work/c2fo/repos/878658267dbd2b5844f6e362565f48e11f3adb85.1400438293200/1400438294069.bfdcad32.js:16314:29) ok 23 constraint matcher: match: should create have type helpers ok 24 constraint matcher: match: should check truthy statements ok 25 constraint matcher: toConstraints: should create for expressions ok 26 constraint matcher: toConstraints: should create correct pattern depending on scope ok 27 constraint matcher: toJs: should create js equvalent expression ok 28 constraint matcher: getIdentifiers: should create the correct atoms for and expressions ok 29 constraint matcher: equals: should return true when equal ok 30 constraint matcher: equals: should return false when not equal ok 31 constraint matcher: .getIndexableProperties: should get properties with no functions ok 32 constraint matcher: .getIndexableProperties: should not get non indexable constraints ok 33 constraint matcher: .getIndexableProperties: should not get properties with functions ok 34 flowgetFacts: should get all facts in the session ok 35 flowgetFacts: should get all facts in the session by Type ok 36 agenda-groups: should only fire events in focused group ok 37 agenda-groups: should should treat focus like a stack ok 38 auto-focus: should activate agenda groups in proper order ok 39 async actions: should fire all rules ok 40 events: should emit when facts are asserted ok 41 events: should emit when facts are retracted ok 42 events: should emit when facts are modified ok 43 events: should emit when rules are fired ok 44 exists rule: fact assertion: should only activate once ok 45 exists rule: fact assertion: should not activate once if the fact does not exists ok 46 exists rule: fact retraction: should should handle fact retractions properly ok 47 exists rule: fact modification: should should handle fact modification properly ok 48 exists rule: with from modifier: assert: should should handle fact assertion properly ok 49 exists rule: with from modifier: retract: should should handle fact retraction properly ok 50 exists rule: with from modifier: modify: should should handle fact modification properly ok 51 from condition: with non array properties: should create the proper match contexts ok 52 from condition: with non array properties: should propagate modified facts properly ok 53 from condition: with non array properties: should retract facts properly ok 54 from condition: with js source: should create the proper match contexts ok 55 from condition: with js source: should propagate modified facts properly ok 56 from condition: with array properties: should create all cross product matches ok 57 from condition: with array properties: should retract all cross product matches ok 58 from condition: with not node: should only fullfill if all facts evaluate to false ok 59 from condition: with not node: should only fullfill if all facts evaluate to false ok 60 matchUntilHalt: should match until halt is called ok 61 not rule: with a single fact: should call when a string that does not equal 'hello' ok 62 not rule: with a single fact: should not call when a string that does equal 'hello' ok 63 not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not ok 64 not rule: with multiple facts: should fire rules in order ok 65 not rule: modifying facts: should handle modifications ok 66 or rule: or rule with two conditions of the same type: should should match if one constraints matches ok 67 or rule: or rule with two conditions of the same type: should not call when a a constraint does not match ok 68 or rule: or rule with three conditions: should should match if one constraints matches ok 69 or rule: or rule with three conditions: should not call when none constraints match ok 70 or rule: or rule with different types: should should match if one constraints matches ok 71 or rule: or rule with different types: should not call when none constraints match ok 72 or rule: or with not conditions: should activate for each fact that does not exist ok 73 flowrule: should create a rule ok 74 flowrule: should create a rule with joins properly ok 75 flowrule: should create a rules that are dependent on eachother properly ok 76 salience: should activate in the proper order ok 77 scope option: should call when a string equals 'hello' ok 78 scope option: should call when a string equals 'world' ok 79 scope option: should not call when a string that does equal 'hello' or 'world ok 80 simple rule: should call hello world rule ok 81 Flow compiled: not rule: should call when a string that does not equal 'hello' ok 82 Flow compiled: not rule: should not call when a string that does equal 'hello' ok 83 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not ok 84 Flow compiled: or rule: should call when a string equals 'hello' ok 85 Flow compiled: or rule: or rule with not conditions: should activate for each fact that does not exist ok 86 Flow compiled: scoped functions: should call the scoped function ok 87 Flow compiled: events: should emit when facts are asserted ok 88 Flow compiled: events: should emit when facts are retracted ok 89 Flow compiled: events: should emit when facts are modified ok 90 Flow compiled: events: should emit when rules are fired ok 91 Flow compiled: agenda-groups: should only fire events in focused group ok 92 Flow compiled: agenda-groups: should should treat focus like a stack ok 93 Flow compiled: auto-focus: should activate agenda groups in proper order ok 94 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3 ok 95 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4 ok 96 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5 ok 97 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6 ok 98 Flow compiled: diagnosis using dsl: should treat properly ok 99 Flow compiled: getFacts from action: should get all facts ok 100 Flow compiled: getFacts from action: should get facts by type ok 101 nools dsl parser: define: should parse a define statement ok 102 nools dsl parser: define: should throw an error when the define block is missing a name ok 103 nools dsl parser: define: should throw an error for invalid define blocks ok 104 nools dsl parser: define: should throw an error when the global statement is missing a name ok 105 nools dsl parser: define: should throw an error when the global statement is missing a ; ok 106 nools dsl parser: global: should parse a require call statement ok 107 nools dsl parser: global: should parse a require with a '.' character that is not a relative path ok 108 nools dsl parser: global: should resolve relative require paths ok 109 nools dsl parser: global: should parse a member look up ok 110 nools dsl parser: global: should parse a strings ok 111 nools dsl parser: global: should parse a boolean ok 112 nools dsl parser: global: should parse numbers ok 113 nools dsl parser: global: should parse a new instantiation ok 114 nools dsl parser: function: should parse a function statement ok 115 nools dsl parser: function: should throw an error when the function block is missing a name ok 116 nools dsl parser: function: should throw an error for invalid define blocks ok 117 nools dsl parser: rule: should parse rules ok 118 nools dsl parser: rule: should throw an error for invalid rule blocks ok 119 nools dsl parser: rule: should throw an error for a missing name ok 120 nools dsl parser: rule: should parse not conditions ok 121 nools dsl parser: rule: should parse or conditions ok 122 nools dsl parser: rule: should parse when clause with hash and constraints in any order ok 123 nools dsl parser: rule: should parse when clause with from ok 124 nools dsl parser: rule: should parse rules with a string name in double quotes ok 125 nools dsl parser: rule: should parse rules with a string name in single quotes ok 126 nools dsl parser: rule: should parse rules with a string name with inner strings ok 127 nools dsl parser: rule: salience/priority: should parse rules with a salience ok 128 nools dsl parser: rule: salience/priority: should parse rules with a priority ok 129 nools dsl parser: rule: salience/priority: should parse rules with a salience with a ; ok 130 nools dsl parser: rule: salience/priority: should parse rules with a priority with a ; ok 131 nools dsl parser: rule: salience/priority: should throw an error if the salience is not a number ok 132 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' ok 133 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agendaGroup' ok 134 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in '"' ok 135 nools dsl parser: rule: agenda-group/agendaGroup: should parse rules with a 'agenda-group' with names in "'" ok 136 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as true ok 137 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'auto-focus' as false ok 138 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as true ok 139 nools dsl parser: rule: rules with auto-focus/autoFocus: should parse rules with a 'autoFocus' as false ok 140 nools dsl parser: rule: rules with auto-focus/autoFocus: should throw errors for values other than true or false ok 141 nools dsl parser: rule: should throw an error for invalid when clauses ok 142 nools dsl parser: rule: should throw an error for invalid then clauses ok 143 nools dsl parser: rule: should parse rules with exists clause ok 144 A Parser: should parse valid string expressions ok 145 A Parser: should parse regexps and not be greedy ok 146 A Parser: should parse valid string expressions with functions ok 147 A Parser: should parse valid string expressions with property access ok 148 A Parser: should parse valid string expressions with boolean operators ok 149 A Parser: should handle operator associativity properly ok 150 A Parser: should parse arrays ok 151 A Parser: should parse the in operator ok 152 A Parser: should parse the notIn operator ok 153 A Parser: should parse truthy statements ok 154 Rule: createRule: with strings: should create for string ok 155 Rule: createRule: with strings: should create for String ok 156 Rule: createRule: with strings: should create for number ok 157 Rule: createRule: with strings: should create for Number ok 158 Rule: createRule