How to use assertions method in Jest

Best JavaScript code snippet using jest

chai-enzyme_vx.x.x.js

Source:chai-enzyme_vx.x.x.js Github

copy

Full Screen

1// flow-typed signature: 59afcc8c3d371521197a9a9e46da9d7a2// flow-typed version: <<STUB>>/chai-enzyme_v1.0.0-beta.1/flow_v0.76.03/**4 * This is an autogenerated libdef stub for:5 *6 * 'chai-enzyme'7 *8 * Fill this stub out by replacing all the `any` types.9 *10 * Once filled out, we encourage you to share your work with the11 * community by sending a pull request to:12 * https://github.com/flowtype/flow-typed13 */14declare module 'chai-enzyme' {15 declare module.exports: any;16}17/**18 * We include stubs for each file inside this npm package in case you need to19 * require those files directly. Feel free to delete any files that aren't20 * needed.21 */22declare module 'chai-enzyme/build/assertions/checked' {23 declare module.exports: any;24}25declare module 'chai-enzyme/build/assertions/className' {26 declare module.exports: any;27}28declare module 'chai-enzyme/build/assertions/contain' {29 declare module.exports: any;30}31declare module 'chai-enzyme/build/assertions/containMatchingElement' {32 declare module.exports: any;33}34declare module 'chai-enzyme/build/assertions/descendants' {35 declare module.exports: any;36}37declare module 'chai-enzyme/build/assertions/disabled' {38 declare module.exports: any;39}40declare module 'chai-enzyme/build/assertions/empty' {41 declare module.exports: any;42}43declare module 'chai-enzyme/build/assertions/exist' {44 declare module.exports: any;45}46declare module 'chai-enzyme/build/assertions/generic' {47 declare module.exports: any;48}49declare module 'chai-enzyme/build/assertions/html' {50 declare module.exports: any;51}52declare module 'chai-enzyme/build/assertions/id' {53 declare module.exports: any;54}55declare module 'chai-enzyme/build/assertions/match' {56 declare module.exports: any;57}58declare module 'chai-enzyme/build/assertions/props' {59 declare module.exports: any;60}61declare module 'chai-enzyme/build/assertions/ref' {62 declare module.exports: any;63}64declare module 'chai-enzyme/build/assertions/selected' {65 declare module.exports: any;66}67declare module 'chai-enzyme/build/assertions/tagName' {68 declare module.exports: any;69}70declare module 'chai-enzyme/build/assertions/text' {71 declare module.exports: any;72}73declare module 'chai-enzyme/build/assertions/type' {74 declare module.exports: any;75}76declare module 'chai-enzyme/build/assertions/value' {77 declare module.exports: any;78}79declare module 'chai-enzyme/build/chains/exactly' {80 declare module.exports: any;81}82declare module 'chai-enzyme/build/ChaiWrapper' {83 declare module.exports: any;84}85declare module 'chai-enzyme/build/CheerioTestWrapper' {86 declare module.exports: any;87}88declare module 'chai-enzyme/build/debug' {89 declare module.exports: any;90}91declare module 'chai-enzyme/build/index' {92 declare module.exports: any;93}94declare module 'chai-enzyme/build/reactNodeToString' {95 declare module.exports: any;96}97declare module 'chai-enzyme/build/ReactTestWrapper' {98 declare module.exports: any;99}100declare module 'chai-enzyme/build/ShallowTestWrapper' {101 declare module.exports: any;102}103declare module 'chai-enzyme/build/TestWrapper' {104 declare module.exports: any;105}106declare module 'chai-enzyme/build/wrap' {107 declare module.exports: any;108}109declare module 'chai-enzyme/src/assertions/checked' {110 declare module.exports: any;111}112declare module 'chai-enzyme/src/assertions/className' {113 declare module.exports: any;114}115declare module 'chai-enzyme/src/assertions/contain' {116 declare module.exports: any;117}118declare module 'chai-enzyme/src/assertions/containMatchingElement' {119 declare module.exports: any;120}121declare module 'chai-enzyme/src/assertions/descendants' {122 declare module.exports: any;123}124declare module 'chai-enzyme/src/assertions/disabled' {125 declare module.exports: any;126}127declare module 'chai-enzyme/src/assertions/empty' {128 declare module.exports: any;129}130declare module 'chai-enzyme/src/assertions/exist' {131 declare module.exports: any;132}133declare module 'chai-enzyme/src/assertions/generic' {134 declare module.exports: any;135}136declare module 'chai-enzyme/src/assertions/html' {137 declare module.exports: any;138}139declare module 'chai-enzyme/src/assertions/id' {140 declare module.exports: any;141}142declare module 'chai-enzyme/src/assertions/match' {143 declare module.exports: any;144}145declare module 'chai-enzyme/src/assertions/props' {146 declare module.exports: any;147}148declare module 'chai-enzyme/src/assertions/ref' {149 declare module.exports: any;150}151declare module 'chai-enzyme/src/assertions/selected' {152 declare module.exports: any;153}154declare module 'chai-enzyme/src/assertions/tagName' {155 declare module.exports: any;156}157declare module 'chai-enzyme/src/assertions/text' {158 declare module.exports: any;159}160declare module 'chai-enzyme/src/assertions/type' {161 declare module.exports: any;162}163declare module 'chai-enzyme/src/assertions/value' {164 declare module.exports: any;165}166declare module 'chai-enzyme/src/chains/exactly' {167 declare module.exports: any;168}169declare module 'chai-enzyme/src/ChaiWrapper' {170 declare module.exports: any;171}172declare module 'chai-enzyme/src/CheerioTestWrapper' {173 declare module.exports: any;174}175declare module 'chai-enzyme/src/debug' {176 declare module.exports: any;177}178declare module 'chai-enzyme/src/index' {179 declare module.exports: any;180}181declare module 'chai-enzyme/src/reactNodeToString' {182 declare module.exports: any;183}184declare module 'chai-enzyme/src/ReactTestWrapper' {185 declare module.exports: any;186}187declare module 'chai-enzyme/src/ShallowTestWrapper' {188 declare module.exports: any;189}190declare module 'chai-enzyme/src/TestWrapper' {191 declare module.exports: any;192}193declare module 'chai-enzyme/src/wrap' {194 declare module.exports: any;195}196declare module 'chai-enzyme/test/attr.test' {197 declare module.exports: any;198}199declare module 'chai-enzyme/test/blank.test' {200 declare module.exports: any;201}202declare module 'chai-enzyme/test/checked.test' {203 declare module.exports: any;204}205declare module 'chai-enzyme/test/className.test' {206 declare module.exports: any;207}208declare module 'chai-enzyme/test/contain.test' {209 declare module.exports: any;210}211declare module 'chai-enzyme/test/containMatchingElement.test' {212 declare module.exports: any;213}214declare module 'chai-enzyme/test/data.test' {215 declare module.exports: any;216}217declare module 'chai-enzyme/test/descendants.test' {218 declare module.exports: any;219}220declare module 'chai-enzyme/test/disabled.test' {221 declare module.exports: any;222}223declare module 'chai-enzyme/test/empty.test' {224 declare module.exports: any;225}226declare module 'chai-enzyme/test/exactly.test' {227 declare module.exports: any;228}229declare module 'chai-enzyme/test/exist.test' {230 declare module.exports: any;231}232declare module 'chai-enzyme/test/html.test' {233 declare module.exports: any;234}235declare module 'chai-enzyme/test/id.test' {236 declare module.exports: any;237}238declare module 'chai-enzyme/test/inspect.test' {239 declare module.exports: any;240}241declare module 'chai-enzyme/test/match.test' {242 declare module.exports: any;243}244declare module 'chai-enzyme/test/null.test' {245 declare module.exports: any;246}247declare module 'chai-enzyme/test/present.test' {248 declare module.exports: any;249}250declare module 'chai-enzyme/test/prop.test' {251 declare module.exports: any;252}253declare module 'chai-enzyme/test/props.test' {254 declare module.exports: any;255}256declare module 'chai-enzyme/test/ref.test' {257 declare module.exports: any;258}259declare module 'chai-enzyme/test/selected.test' {260 declare module.exports: any;261}262declare module 'chai-enzyme/test/state.test' {263 declare module.exports: any;264}265declare module 'chai-enzyme/test/style.test' {266 declare module.exports: any;267}268declare module 'chai-enzyme/test/support/createTest' {269 declare module.exports: any;270}271declare module 'chai-enzyme/test/support/helper' {272 declare module.exports: any;273}274declare module 'chai-enzyme/test/tagName.test' {275 declare module.exports: any;276}277declare module 'chai-enzyme/test/text.test' {278 declare module.exports: any;279}280declare module 'chai-enzyme/test/type.test' {281 declare module.exports: any;282}283declare module 'chai-enzyme/test/value.test' {284 declare module.exports: any;285}286// Filename aliases287declare module 'chai-enzyme/build/assertions/checked.js' {288 declare module.exports: $Exports<'chai-enzyme/build/assertions/checked'>;289}290declare module 'chai-enzyme/build/assertions/className.js' {291 declare module.exports: $Exports<'chai-enzyme/build/assertions/className'>;292}293declare module 'chai-enzyme/build/assertions/contain.js' {294 declare module.exports: $Exports<'chai-enzyme/build/assertions/contain'>;295}296declare module 'chai-enzyme/build/assertions/containMatchingElement.js' {297 declare module.exports: $Exports<'chai-enzyme/build/assertions/containMatchingElement'>;298}299declare module 'chai-enzyme/build/assertions/descendants.js' {300 declare module.exports: $Exports<'chai-enzyme/build/assertions/descendants'>;301}302declare module 'chai-enzyme/build/assertions/disabled.js' {303 declare module.exports: $Exports<'chai-enzyme/build/assertions/disabled'>;304}305declare module 'chai-enzyme/build/assertions/empty.js' {306 declare module.exports: $Exports<'chai-enzyme/build/assertions/empty'>;307}308declare module 'chai-enzyme/build/assertions/exist.js' {309 declare module.exports: $Exports<'chai-enzyme/build/assertions/exist'>;310}311declare module 'chai-enzyme/build/assertions/generic.js' {312 declare module.exports: $Exports<'chai-enzyme/build/assertions/generic'>;313}314declare module 'chai-enzyme/build/assertions/html.js' {315 declare module.exports: $Exports<'chai-enzyme/build/assertions/html'>;316}317declare module 'chai-enzyme/build/assertions/id.js' {318 declare module.exports: $Exports<'chai-enzyme/build/assertions/id'>;319}320declare module 'chai-enzyme/build/assertions/match.js' {321 declare module.exports: $Exports<'chai-enzyme/build/assertions/match'>;322}323declare module 'chai-enzyme/build/assertions/props.js' {324 declare module.exports: $Exports<'chai-enzyme/build/assertions/props'>;325}326declare module 'chai-enzyme/build/assertions/ref.js' {327 declare module.exports: $Exports<'chai-enzyme/build/assertions/ref'>;328}329declare module 'chai-enzyme/build/assertions/selected.js' {330 declare module.exports: $Exports<'chai-enzyme/build/assertions/selected'>;331}332declare module 'chai-enzyme/build/assertions/tagName.js' {333 declare module.exports: $Exports<'chai-enzyme/build/assertions/tagName'>;334}335declare module 'chai-enzyme/build/assertions/text.js' {336 declare module.exports: $Exports<'chai-enzyme/build/assertions/text'>;337}338declare module 'chai-enzyme/build/assertions/type.js' {339 declare module.exports: $Exports<'chai-enzyme/build/assertions/type'>;340}341declare module 'chai-enzyme/build/assertions/value.js' {342 declare module.exports: $Exports<'chai-enzyme/build/assertions/value'>;343}344declare module 'chai-enzyme/build/chains/exactly.js' {345 declare module.exports: $Exports<'chai-enzyme/build/chains/exactly'>;346}347declare module 'chai-enzyme/build/ChaiWrapper.js' {348 declare module.exports: $Exports<'chai-enzyme/build/ChaiWrapper'>;349}350declare module 'chai-enzyme/build/CheerioTestWrapper.js' {351 declare module.exports: $Exports<'chai-enzyme/build/CheerioTestWrapper'>;352}353declare module 'chai-enzyme/build/debug.js' {354 declare module.exports: $Exports<'chai-enzyme/build/debug'>;355}356declare module 'chai-enzyme/build/index.js' {357 declare module.exports: $Exports<'chai-enzyme/build/index'>;358}359declare module 'chai-enzyme/build/reactNodeToString.js' {360 declare module.exports: $Exports<'chai-enzyme/build/reactNodeToString'>;361}362declare module 'chai-enzyme/build/ReactTestWrapper.js' {363 declare module.exports: $Exports<'chai-enzyme/build/ReactTestWrapper'>;364}365declare module 'chai-enzyme/build/ShallowTestWrapper.js' {366 declare module.exports: $Exports<'chai-enzyme/build/ShallowTestWrapper'>;367}368declare module 'chai-enzyme/build/TestWrapper.js' {369 declare module.exports: $Exports<'chai-enzyme/build/TestWrapper'>;370}371declare module 'chai-enzyme/build/wrap.js' {372 declare module.exports: $Exports<'chai-enzyme/build/wrap'>;373}374declare module 'chai-enzyme/src/assertions/checked.js' {375 declare module.exports: $Exports<'chai-enzyme/src/assertions/checked'>;376}377declare module 'chai-enzyme/src/assertions/className.js' {378 declare module.exports: $Exports<'chai-enzyme/src/assertions/className'>;379}380declare module 'chai-enzyme/src/assertions/contain.js' {381 declare module.exports: $Exports<'chai-enzyme/src/assertions/contain'>;382}383declare module 'chai-enzyme/src/assertions/containMatchingElement.js' {384 declare module.exports: $Exports<'chai-enzyme/src/assertions/containMatchingElement'>;385}386declare module 'chai-enzyme/src/assertions/descendants.js' {387 declare module.exports: $Exports<'chai-enzyme/src/assertions/descendants'>;388}389declare module 'chai-enzyme/src/assertions/disabled.js' {390 declare module.exports: $Exports<'chai-enzyme/src/assertions/disabled'>;391}392declare module 'chai-enzyme/src/assertions/empty.js' {393 declare module.exports: $Exports<'chai-enzyme/src/assertions/empty'>;394}395declare module 'chai-enzyme/src/assertions/exist.js' {396 declare module.exports: $Exports<'chai-enzyme/src/assertions/exist'>;397}398declare module 'chai-enzyme/src/assertions/generic.js' {399 declare module.exports: $Exports<'chai-enzyme/src/assertions/generic'>;400}401declare module 'chai-enzyme/src/assertions/html.js' {402 declare module.exports: $Exports<'chai-enzyme/src/assertions/html'>;403}404declare module 'chai-enzyme/src/assertions/id.js' {405 declare module.exports: $Exports<'chai-enzyme/src/assertions/id'>;406}407declare module 'chai-enzyme/src/assertions/match.js' {408 declare module.exports: $Exports<'chai-enzyme/src/assertions/match'>;409}410declare module 'chai-enzyme/src/assertions/props.js' {411 declare module.exports: $Exports<'chai-enzyme/src/assertions/props'>;412}413declare module 'chai-enzyme/src/assertions/ref.js' {414 declare module.exports: $Exports<'chai-enzyme/src/assertions/ref'>;415}416declare module 'chai-enzyme/src/assertions/selected.js' {417 declare module.exports: $Exports<'chai-enzyme/src/assertions/selected'>;418}419declare module 'chai-enzyme/src/assertions/tagName.js' {420 declare module.exports: $Exports<'chai-enzyme/src/assertions/tagName'>;421}422declare module 'chai-enzyme/src/assertions/text.js' {423 declare module.exports: $Exports<'chai-enzyme/src/assertions/text'>;424}425declare module 'chai-enzyme/src/assertions/type.js' {426 declare module.exports: $Exports<'chai-enzyme/src/assertions/type'>;427}428declare module 'chai-enzyme/src/assertions/value.js' {429 declare module.exports: $Exports<'chai-enzyme/src/assertions/value'>;430}431declare module 'chai-enzyme/src/chains/exactly.js' {432 declare module.exports: $Exports<'chai-enzyme/src/chains/exactly'>;433}434declare module 'chai-enzyme/src/ChaiWrapper.js' {435 declare module.exports: $Exports<'chai-enzyme/src/ChaiWrapper'>;436}437declare module 'chai-enzyme/src/CheerioTestWrapper.js' {438 declare module.exports: $Exports<'chai-enzyme/src/CheerioTestWrapper'>;439}440declare module 'chai-enzyme/src/debug.js' {441 declare module.exports: $Exports<'chai-enzyme/src/debug'>;442}443declare module 'chai-enzyme/src/index.js' {444 declare module.exports: $Exports<'chai-enzyme/src/index'>;445}446declare module 'chai-enzyme/src/reactNodeToString.js' {447 declare module.exports: $Exports<'chai-enzyme/src/reactNodeToString'>;448}449declare module 'chai-enzyme/src/ReactTestWrapper.js' {450 declare module.exports: $Exports<'chai-enzyme/src/ReactTestWrapper'>;451}452declare module 'chai-enzyme/src/ShallowTestWrapper.js' {453 declare module.exports: $Exports<'chai-enzyme/src/ShallowTestWrapper'>;454}455declare module 'chai-enzyme/src/TestWrapper.js' {456 declare module.exports: $Exports<'chai-enzyme/src/TestWrapper'>;457}458declare module 'chai-enzyme/src/wrap.js' {459 declare module.exports: $Exports<'chai-enzyme/src/wrap'>;460}461declare module 'chai-enzyme/test/attr.test.js' {462 declare module.exports: $Exports<'chai-enzyme/test/attr.test'>;463}464declare module 'chai-enzyme/test/blank.test.js' {465 declare module.exports: $Exports<'chai-enzyme/test/blank.test'>;466}467declare module 'chai-enzyme/test/checked.test.js' {468 declare module.exports: $Exports<'chai-enzyme/test/checked.test'>;469}470declare module 'chai-enzyme/test/className.test.js' {471 declare module.exports: $Exports<'chai-enzyme/test/className.test'>;472}473declare module 'chai-enzyme/test/contain.test.js' {474 declare module.exports: $Exports<'chai-enzyme/test/contain.test'>;475}476declare module 'chai-enzyme/test/containMatchingElement.test.js' {477 declare module.exports: $Exports<'chai-enzyme/test/containMatchingElement.test'>;478}479declare module 'chai-enzyme/test/data.test.js' {480 declare module.exports: $Exports<'chai-enzyme/test/data.test'>;481}482declare module 'chai-enzyme/test/descendants.test.js' {483 declare module.exports: $Exports<'chai-enzyme/test/descendants.test'>;484}485declare module 'chai-enzyme/test/disabled.test.js' {486 declare module.exports: $Exports<'chai-enzyme/test/disabled.test'>;487}488declare module 'chai-enzyme/test/empty.test.js' {489 declare module.exports: $Exports<'chai-enzyme/test/empty.test'>;490}491declare module 'chai-enzyme/test/exactly.test.js' {492 declare module.exports: $Exports<'chai-enzyme/test/exactly.test'>;493}494declare module 'chai-enzyme/test/exist.test.js' {495 declare module.exports: $Exports<'chai-enzyme/test/exist.test'>;496}497declare module 'chai-enzyme/test/html.test.js' {498 declare module.exports: $Exports<'chai-enzyme/test/html.test'>;499}500declare module 'chai-enzyme/test/id.test.js' {501 declare module.exports: $Exports<'chai-enzyme/test/id.test'>;502}503declare module 'chai-enzyme/test/inspect.test.js' {504 declare module.exports: $Exports<'chai-enzyme/test/inspect.test'>;505}506declare module 'chai-enzyme/test/match.test.js' {507 declare module.exports: $Exports<'chai-enzyme/test/match.test'>;508}509declare module 'chai-enzyme/test/null.test.js' {510 declare module.exports: $Exports<'chai-enzyme/test/null.test'>;511}512declare module 'chai-enzyme/test/present.test.js' {513 declare module.exports: $Exports<'chai-enzyme/test/present.test'>;514}515declare module 'chai-enzyme/test/prop.test.js' {516 declare module.exports: $Exports<'chai-enzyme/test/prop.test'>;517}518declare module 'chai-enzyme/test/props.test.js' {519 declare module.exports: $Exports<'chai-enzyme/test/props.test'>;520}521declare module 'chai-enzyme/test/ref.test.js' {522 declare module.exports: $Exports<'chai-enzyme/test/ref.test'>;523}524declare module 'chai-enzyme/test/selected.test.js' {525 declare module.exports: $Exports<'chai-enzyme/test/selected.test'>;526}527declare module 'chai-enzyme/test/state.test.js' {528 declare module.exports: $Exports<'chai-enzyme/test/state.test'>;529}530declare module 'chai-enzyme/test/style.test.js' {531 declare module.exports: $Exports<'chai-enzyme/test/style.test'>;532}533declare module 'chai-enzyme/test/support/createTest.js' {534 declare module.exports: $Exports<'chai-enzyme/test/support/createTest'>;535}536declare module 'chai-enzyme/test/support/helper.js' {537 declare module.exports: $Exports<'chai-enzyme/test/support/helper'>;538}539declare module 'chai-enzyme/test/tagName.test.js' {540 declare module.exports: $Exports<'chai-enzyme/test/tagName.test'>;541}542declare module 'chai-enzyme/test/text.test.js' {543 declare module.exports: $Exports<'chai-enzyme/test/text.test'>;544}545declare module 'chai-enzyme/test/type.test.js' {546 declare module.exports: $Exports<'chai-enzyme/test/type.test'>;547}548declare module 'chai-enzyme/test/value.test.js' {549 declare module.exports: $Exports<'chai-enzyme/test/value.test'>;...

Full Screen

Full Screen

brain.js

Source:brain.js Github

copy

Full Screen

1/*2 This file contains a small, personalized chunk of "Rensa" - a library that helps you store and reason over concepts and relationships.3*/4define([], function() {5 // A Brain contains assertions about the world.6 function Brain(){7 this.assertions = {};8 }9 // Makes a brain given a list of concepts.10 var makeBrain = function(facts){11 var brain = new Brain();12 for (var i in facts){13 brain.addAssertion(facts[i]);14 }15 return brain;16 };17 // Returns the intersection between two brains.18 Brain.prototype.intersect = function(other){19 myAsserts = this.getAssertions();20 otherAsserts = other.getAssertions();21 intersect = [];22 for (var i in myAsserts){23 for (var j in otherAsserts){24 if (myAsserts[i].equals(otherAsserts[j])){25 intersect.push(myAsserts[i]);26 }27 }28 }29 return intersect;30 };31 // True if two brains are equivalent.32 Brain.prototype.equals = function(other){33 return (this.getAssertions().length == other.getAssertions().length) && (this.intersect(other).length == this.getAssertions().length);34 };35 // Add a new assertion to the assertions list.36 Brain.prototype.addAssertion = function(a){37 if (~this.hasAssertion(a)){38 this.assertions[Object.keys(this.assertions).length] = new Assertion(a);39 return true;40 }41 return false;42 };43 // Check if an assertion is already part of this Brain object's assertions list.44 Brain.prototype.hasAssertion = function(a){45 var assert = new Assertion(a);46 for (var i in this.assertions){47 if (this.assertions[i].equals(assert)){return true;}48 }49 return false;50 };51 // Returns an array containing all assertions.52 Brain.prototype.getAssertions = function(){53 return $.map(this.assertions, function(value, key) { return value });54 };55 // Remove an assertion from the assertions list.56 Brain.prototype.removeAssertion = function(a) {57 var assert = new Assertion(a);58 var removeKeys = [];59 for (var i in this.assertions){60 if (this.assertions[i].equals(assert)){61 removeKeys.push(i);62 }63 }64 for(var r=0;r<removeKeys.length;r++){65 delete this.assertions[r];66 }67 };68 // Remove an assertion by ID.69 Brain.prototype.removeAssertionWithID = function(idn) {70 delete this.assertions[idn];71 };72 // Returns an assertion's ID.73 Brain.prototype.getAssertionID = function(a){74 var assert = new Assertion(a);75 for (var i in this.assertions){76 if (JSON.stringify(this.assertions[i])===JSON.stringify(assert)){return i;}77 }78 return false;79 };80 // Remove an assertion by ID.81 Brain.prototype.getAssertionByID = function(idn) {82 return this.assertions[idn];83 };84 // Edit any attribute of an assertion to have a new value.85 Brain.prototype.editAssertion = function(idn,attr,value) {86 this.assertions[idn][attr] = value;87 };88 // Remove an assertion's property.89 Brain.prototype.removeAssertionProperty = function(idn,propertyName) {90 delete this.assertions[idn][propertyName];91 };92 // Returns list of all assertions IDs with the specified values for attributes.93 Brain.prototype.getAssertionsWith = function(d){94 var l = [];95 var flag;96 for (var i in this.assertions){97 flag = true;98 for (var key in d){99 for(var j=0; j<d[key].length;j++){100 if (this.assertions[i].hasOwnProperty(key)){101 // Not viable for old versions of IE.102 if ((this.assertions[i][key]).indexOf(d[key][j]) == -1){103 flag = false;104 }105 }106 else{107 flag=false;108 }109 }110 }111 if (flag){112 l.push(i);113 }114 }115 return l;116 };117 // Takes in a string concept, and returns a list of all118 // assertions that involve that concept, and how they are related.119 // Example:120 // If concept is "prince" and prince instance_of actor, returns121 // [ [{"l":["prince"], "relation":"instance_of", "r":["actor"]}, "l"] ]122 Brain.prototype.getAssertionsRelatedTo = function(concept){123 var l = [];124 for (var i in this.assertions){125 // For each property in the current assertion,126 for (var property in this.assertions[i]) {127 if (this.assertions[i].hasOwnProperty(property) && this.assertions[i][property]) {128 // If the value of that property is an array with at least one element129 if (this.assertions[i][property] instanceof Array && this.assertions[i][property].length > 0){130 // If the value of the current assertion's property131 // contains concept,132 if (this.assertions[i][property].indexOf(concept) != -1){133 // Add this assertion and the property to the list.134 l.push([this.assertions[i], property]);135 }136 }137 // If the value of that property is a string,138 else if(typeof this.assertions[i][property] === 'string' || this.assertions[i][property] instanceof String){139 // If the value of the current assertion's property140 // is concept,141 if (this.assertions[i][property] == concept){142 // Add this assertion and the property to the list.143 l.push([this.assertions[i], property]);144 }145 }146 else{147 if (isNaN(parseFloat(this.assertions[i][property]))){148 console.log("Warning: type of " + this.assertions[i][property] + " is not string, array, or number.");149 }150 }151 }152 }153 }154 return l;155 }156 // Returns list of all assertion ids that have the specified tag.157 Brain.prototype.getAssertionsWithTag = function(t){158 var l = [];159 for (var i in this.assertions){160 if ("tag" in this.assertions[i]){161 if (this.assertions[i]["tag"] != null){162 // Not viable for old versions of IE.163 var idx = this.assertions[i]["tag"].indexOf(t);164 if (idx != null){165 if (idx > -1) {166 l.push(i);167 }168 }169 }170 }171 }172 return l;173 };174 // For every id in ids, find the list of strings for175 // a given concept. Return an array with all elements of176 // those lists.177 Brain.prototype.getConceptList = function(ids, concept){178 var result = [];179 for(var i in ids){180 for (var x in this.getAssertionByID(ids[i])[concept]){181 result.push(this.getAssertionByID(ids[i])[concept][x]);182 }183 }184 return result;185 }186 // Given an array of strings that represent groups,187 // return a list of the individuals that make up those groups.188 // Example: getIndivs(["woman"]) for Beauty and the Beast returns189 // ["Belle", "Mrs. Potts", "Babette", "The Wardrobe", "Claudette",190 // "Laurette", "Paulette", "Enchantress"] if they are all categorized as a woman.191 Brain.prototype.getIndivs = function(group){192 var indivs = [];193 var flag = true;194 var g;195 if (group.constructor === Array){196 while(flag){197 flag = false;198 tempGroup = [];199 for(g in group){200 var ids = this.getAssertionsWith({"relation":"type_of","r":[group[g]]});201 if (ids.length > 0){202 tempGroup.push.apply(tempGroup, this.getConceptList(ids,"l"));203 flag = true;204 }205 else{206 indivs.push(group[g]);207 }208 }209 group = tempGroup;210 }211 return indivs;212 }213 else{214 console.log("Error: you should be passing in an array of strings to getIndivs().")215 return false;216 }217 };218 // Print all known assertions.219 Brain.prototype.print = function(){220 for (var i in this.assertions){221 // console.log(JSON.stringify(this.assertions[i]));222 }223 };224 // Print all known assertions, prettily.225 Brain.prototype.prettyprint = function(){226 for (var i in this.assertions){227 _prettyprint(this.assertions[i], true);228 }229 };230 var _prettyprint = function(a, printAllProperties){231 var flag=false;232 // console.log(JSON.stringify(a["l"]) +" "+ a["relation"] +" "+ JSON.stringify(a["r"]));233 if (printAllProperties){234 for (var p in a) {235 if (a.hasOwnProperty(p) && p!="l" && p!="relation" && p!="r" && typeof a[p]!=="function") {236 flag=true;237 // console.log("\t"+p+": " + JSON.stringify(a[p]));238 }239 }240 }241 //if (flag){console.log("");}242 return JSON.stringify(a["l"]) +" "+ a["relation"] +" "+ JSON.stringify(a["r"]);243 }244 // Return a clone of a brain.245 Brain.prototype.clone = function(){246 return makeBrain(this.assertions);247 }248 // Assertions are links between two concepts.249 function Assertion(attributes){250 this.l = this.addRequiredProperty("l", attributes);251 this.relation = this.addRequiredProperty("relation", attributes);252 this.r = this.addRequiredProperty("r", attributes);253 // Add all remaining optional properties.254 for (var property in attributes){255 if (attributes.hasOwnProperty(property)) {256 this[property] = this.addOptionalProperty(property,attributes,undefined);257 }258 }259 }260 // Check if another array is equivalent to this one.261 Assertion.prototype.equals = function(other){262 if (other instanceof Assertion){263 for (var property in this) {264 if (this.hasOwnProperty(property)) {265 if (other.hasOwnProperty(property)) {266 if (!(JSON.stringify(other[property]) === JSON.stringify(this[property]))) {267 if (!(arraysEqual(other[property],this[property]))){268 return false;269 }270 }271 }272 else{273 return false;274 }275 }276 }277 }278 return true;279 };280 Assertion.prototype.stringify = function(){281 return JSON.stringify(this);282 };283 Assertion.prototype.clone = function(){284 return JSON.parse(JSON.stringify(this));285 };286 // Helper for Assertion.prototype.equals.287 // Determines if two arrays are equal.288 var arraysEqual=function(a, b) {289 if (a.constructor === Array && b.constructor === Array){290 if (a === b) return true;291 if (a == null || b == null) return false;292 if (a.length != b.length) return false;293 a = a.sort();294 b = b.sort();295 for (var i = 0; i < a.length; ++i) {296 if (a[i] !== b[i]) return false;297 }298 return true;299 }300 return false;301 };302 // Helper function for assigning mandatory attributes.303 Assertion.prototype.addRequiredProperty = function(propertyName,attributesList){304 // Check if assertion has the property.305 if (propertyName in attributesList){306 return attributesList[propertyName];307 }308 // console.log("Warning: no " + propertyName + " property in assertion: \n" + JSON.stringify(attributesList) + "\n");309 return null;310 };311 // Helper function for assigning optional attributes.312 Assertion.prototype.addOptionalProperty = function(propertyName,attributesList,defaultValue){313 // Check if assertion has the property.314 if (propertyName in attributesList){315 return attributesList[propertyName];316 }317 return defaultValue;318 };319 // Checks if an array contains an object.320 var containsObj=function(obj, list) {321 var i;322 for (i = 0; i < list.length; i++) {323 if (JSON.stringify(obj) === JSON.stringify(list[i])) {324 return true;325 }326 }327 return false;328 }329 // Finds the intersection of two arrays.330 // Note: this will not work with objects.331 function intersect(a, b) {332 var t;333 if (b.length > a.length) t = b, b = a, a = t; // indexOf to loop over shorter334 return a335 .filter(function (e) {336 if (b.indexOf(e) !== -1) return true;337 })338 .filter(function (e, i, c) { // extra step to remove duplicates339 return c.indexOf(e) === i;340 });341 };342 return {343 makeBrain : makeBrain,344 arraysEqual : arraysEqual,345 prettyprint : _prettyprint,346 containsObj : containsObj347 }...

Full Screen

Full Screen

step_plot_per_series.js

Source:step_plot_per_series.js Github

copy

Full Screen

1/**2 * @fileoverview Test cases for the option "stepPlot" especially for the scenario where the option is not set for the whole graph but for single series.3 *4 * @author julian.eichstaedt@ch.sauter-bc.com (Fr. Sauter AG)5 */6var StepTestCase = TestCase("step-plot-per-series");7StepTestCase.prototype.setUp = function() {8 document.body.innerHTML = "<div id='graph'></div>";9};10StepTestCase.origFunc = Dygraph.getContext;11StepTestCase.prototype.setUp = function() {12 document.body.innerHTML = "<div id='graph'></div>";13 Dygraph.getContext = function(canvas) {14 return new Proxy(StepTestCase.origFunc(canvas));15 };16};17StepTestCase.prototype.tearDown = function() {18 Dygraph.getContext = StepTestCase.origFunc;19};20StepTestCase.prototype.testMixedModeStepAndLineFilled = function() {21 var opts = {22 width: 480,23 height: 320,24 drawXGrid: false,25 drawYGrid: false,26 drawXAxis: false,27 drawYAxis: false,28 errorBars: false,29 labels: ["X", "Idle", "Used"],30 series: {31 Idle: {stepPlot: false},32 Used: {stepPlot: true}33 },34 fillGraph: true,35 stackedGraph: false,36 includeZero: true37 };38 var data = [39 [1, 70,30],40 [2, 12,88],41 [3, 88,12],42 [4, 63,37],43 [5, 35,65]44 ];45 var graph = document.getElementById("graph");46 var g = new Dygraph(graph, data, opts);47 htx = g.hidden_ctx_;48 var attrs = {}; 49 for (var i = 0; i < data.length - 1; i++) {50 var x1 = data[i][0];51 var x2 = data[i + 1][0];52 var y1 = data[i][1];53 var y2 = data[i + 1][1];54 // First series (line)55 var xy1 = g.toDomCoords(x1, y1);56 var xy2 = g.toDomCoords(x2, y2);57 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);58 y1 = data[i][2];59 y2 = data[i + 1][2];60 // Seconds series (step)61 // Horizontal line62 xy1 = g.toDomCoords(x1, y1);63 xy2 = g.toDomCoords(x2, y1);64 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);65 // Vertical line66 xy1 = g.toDomCoords(x2, y1);67 xy2 = g.toDomCoords(x2, y2);68 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);69 }70};71StepTestCase.prototype.testMixedModeStepAndLineStackedAndFilled = function() {72 var opts = {73 width: 480,74 height: 320,75 drawXGrid: false,76 drawYGrid: false,77 drawXAxis: false,78 drawYAxis: false,79 errorBars: false,80 labels: ["X", "Idle", "Used", "NotUsed", "Active"],81 series: {82 Idle: {stepPlot: false},83 Used: {stepPlot: true},84 NotUsed: {stepPlot: false},85 Active: {stepPlot: true}86 },87 fillGraph: true,88 stackedGraph: true,89 includeZero: true90 };91 var data = [92 [1, 60,30,5,5],93 [2, 12,73,5,10],94 [3, 38,12,30,20],95 [4, 50,17,23,10],96 [5, 35,25,35,5]97 ];98 var graph = document.getElementById("graph");99 var g = new Dygraph(graph, data, opts);100 htx = g.hidden_ctx_;101 var attrs = {}; 102 for (var i = 0; i < data.length - 1; i++) {103 104 var x1 = data[i][0];105 var x2 = data[i + 1][0];106 var y1base = 0;107 var y2base = 0;108 var y1 = data[i][4];109 var y2 = data[i + 1][4];110 // Fourth series (step)111 // Test lines112 // Horizontal line113 var xy1 = g.toDomCoords(x1, y1);114 var xy2 = g.toDomCoords(x2, y1);115 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);116 // Vertical line117 xy1 = g.toDomCoords(x2, y1);118 xy2 = g.toDomCoords(x2, y2);119 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);120 // Test edges of areas (also drawn by dygraphs as lines)121 xy1 = g.toDomCoords(x1, y1);122 xy2 = g.toDomCoords(x2, y1);123 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);124 xy1 = xy2;125 xy2 = g.toDomCoords(x2, y2base);126 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);127 xy1 = xy2;128 xy2 = g.toDomCoords(x1, y1base);129 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);130 // The last edge can not be tested via assertLineDrawn since it wasn't drawn as a line but via clossePath.131 // But a rectangle is completely tested with three of its four edges.132 133 y1base = y1;134 y2base = y1;135 y1 += data[i][3];136 y2 += data[i + 1][3];137 138 // Third series (line)139 // Test lines140 xy1 = g.toDomCoords(x1, y1);141 xy2 = g.toDomCoords(x2, y2);142 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);143 // Test edges of areas (also drawn by dygraphs as lines)144 xy1 = g.toDomCoords(x1, y1);145 xy2 = g.toDomCoords(x2, y2);146 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);147 xy1 = xy2;148 xy2 = g.toDomCoords(x2, y2base);149 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);150 xy1 = xy2;151 xy2 = g.toDomCoords(x1, y1base);152 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);153 // The last edge can not be tested via assertLineDrawn since it wasn't drawn as a line but via clossePath.154 // But a rectangle is completely tested with three of its four edges.155 156 y1base = y1;157 y2base = y2;158 y1 += data[i][2];159 y2 += data[i + 1][2];160 // Second series (step)161 // Test lines162 // Horizontal line163 xy1 = g.toDomCoords(x1, y1);164 xy2 = g.toDomCoords(x2, y1);165 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);166 // Vertical line167 xy1 = g.toDomCoords(x2, y1);168 xy2 = g.toDomCoords(x2, y2);169 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);170 // Test edges of areas (also drawn by dygraphs as lines)171 xy1 = g.toDomCoords(x1, y1);172 xy2 = g.toDomCoords(x2, y1);173 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);174 xy1 = xy2;175 xy2 = g.toDomCoords(x2, y2base);176 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);177 xy1 = xy2;178 xy2 = g.toDomCoords(x1, y1base);179 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);180 // The last edge can not be tested via assertLineDrawn since it wasn't drawn as a line but via clossePath.181 // But a rectangle is completely tested with three of its four edges.182 183 y1base = y1;184 y2base = y1;185 y1 += data[i][1];186 y2 += data[i + 1][1];187 // First series (line)188 // Test lines189 xy1 = g.toDomCoords(x1, y1);190 xy2 = g.toDomCoords(x2, y2);191 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);192 // Test edges of areas (also drawn by dygraphs as lines)193 xy1 = g.toDomCoords(x1, y1);194 xy2 = g.toDomCoords(x2, y2);195 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);196 xy1 = xy2;197 xy2 = g.toDomCoords(x2, y2base);198 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);199 xy1 = xy2;200 xy2 = g.toDomCoords(x1, y1base);201 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);202 // The last edge can not be tested via assertLineDrawn since it wasn't drawn as a line but via clossePath.203 // But a rectangle is completely tested with three of its four edges.204 }205};206StepTestCase.prototype.testMixedModeStepAndLineErrorBars = function() {207 var opts = {208 width: 480,209 height: 320,210 drawXGrid: false,211 drawYGrid: false,212 drawXAxis: false,213 drawYAxis: false,214 errorBars: true,215 sigma: 1,216 labels: ["X", "Data1", "Data2"],217 series: {218 Data1: {stepPlot: true}, 219 Data2: {stepPlot: false} 220 }221 };222 var data = [223 [1, [75, 2], [50, 3]],224 [2, [70, 5], [90, 4]],225 [3, [80, 7], [112, 5]],226 [4, [55, 3], [100, 2]],227 [5, [69, 4], [85, 6]]228 ];229 var graph = document.getElementById("graph");230 var g = new Dygraph(graph, data, opts);231 htx = g.hidden_ctx_;232 var attrs = {}; 233 // Test first series (step)234 for (var i = 0; i < data.length - 1; i++) {235 var x1 = data[i][0];236 var x2 = data[i + 1][0];237 238 var y1_middle = data[i][1][0];239 var y2_middle = data[i + 1][1][0];240 241 var y1_top = y1_middle + data[i][1][1];242 var y2_top = y2_middle + data[i + 1][1][1];243 244 var y1_bottom = y1_middle - data[i][1][1];245 var y2_bottom = y2_middle - data[i + 1][1][1];246 // Bottom line247 var xy1 = g.toDomCoords(x1, y1_bottom);248 var xy2 = g.toDomCoords(x2, y1_bottom);249 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);250 // Top line251 xy1 = g.toDomCoords(x1, y1_top);252 xy2 = g.toDomCoords(x2, y1_top);253 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);254 // Middle line255 xy1 = g.toDomCoords(x1, y1_middle);256 xy2 = g.toDomCoords(x2, y1_middle);257 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);258 259 // Test edges of error bar areas(also drawn by dygraphs as lines)260 xy1 = g.toDomCoords(x1, y1_top);261 xy2 = g.toDomCoords(x2, y1_top);262 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);263 xy1 = xy2;264 xy2 = g.toDomCoords(x2, y1_bottom);265 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);266 xy1 = xy2;267 xy2 = g.toDomCoords(x1, y1_bottom);268 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);269 // The last edge can not be tested via assertLineDrawn since it wasn't drawn as a line but via clossePath.270 // But a rectangle is completely tested with three of its four edges.271 }272 // Test second series (line) 273 for (var i = 0; i < data.length - 1; i++) {274 // bottom line275 var xy1 = g.toDomCoords(data[i][0], (data[i][2][0] - data[i][2][1]));276 var xy2 = g.toDomCoords(data[i + 1][0], (data[i + 1][2][0] - data[i + 1][2][1]));277 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);278 // top line279 xy1 = g.toDomCoords(data[i][0], data[i][2][0] + data[i][2][1]);280 xy2 = g.toDomCoords(data[i + 1][0], data[i + 1][2][0] + data[i + 1][2][1]);281 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);282 // middle line283 xy1 = g.toDomCoords(data[i][0], data[i][2][0]);284 xy2 = g.toDomCoords(data[i + 1][0], data[i + 1][2][0]);285 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);286 }287};288StepTestCase.prototype.testMixedModeStepAndLineCustomBars = function() {289 var opts = {290 width: 480,291 height: 320,292 drawXGrid: false,293 drawYGrid: false,294 drawXAxis: false,295 drawYAxis: false,296 customBars: true,297 labels: ["X", "Data1", "Data2"],298 series: {299 Data1: {stepPlot: true}, 300 Data2: {stepPlot: false} 301 }302 };303 var data = [304 [1, [73, 75, 78], [50, 55, 70]],305 [2, [65, 70, 75], [83, 91, 99]],306 [3, [75, 85, 90], [98, 107, 117]],307 [4, [55, 58, 61], [93, 102, 105]],308 [5, [69, 73, 85], [80, 85, 87]]309 ];310 var graph = document.getElementById("graph");311 var g = new Dygraph(graph, data, opts);312 htx = g.hidden_ctx_;313 var attrs = {}; 314 // Test first series (step)315 for (var i = 0; i < data.length - 1; i++) {316 var x1 = data[i][0];317 var x2 = data[i + 1][0];318 319 var y1_middle = data[i][1][1];320 var y2_middle = data[i + 1][1][1];321 322 var y1_top = data[i][1][2];323 var y2_top = data[i + 1][1][2];324 325 var y1_bottom = data[i][1][0];326 var y2_bottom = data[i + 1][1][0];327 328 // Bottom line329 var xy1 = g.toDomCoords(x1, y1_bottom);330 var xy2 = g.toDomCoords(x2, y1_bottom);331 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);332 333 // Top line334 xy1 = g.toDomCoords(x1, y1_top);335 xy2 = g.toDomCoords(x2, y1_top);336 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);337 338 // Middle line339 xy1 = g.toDomCoords(x1, y1_middle);340 xy2 = g.toDomCoords(x2, y1_middle);341 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);342 343 // Test edges of custom bar areas(also drawn by dygraphs as lines)344 xy1 = g.toDomCoords(x1, y1_top);345 xy2 = g.toDomCoords(x2, y1_top);346 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);347 xy1 = xy2;348 xy2 = g.toDomCoords(x2, y1_bottom);349 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);350 xy1 = xy2;351 xy2 = g.toDomCoords(x1, y1_bottom);352 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);353 // The last edge can not be tested via assertLineDrawn since it wasn't drawn as a line but via clossePath.354 // But a rectangle is completely tested with three of its four edges.355 }356 357 // Test second series (line)358 for (var i = 0; i < data.length - 1; i++) {359 // Bottom line360 var xy1 = g.toDomCoords(data[i][0], data[i][2][0]);361 var xy2 = g.toDomCoords(data[i + 1][0], data[i + 1][2][0]);362 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);363 // Top line364 xy1 = g.toDomCoords(data[i][0], data[i][2][2]);365 xy2 = g.toDomCoords(data[i + 1][0], data[i + 1][2][2]);366 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);367 // Middle line368 xy1 = g.toDomCoords(data[i][0], data[i][2][1]);369 xy2 = g.toDomCoords(data[i + 1][0], data[i + 1][2][1]);370 CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);371 }...

Full Screen

Full Screen

options.js

Source:options.js Github

copy

Full Screen

1"use strict";2Object.defineProperty(exports, "__esModule", {3 value: true4});5exports.validate = validate;6exports.checkNoUnwrappedItemOptionPairs = checkNoUnwrappedItemOptionPairs;7exports.assumptionsNames = void 0;8var _plugin = require("../plugin");9var _removed = require("./removed");10var _optionAssertions = require("./option-assertions");11const ROOT_VALIDATORS = {12 cwd: _optionAssertions.assertString,13 root: _optionAssertions.assertString,14 rootMode: _optionAssertions.assertRootMode,15 configFile: _optionAssertions.assertConfigFileSearch,16 caller: _optionAssertions.assertCallerMetadata,17 filename: _optionAssertions.assertString,18 filenameRelative: _optionAssertions.assertString,19 code: _optionAssertions.assertBoolean,20 ast: _optionAssertions.assertBoolean,21 cloneInputAst: _optionAssertions.assertBoolean,22 envName: _optionAssertions.assertString23};24const BABELRC_VALIDATORS = {25 babelrc: _optionAssertions.assertBoolean,26 babelrcRoots: _optionAssertions.assertBabelrcSearch27};28const NONPRESET_VALIDATORS = {29 extends: _optionAssertions.assertString,30 ignore: _optionAssertions.assertIgnoreList,31 only: _optionAssertions.assertIgnoreList,32 targets: _optionAssertions.assertTargets,33 browserslistConfigFile: _optionAssertions.assertConfigFileSearch,34 browserslistEnv: _optionAssertions.assertString35};36const COMMON_VALIDATORS = {37 inputSourceMap: _optionAssertions.assertInputSourceMap,38 presets: _optionAssertions.assertPluginList,39 plugins: _optionAssertions.assertPluginList,40 passPerPreset: _optionAssertions.assertBoolean,41 assumptions: _optionAssertions.assertAssumptions,42 env: assertEnvSet,43 overrides: assertOverridesList,44 test: _optionAssertions.assertConfigApplicableTest,45 include: _optionAssertions.assertConfigApplicableTest,46 exclude: _optionAssertions.assertConfigApplicableTest,47 retainLines: _optionAssertions.assertBoolean,48 comments: _optionAssertions.assertBoolean,49 shouldPrintComment: _optionAssertions.assertFunction,50 compact: _optionAssertions.assertCompact,51 minified: _optionAssertions.assertBoolean,52 auxiliaryCommentBefore: _optionAssertions.assertString,53 auxiliaryCommentAfter: _optionAssertions.assertString,54 sourceType: _optionAssertions.assertSourceType,55 wrapPluginVisitorMethod: _optionAssertions.assertFunction,56 highlightCode: _optionAssertions.assertBoolean,57 sourceMaps: _optionAssertions.assertSourceMaps,58 sourceMap: _optionAssertions.assertSourceMaps,59 sourceFileName: _optionAssertions.assertString,60 sourceRoot: _optionAssertions.assertString,61 parserOpts: _optionAssertions.assertObject,62 generatorOpts: _optionAssertions.assertObject63};64{65 Object.assign(COMMON_VALIDATORS, {66 getModuleId: _optionAssertions.assertFunction,67 moduleRoot: _optionAssertions.assertString,68 moduleIds: _optionAssertions.assertBoolean,69 moduleId: _optionAssertions.assertString70 });71}72const assumptionsNames = new Set(["arrayLikeIsIterable", "constantReexports", "constantSuper", "enumerableModuleMeta", "ignoreFunctionLength", "ignoreToPrimitiveHint", "iterableIsArray", "mutableTemplateObject", "noClassCalls", "noDocumentAll", "noNewArrows", "objectRestNoSymbols", "privateFieldsAsProperties", "pureGetters", "setClassMethods", "setComputedProperties", "setPublicClassFields", "setSpreadProperties", "skipForOfIteratorClosing", "superIsCallableConstructor"]);73exports.assumptionsNames = assumptionsNames;74function getSource(loc) {75 return loc.type === "root" ? loc.source : getSource(loc.parent);76}77function validate(type, opts) {78 return validateNested({79 type: "root",80 source: type81 }, opts);82}83function validateNested(loc, opts) {84 const type = getSource(loc);85 assertNoDuplicateSourcemap(opts);86 Object.keys(opts).forEach(key => {87 const optLoc = {88 type: "option",89 name: key,90 parent: loc91 };92 if (type === "preset" && NONPRESET_VALIDATORS[key]) {93 throw new Error(`${(0, _optionAssertions.msg)(optLoc)} is not allowed in preset options`);94 }95 if (type !== "arguments" && ROOT_VALIDATORS[key]) {96 throw new Error(`${(0, _optionAssertions.msg)(optLoc)} is only allowed in root programmatic options`);97 }98 if (type !== "arguments" && type !== "configfile" && BABELRC_VALIDATORS[key]) {99 if (type === "babelrcfile" || type === "extendsfile") {100 throw new Error(`${(0, _optionAssertions.msg)(optLoc)} is not allowed in .babelrc or "extends"ed files, only in root programmatic options, ` + `or babel.config.js/config file options`);101 }102 throw new Error(`${(0, _optionAssertions.msg)(optLoc)} is only allowed in root programmatic options, or babel.config.js/config file options`);103 }104 const validator = COMMON_VALIDATORS[key] || NONPRESET_VALIDATORS[key] || BABELRC_VALIDATORS[key] || ROOT_VALIDATORS[key] || throwUnknownError;105 validator(optLoc, opts[key]);106 });107 return opts;108}109function throwUnknownError(loc) {110 const key = loc.name;111 if (_removed.default[key]) {112 const {113 message,114 version = 5115 } = _removed.default[key];116 throw new Error(`Using removed Babel ${version} option: ${(0, _optionAssertions.msg)(loc)} - ${message}`);117 } else {118 const unknownOptErr = new Error(`Unknown option: ${(0, _optionAssertions.msg)(loc)}. Check out https://babeljs.io/docs/en/babel-core/#options for more information about options.`);119 unknownOptErr.code = "BABEL_UNKNOWN_OPTION";120 throw unknownOptErr;121 }122}123function has(obj, key) {124 return Object.prototype.hasOwnProperty.call(obj, key);125}126function assertNoDuplicateSourcemap(opts) {127 if (has(opts, "sourceMap") && has(opts, "sourceMaps")) {128 throw new Error(".sourceMap is an alias for .sourceMaps, cannot use both");129 }130}131function assertEnvSet(loc, value) {132 if (loc.parent.type === "env") {133 throw new Error(`${(0, _optionAssertions.msg)(loc)} is not allowed inside of another .env block`);134 }135 const parent = loc.parent;136 const obj = (0, _optionAssertions.assertObject)(loc, value);137 if (obj) {138 for (const envName of Object.keys(obj)) {139 const env = (0, _optionAssertions.assertObject)((0, _optionAssertions.access)(loc, envName), obj[envName]);140 if (!env) continue;141 const envLoc = {142 type: "env",143 name: envName,144 parent145 };146 validateNested(envLoc, env);147 }148 }149 return obj;150}151function assertOverridesList(loc, value) {152 if (loc.parent.type === "env") {153 throw new Error(`${(0, _optionAssertions.msg)(loc)} is not allowed inside an .env block`);154 }155 if (loc.parent.type === "overrides") {156 throw new Error(`${(0, _optionAssertions.msg)(loc)} is not allowed inside an .overrides block`);157 }158 const parent = loc.parent;159 const arr = (0, _optionAssertions.assertArray)(loc, value);160 if (arr) {161 for (const [index, item] of arr.entries()) {162 const objLoc = (0, _optionAssertions.access)(loc, index);163 const env = (0, _optionAssertions.assertObject)(objLoc, item);164 if (!env) throw new Error(`${(0, _optionAssertions.msg)(objLoc)} must be an object`);165 const overridesLoc = {166 type: "overrides",167 index,168 parent169 };170 validateNested(overridesLoc, env);171 }172 }173 return arr;174}175function checkNoUnwrappedItemOptionPairs(items, index, type, e) {176 if (index === 0) return;177 const lastItem = items[index - 1];178 const thisItem = items[index];179 if (lastItem.file && lastItem.options === undefined && typeof thisItem.value === "object") {180 e.message += `\n- Maybe you meant to use\n` + `"${type}s": [\n ["${lastItem.file.request}", ${JSON.stringify(thisItem.value, undefined, 2)}]\n]\n` + `To be a valid ${type}, its name and options should be wrapped in a pair of brackets`;181 }...

Full Screen

Full Screen

EditorSettingsTest.js

Source:EditorSettingsTest.js Github

copy

Full Screen

1asynctest('browser/alien/EditorSettingsTest', [2 'tinymce/inlite/alien/EditorSettings',3 'ephox/tinymce',4 'ephox.agar.api.Step',5 'ephox.agar.api.Pipeline',6 'ephox.agar.api.Assertions'7], function (EditorSettings, tinymce, Step, Pipeline, Assertions) {8 var success = arguments[arguments.length - 2];9 var failure = arguments[arguments.length - 1];10 var handler = function () {11 };12 var defaultHandler = function () {13 };14 var createEditor = function () {15 var editor = new tinymce.Editor('id', {16 string: 'value',17 bool: true,18 number: 3,19 handler: handler,20 toolbar_string1: 'a b',21 toolbar_string2: 'a,b',22 toolbar_string_empty1: '',23 toolbar_string_empty2: ',,,',24 toolbar_empty_array: [],25 toolbar_bool_false: false,26 toolbar_array: ['a', 'b']27 }, tinymce.EditorManager);28 return editor;29 };30 /*eslint max-len:0*/31 var sTestGetStringOr = Step.sync(function () {32 var editor = createEditor();33 Assertions.assertEq('Should be a specified settings string value', 'value', EditorSettings.getStringOr(editor, 'string', 'default'));34 Assertions.assertEq('Should be default string value', 'default', EditorSettings.getStringOr(editor, 'non_existing', 'default'));35 Assertions.assertEq('Should be default string value on a bool', 'default', EditorSettings.getStringOr(editor, 'bool', 'default'));36 });37 var sTestGetBoolOr = Step.sync(function () {38 var editor = createEditor();39 Assertions.assertEq('Should be a specified settings bool value', true, EditorSettings.getBoolOr(editor, 'bool', false));40 Assertions.assertEq('Should be default bool value', false, EditorSettings.getBoolOr(editor, 'non_existing', false));41 Assertions.assertEq('Should be default bool value on a string', false, EditorSettings.getBoolOr(editor, 'string', false));42 });43 var sTestGetNumberOr = Step.sync(function () {44 var editor = createEditor();45 Assertions.assertEq('Should be a specified settings number value', 3, EditorSettings.getNumberOr(editor, 'number', 3));46 Assertions.assertEq('Should be default number value', 5, EditorSettings.getNumberOr(editor, 'non_existing', 5));47 Assertions.assertEq('Should be default number value on a string', 5, EditorSettings.getNumberOr(editor, 'string', 5));48 });49 var sTestGetHandlerOr = Step.sync(function () {50 var editor = createEditor();51 Assertions.assertEq('Should be a specified settings handler value', handler, EditorSettings.getHandlerOr(editor, 'handler', defaultHandler));52 Assertions.assertEq('Should be default handler value', defaultHandler, EditorSettings.getHandlerOr(editor, 'non_existing', defaultHandler));53 Assertions.assertEq('Should be default handler value on a string', defaultHandler, EditorSettings.getHandlerOr(editor, 'string', defaultHandler));54 });55 var sTestToolbarItemsOr = Step.sync(function () {56 var editor = createEditor();57 Assertions.assertEq('Should be a specified toolbar items string value 1', ['a', 'b'], EditorSettings.getToolbarItemsOr(editor, 'toolbar_string1', ['c', 'd']));58 Assertions.assertEq('Should be a specified toolbar items string value 2', ['a', 'b'], EditorSettings.getToolbarItemsOr(editor, 'toolbar_string2', ['c', 'd']));59 Assertions.assertEq('Should be a specified toolbar items array value', ['a', 'b'], EditorSettings.getToolbarItemsOr(editor, 'toolbar_array', ['c', 'd']));60 Assertions.assertEq('Should be an empty toolbar items array', [], EditorSettings.getToolbarItemsOr(editor, 'toolbar_string_empty1', ['c', 'd']));61 Assertions.assertEq('Should be an empty toolbar items array', [], EditorSettings.getToolbarItemsOr(editor, 'toolbar_string_empty2', ['c', 'd']));62 Assertions.assertEq('Should be an empty toolbar items array', [], EditorSettings.getToolbarItemsOr(editor, 'toolbar_bool_false', ['c', 'd']));63 Assertions.assertEq('Should be an empty toolbar items array', [], EditorSettings.getToolbarItemsOr(editor, 'toolbar_empty_array', ['c', 'd']));64 Assertions.assertEq('Should be default toolbar items value', ['c', 'd'], EditorSettings.getToolbarItemsOr(editor, 'non_existing', ['c', 'd']));65 Assertions.assertEq('Should be default toolbar items value on a bool', ['c', 'd'], EditorSettings.getToolbarItemsOr(editor, 'bool', ['c', 'd']));66 });67 Pipeline.async({}, [68 sTestGetStringOr,69 sTestGetBoolOr,70 sTestGetNumberOr,71 sTestGetHandlerOr,72 sTestToolbarItemsOr73 ], function () {74 success();75 }, failure);...

Full Screen

Full Screen

extractExpectedAssertionsErrors.js

Source:extractExpectedAssertionsErrors.js Github

copy

Full Screen

1'use strict';2Object.defineProperty(exports, '__esModule', {3 value: true4});5exports.default = void 0;6var _jestMatcherUtils = require('jest-matcher-utils');7var _jestMatchersObject = require('./jestMatchersObject');8/**9 * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.10 *11 * This source code is licensed under the MIT license found in the12 * LICENSE file in the root directory of this source tree.13 *14 */15const resetAssertionsLocalState = () => {16 (0, _jestMatchersObject.setState)({17 assertionCalls: 0,18 expectedAssertionsNumber: null,19 isExpectingAssertions: false20 });21}; // Create and format all errors related to the mismatched number of `expect`22// calls and reset the matcher's state.23const extractExpectedAssertionsErrors = () => {24 const result = [];25 const _getState = (0, _jestMatchersObject.getState)(),26 assertionCalls = _getState.assertionCalls,27 expectedAssertionsNumber = _getState.expectedAssertionsNumber,28 expectedAssertionsNumberError = _getState.expectedAssertionsNumberError,29 isExpectingAssertions = _getState.isExpectingAssertions,30 isExpectingAssertionsError = _getState.isExpectingAssertionsError;31 resetAssertionsLocalState();32 if (33 typeof expectedAssertionsNumber === 'number' &&34 assertionCalls !== expectedAssertionsNumber35 ) {36 const numOfAssertionsExpected = (0, _jestMatcherUtils.EXPECTED_COLOR)(37 (0, _jestMatcherUtils.pluralize)('assertion', expectedAssertionsNumber)38 );39 expectedAssertionsNumberError.message =40 (0, _jestMatcherUtils.matcherHint)(41 '.assertions',42 '',43 String(expectedAssertionsNumber),44 {45 isDirectExpectCall: true46 }47 ) +48 '\n\n' +49 `Expected ${numOfAssertionsExpected} to be called but received ` +50 (0, _jestMatcherUtils.RECEIVED_COLOR)(51 (0, _jestMatcherUtils.pluralize)('assertion call', assertionCalls || 0)52 ) +53 '.';54 result.push({55 actual: assertionCalls,56 error: expectedAssertionsNumberError,57 expected: expectedAssertionsNumber58 });59 }60 if (isExpectingAssertions && assertionCalls === 0) {61 const expected = (0, _jestMatcherUtils.EXPECTED_COLOR)(62 'at least one assertion'63 );64 const received = (0, _jestMatcherUtils.RECEIVED_COLOR)('received none');65 isExpectingAssertionsError.message =66 (0, _jestMatcherUtils.matcherHint)('.hasAssertions', '', '', {67 isDirectExpectCall: true68 }) +69 '\n\n' +70 `Expected ${expected} to be called but ${received}.`;71 result.push({72 actual: 'none',73 error: isExpectingAssertionsError,74 expected: 'at least one'75 });76 }77 return result;78};79var _default = extractExpectedAssertionsErrors;...

Full Screen

Full Screen

extract_expected_assertions_errors.js

Source:extract_expected_assertions_errors.js Github

copy

Full Screen

1'use strict';2Object.defineProperty(exports, '__esModule', {3 value: true4});5var _jestMatcherUtils = require('jest-matcher-utils');6var _jest_matchers_object = require('./jest_matchers_object');7/**8 * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.9 *10 * This source code is licensed under the MIT license found in the11 * LICENSE file in the root directory of this source tree.12 *13 *14 */15const resetAssertionsLocalState = () => {16 (0, _jest_matchers_object.setState)({17 assertionCalls: 0,18 expectedAssertionsNumber: null,19 isExpectingAssertions: false20 });21};22// Create and format all errors related to the mismatched number of `expect`23// calls and reset the matcher's state.24const extractExpectedAssertionsErrors = () => {25 const result = [];26 var _getState = (0, _jest_matchers_object.getState)();27 const assertionCalls = _getState.assertionCalls,28 expectedAssertionsNumber = _getState.expectedAssertionsNumber,29 expectedAssertionsNumberError = _getState.expectedAssertionsNumberError,30 isExpectingAssertions = _getState.isExpectingAssertions,31 isExpectingAssertionsError = _getState.isExpectingAssertionsError;32 resetAssertionsLocalState();33 if (34 typeof expectedAssertionsNumber === 'number' &&35 assertionCalls !== expectedAssertionsNumber36 ) {37 const numOfAssertionsExpected = (0, _jestMatcherUtils.EXPECTED_COLOR)(38 (0, _jestMatcherUtils.pluralize)('assertion', expectedAssertionsNumber)39 );40 expectedAssertionsNumberError.message =41 (0, _jestMatcherUtils.matcherHint)(42 '.assertions',43 '',44 String(expectedAssertionsNumber),45 {46 isDirectExpectCall: true47 }48 ) +49 '\n\n' +50 `Expected ${numOfAssertionsExpected} to be called but received ` +51 (0, _jestMatcherUtils.RECEIVED_COLOR)(52 (0, _jestMatcherUtils.pluralize)('assertion call', assertionCalls || 0)53 ) +54 '.';55 result.push({56 actual: assertionCalls,57 error: expectedAssertionsNumberError,58 expected: expectedAssertionsNumber59 });60 }61 if (isExpectingAssertions && assertionCalls === 0) {62 const expected = (0, _jestMatcherUtils.EXPECTED_COLOR)(63 'at least one assertion'64 );65 const received = (0, _jestMatcherUtils.RECEIVED_COLOR)('received none');66 isExpectingAssertionsError.message =67 (0, _jestMatcherUtils.matcherHint)('.hasAssertions', '', '', {68 isDirectExpectCall: true69 }) +70 '\n\n' +71 `Expected ${expected} to be called but ${received}.`;72 result.push({73 actual: 'none',74 error: isExpectingAssertionsError,75 expected: 'at least one'76 });77 }78 return result;79};...

Full Screen

Full Screen

group__group-assertions.js

Source:group__group-assertions.js Github

copy

Full Screen

1var group__group_assertions =2[3 [ "BOOST_HANA_RUNTIME_ASSERT", "group__group-assertions.html#gae4eb14a3b31e44f433b080d9bc2d14fd", null ],4 [ "BOOST_HANA_RUNTIME_ASSERT_MSG", "group__group-assertions.html#ga2e25bbdeefb0e5fbf45ffa9227ddb8d2", null ],5 [ "BOOST_HANA_CONSTANT_ASSERT", "group__group-assertions.html#ga2626fa0c92b308cee62ac423ae2dba41", null ],6 [ "BOOST_HANA_CONSTANT_ASSERT_MSG", "group__group-assertions.html#ga9961218055c571b279bb6e07befbba4d", null ],7 [ "BOOST_HANA_ASSERT", "group__group-assertions.html#ga90c1df2cb8eb67e8e0c822eac180b7bc", null ],8 [ "BOOST_HANA_ASSERT_MSG", "group__group-assertions.html#gaa7690973ea7b2ba5b6a72a6293fce873", null ],9 [ "BOOST_HANA_CONSTEXPR_ASSERT", "group__group-assertions.html#ga046d7ee458de8da63812fe2f059c0a4d", null ],10 [ "BOOST_HANA_CONSTEXPR_ASSERT_MSG", "group__group-assertions.html#ga0a1327b758604bf330efeba450dd4a95", null ],11 [ "BOOST_HANA_RUNTIME_CHECK_MSG", "group__group-assertions.html#ga1d4feb0a2414f9b17249dff3dc441bf4", null ],12 [ "BOOST_HANA_RUNTIME_CHECK", "group__group-assertions.html#ga4796ae107d58b67e0bbccd5ae6f70101", null ],13 [ "BOOST_HANA_CONSTANT_CHECK_MSG", "group__group-assertions.html#ga3faec2cf9e803f4fe5537fe1831e82ce", null ],14 [ "BOOST_HANA_CONSTANT_CHECK", "group__group-assertions.html#ga2c5006540936d9f8880e3a39f4fcc035", null ],15 [ "BOOST_HANA_CHECK_MSG", "group__group-assertions.html#gad4134ab51e9f2e5d41595ef40d4d0c5b", null ],16 [ "BOOST_HANA_CHECK", "group__group-assertions.html#ga932876152d7f87b6b24077322a2e4139", null ],17 [ "BOOST_HANA_CONSTEXPR_CHECK_MSG", "group__group-assertions.html#gabf13a9c600ad4fd014ede3c2fd42b1a4", null ],18 [ "BOOST_HANA_CONSTEXPR_CHECK", "group__group-assertions.html#gac7aafc41e4dcc7d1f1929fb00f010d2a", null ]...

Full Screen

Full Screen

Jest Testing Tutorial

LambdaTest’s Jest Testing Tutorial covers step-by-step guides around Jest with code examples to help you be proficient with the Jest framework. The Jest tutorial has chapters to help you learn right from the basics of Jest framework to code-based tutorials around testing react apps with Jest, perform snapshot testing, import ES modules and more.

Chapters

  1. What is Jest Framework
  2. Advantages of Jest - Jest has 3,898,000 GitHub repositories, as mentioned on its official website. Learn what makes Jest special and why Jest has gained popularity among the testing and developer community.
  3. Jest Installation - All the prerequisites and set up steps needed to help you start Jest automation testing.
  4. Using Jest with NodeJS Project - Learn how to leverage Jest framework to automate testing using a NodeJS Project.
  5. Writing First Test for Jest Framework - Get started with code-based tutorial to help you write and execute your first Jest framework testing script.
  6. Jest Vocabulary - Learn the industry renowned and official jargons of the Jest framework by digging deep into the Jest vocabulary.
  7. Unit Testing with Jest - Step-by-step tutorial to help you execute unit testing with Jest framework.
  8. Jest Basics - Learn about the most pivotal and basic features which makes Jest special.
  9. Jest Parameterized Tests - Avoid code duplication and fasten automation testing with Jest using parameterized tests. Parameterization allows you to trigger the same test scenario over different test configurations by incorporating parameters.
  10. Jest Matchers - Enforce assertions better with the help of matchers. Matchers help you compare the actual output with the expected one. Here is an example to see if the object is acquired from the correct class or not. -

|<p>it('check_object_of_Car', () => {</p><p> expect(newCar()).toBeInstanceOf(Car);</p><p> });</p>| | :- |

  1. Jest Hooks: Setup and Teardown - Learn how to set up conditions which needs to be followed by the test execution and incorporate a tear down function to free resources after the execution is complete.
  2. Jest Code Coverage - Unsure there is no code left unchecked in your application. Jest gives a specific flag called --coverage to help you generate code coverage.
  3. HTML Report Generation - Learn how to create a comprehensive HTML report based on your Jest test execution.
  4. Testing React app using Jest Framework - Learn how to test your react web-application with Jest framework in this detailed Jest tutorial.
  5. Test using LambdaTest cloud Selenium Grid - Run your Jest testing script over LambdaTest cloud-based platform and leverage parallel testing to help trim down your test execution time.
  6. Snapshot Testing for React Front Ends - Capture screenshots of your react based web-application and compare them automatically for visual anomalies with the help of Jest tutorial.
  7. Bonus: Import ES modules with Jest - ES modules are also known as ECMAScript modules. Learn how to best use them by importing in your Jest testing scripts.
  8. Jest vs Mocha vs Jasmine - Learn the key differences between the most popular JavaScript-based testing frameworks i.e. Jest, Mocha, and Jasmine.
  9. Jest FAQs(Frequently Asked Questions) - Explore the most commonly asked questions around Jest framework, with their answers.

Run Jest automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful