TextMatchExpression_test.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. "use strict";
  2. if (!module.parent) return require.cache[__filename] = 0, (new(require("mocha"))()).addFile(__filename).ui("exports").run(process.exit);
  3. var assert = require("assert"),
  4. ErrorCodes = require("../../../lib/errors").ErrorCodes,
  5. TextMatchExpression = require("../../../lib/matcher/TextMatchExpression");
  6. exports.TextMatchExpression = {
  7. "should match an element, regardless of what is provided": function() {
  8. var text = new TextMatchExpression(),
  9. text2 = new TextMatchExpression();
  10. assert.strictEqual(text.init("query", "language").code, ErrorCodes.OK);
  11. assert.strictEqual(text2.init("query2", "language2").code, ErrorCodes.OK);
  12. assert.ok(text.matchesSingleElement(text2)); // It'll always work. Just the way it is in source.
  13. },
  14. "should return the query provided in the init": function() {
  15. var text = new TextMatchExpression();
  16. text.init("query", "language");
  17. assert.strictEqual(text.getQuery(), "query");
  18. },
  19. "should return the language provided in the init": function() {
  20. var text = new TextMatchExpression();
  21. text.init("query", "language");
  22. assert.strictEqual(text.getLanguage(), "language");
  23. },
  24. "should return equivalency": function() {
  25. var text1 = new TextMatchExpression(),
  26. text2 = new TextMatchExpression(),
  27. text3 = new TextMatchExpression();
  28. text1.init("query", "language");
  29. text2.init("query", "language");
  30. text3.init("query2", "language2");
  31. assert.ok(text1.equivalent(text1));
  32. assert.ok(text1.equivalent(text2));
  33. assert.ok(!text1.equivalent(text3));
  34. },
  35. "should return a shallow copy of the original text match expression": function() {
  36. var text1 = new TextMatchExpression();
  37. text1.init("query", "language");
  38. var text2 = text1.shallowClone();
  39. assert.ok(text1.equivalent(text2));
  40. },
  41. };