MatchDetails.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. "use strict";
  2. var assert = require("assert"),
  3. MatchDetails = require("../../../../lib/pipeline/matcher/MatchDetails.js");
  4. module.exports = {
  5. "MatchDetails": {
  6. "Constructor": function() {
  7. var md = new MatchDetails();
  8. assert.equal(md._elemMatchKeyRequested, false);
  9. assert.equal(md._loadedRecord, false);
  10. assert.equal(md._elemMatchKey, undefined);
  11. assert(md instanceof MatchDetails);
  12. },
  13. "ResetOutput": function() {
  14. var md = new MatchDetails();
  15. md.setLoadedRecord(1);
  16. assert.equal(md._loadedRecord, 1);
  17. md.resetOutput();
  18. assert.equal(md._loadedRecord, 0);
  19. assert.equal(md._elemMatchKey, undefined);
  20. },
  21. "toString": function() {
  22. var md = new MatchDetails();
  23. assert(typeof md.toString() === "string");
  24. },
  25. "setLoadedRecord": function() {
  26. var md = new MatchDetails(),
  27. rec = {"TEST":1};
  28. md.setLoadedRecord(rec);
  29. assert.deepEqual(md._loadedRecord, rec);
  30. },
  31. "hasLoadedRecord": function() {
  32. var md = new MatchDetails(),
  33. rec = true;
  34. md.setLoadedRecord(rec);
  35. assert.equal(md.hasLoadedRecord(), true);
  36. },
  37. "requestElemMatchKey": function() {
  38. var md = new MatchDetails();
  39. md.requestElemMatchKey();
  40. assert(md.needRecord, true); //should be true after request
  41. },
  42. "setElemMatchKey": function() {
  43. var md = new MatchDetails(),
  44. key = "TEST";
  45. md.setElemMatchKey(key);
  46. assert.equal(md.hasElemMatchKey(), false); //should not be set unless requested
  47. md.requestElemMatchKey();
  48. md.setElemMatchKey(key);
  49. assert.equal(md.hasElemMatchKey(), true);
  50. assert.equal(md.elemMatchKey(), key);
  51. }
  52. }
  53. };
  54. if (!module.parent)(new(require("mocha"))()).ui("exports").reporter("spec").addFile(__filename).run(process.exit);