quickpickle 1.7.1 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -496,9 +496,10 @@ come to notice:
496
496
  worldConfig: QuickPickleConfig['worldConfig'] // (read only) configuration for the World
497
497
  data: {[key:string]:any} // Data limited to the current Scenario
498
498
  common: Common // Common data shared across ALL tests in one Feature file --- USE SPARINGLY
499
- projectRoot: string // (read only) the project root directory
500
499
  init: () => Promise<void> // function called by QuickPickle when the world is created
501
500
  tagsMatch(tags: string[]): string[]|null // function to check if the Scenario tags match the given tags
501
+ sanitizePath(path:string):string // shim of npm module path-sanitizer
502
+ fullPath(relativePath:string):string // function to return the full path, relative to project root
502
503
  }
503
504
  ```
504
505
 
package/dist/index.cjs CHANGED
@@ -14,6 +14,9 @@ var Gherkin = require('@cucumber/gherkin');
14
14
  var Messages = require('@cucumber/messages');
15
15
  var fromPairs = require('lodash/fromPairs');
16
16
  var escapeRegExp = require('lodash/escapeRegExp');
17
+ var pixelmatch = require('pixelmatch');
18
+ var imageSize = require('@coderosh/image-size');
19
+ var buffer = require('buffer');
17
20
 
18
21
  function _interopNamespaceDefault(e) {
19
22
  var n = Object.create(null);
@@ -111,10 +114,12 @@ function normalizeTags(tags) {
111
114
  return tags.filter(Boolean).map(tag => tag.startsWith('@') ? tag : `@${tag}`);
112
115
  }
113
116
  /**
117
+ * Compares two lists of tags and returns the ones that are shared by both,
118
+ * or null if there are no shared tags.
114
119
  *
115
120
  * @param confTags string[]
116
121
  * @param testTags string[]
117
- * @returns boolean
122
+ * @returns string[]|null
118
123
  */
119
124
  function tagsMatch(confTags, testTags) {
120
125
  let tags = intersection(confTags.map(t => t.toLowerCase()), testTags.map(t => t.toLowerCase()));
@@ -641,10 +646,130 @@ class DocString extends String {
641
646
  }
642
647
  }
643
648
 
649
+ /**
650
+ * Shim for node:path.normalize
651
+ * @param path string
652
+ * @returns string
653
+ */
654
+ function normalize(path) {
655
+ // Simple path normalization
656
+ const isAbsolute = path.startsWith('/');
657
+ const parts = path.split(/[/\\]+/).filter(Boolean);
658
+ const normalizedParts = [];
659
+ for (const part of parts) {
660
+ if (part === '.')
661
+ continue;
662
+ if (part === '..') {
663
+ normalizedParts.pop();
664
+ }
665
+ else {
666
+ normalizedParts.push(part);
667
+ }
668
+ }
669
+ return (isAbsolute ? '/' : '') + normalizedParts.join('/');
670
+ }
671
+ /**
672
+ * Shim for node:path.join
673
+ * @param paths string[]
674
+ * @returns string
675
+ */
676
+ function join(...paths) {
677
+ return normalize(paths.join('/'));
678
+ }
679
+
680
+ const DEFAULT_OPTIONS = {
681
+ decode: [
682
+ {
683
+ regex: /%2e/g,
684
+ replacement: '.'
685
+ },
686
+ {
687
+ regex: /%2f/g,
688
+ replacement: '/'
689
+ },
690
+ {
691
+ regex: /%5c/g,
692
+ replacement: '\\'
693
+ }
694
+ ],
695
+ parentDirectoryRegEx: /[\/\\]\.\.[\/\\]/g,
696
+ notAllowedRegEx: /:|\$|!|'|"|@|\+|`|\||=/g
697
+ };
698
+ /**
699
+ * Sanitizes a portion of a path to avoid Path Traversal
700
+ */
701
+ function sanitize(pathstr, options = DEFAULT_OPTIONS) {
702
+ if (!options)
703
+ options = DEFAULT_OPTIONS;
704
+ if (typeof options !== 'object')
705
+ throw new Error('options must be an object');
706
+ if (!Array.isArray(options.decode))
707
+ options.decode = DEFAULT_OPTIONS.decode;
708
+ if (!options.parentDirectoryRegEx)
709
+ options.parentDirectoryRegEx = DEFAULT_OPTIONS.parentDirectoryRegEx;
710
+ if (!options.notAllowedRegEx)
711
+ options.notAllowedRegEx = DEFAULT_OPTIONS.notAllowedRegEx;
712
+ if (typeof pathstr !== 'string') {
713
+ // Stringify the path
714
+ pathstr = `${pathstr}`;
715
+ }
716
+ let sanitizedPath = pathstr;
717
+ // ################################################################################################################
718
+ // Decode
719
+ options.decode.forEach(decode => {
720
+ sanitizedPath = sanitizedPath.replace(decode.regex, decode.replacement);
721
+ });
722
+ // Remove not allowed characters
723
+ sanitizedPath = sanitizedPath.replace(options.notAllowedRegEx, '');
724
+ // Replace backslashes with normal slashes
725
+ sanitizedPath = sanitizedPath.replace(/[\\]/g, '/');
726
+ // Replace /../ with /
727
+ sanitizedPath = sanitizedPath.replace(options.parentDirectoryRegEx, '/');
728
+ // Remove ../ at pos 0 and /.. at end
729
+ sanitizedPath = sanitizedPath.replace(/^\.\.[\/\\]/g, '/');
730
+ sanitizedPath = sanitizedPath.replace(/[\/\\]\.\.$/g, '/');
731
+ // Replace double (back)slashes with a single slash
732
+ sanitizedPath = sanitizedPath.replace(/[\/\\]+/g, '/');
733
+ // Normalize path
734
+ sanitizedPath = normalize(sanitizedPath);
735
+ // Remove / or \ in the end
736
+ while (sanitizedPath.endsWith('/') || sanitizedPath.endsWith('\\')) {
737
+ sanitizedPath = sanitizedPath.slice(0, -1);
738
+ }
739
+ // Remove / or \ in the beginning
740
+ while (sanitizedPath.startsWith('/') || sanitizedPath.startsWith('\\')) {
741
+ sanitizedPath = sanitizedPath.slice(1);
742
+ }
743
+ // Validate path
744
+ sanitizedPath = join('', sanitizedPath);
745
+ // Remove not allowed characters
746
+ sanitizedPath = sanitizedPath.replace(options.notAllowedRegEx, '');
747
+ // Again change all \ to /
748
+ sanitizedPath = sanitizedPath.replace(/[\\]/g, '/');
749
+ // Replace double (back)slashes with a single slash
750
+ sanitizedPath = sanitizedPath.replace(/[\/\\]+/g, '/');
751
+ // Replace /../ with /
752
+ sanitizedPath = sanitizedPath.replace(options.parentDirectoryRegEx, '/');
753
+ // Remove ./ or / at start
754
+ while (sanitizedPath.startsWith('/') || sanitizedPath.startsWith('./') || sanitizedPath.endsWith('/..') || sanitizedPath.endsWith('/../') || sanitizedPath.startsWith('../') || sanitizedPath.startsWith('/../')) {
755
+ sanitizedPath = sanitizedPath.replace(/^\.\//g, ''); // ^./
756
+ sanitizedPath = sanitizedPath.replace(/^\//g, ''); // ^/
757
+ // Remove ../ | /../ at pos 0 and /.. | /../ at end
758
+ sanitizedPath = sanitizedPath.replace(/^[\/\\]\.\.[\/\\]/g, '/');
759
+ sanitizedPath = sanitizedPath.replace(/^\.\.[\/\\]/g, '/');
760
+ sanitizedPath = sanitizedPath.replace(/[\/\\]\.\.$/g, '/');
761
+ sanitizedPath = sanitizedPath.replace(/[\/\\]\.\.\/$/g, '/');
762
+ }
763
+ // Make sure out is not "."
764
+ sanitizedPath = sanitizedPath.trim() === '.' ? '' : sanitizedPath;
765
+ return sanitizedPath.trim();
766
+ }
767
+
644
768
  class QuickPickleWorld {
645
769
  constructor(context, info) {
646
770
  this._projectRoot = '';
647
771
  this.data = {};
772
+ this.sanitizePath = sanitize;
648
773
  this.context = context;
649
774
  this.common = info.common;
650
775
  this.info = { ...info, errors: [] };
@@ -654,10 +779,44 @@ class QuickPickleWorld {
654
779
  get config() { return this.info.config; }
655
780
  get worldConfig() { return this.info.config.worldConfig; }
656
781
  get isComplete() { return this.info.stepIdx === this.info.steps.length; }
657
- get projectRoot() { return this._projectRoot; }
782
+ /**
783
+ * Checks the tags of the Scenario against a provided list of tags,
784
+ * and returns the shared tags, with the "@" prefix character.
785
+ *
786
+ * @param tags tags to check
787
+ * @returns string[]|null
788
+ */
658
789
  tagsMatch(tags) {
659
790
  return tagsMatch(tags, this.info.tags);
660
791
  }
792
+ /**
793
+ * Given a provided path-like string, returns a full path that:
794
+ *
795
+ * 1. contains no invalid characters.
796
+ * 2. is a subdirectory of the project root.
797
+ *
798
+ * This is intended for security when retrieving and saving files;
799
+ * it does not slugify filenames or check for a file's existence.
800
+ *
801
+ * @param path string the path to sanitize
802
+ * @return string the sanitized path, including the project root
803
+ */
804
+ fullPath(path) {
805
+ return `${this._projectRoot}/${this.sanitizePath(path)}`;
806
+ }
807
+ /**
808
+ * A helper function for when you really just need to wait.
809
+ *
810
+ * @deprecated Waiting for arbitrary amounts of time makes your tests flaky! There are
811
+ * usually better ways to wait for something to happen, and this functionality will be
812
+ * removed from the API as soon we're sure nobody will **EVER** want to use it again.
813
+ * (That may be a long time.)
814
+ *
815
+ * @param ms milliseconds to wait
816
+ */
817
+ async wait(ms) {
818
+ await new Promise(r => setTimeout(r, ms));
819
+ }
661
820
  toString() {
662
821
  let parts = [
663
822
  this.constructor.name,
@@ -675,6 +834,48 @@ function getWorldConstructor() {
675
834
  function setWorldConstructor(constructor) {
676
835
  worldConstructor = constructor;
677
836
  }
837
+ const defaultScreenshotComparisonOptions = {
838
+ maxDiffPercentage: 0,
839
+ threshold: 0.1,
840
+ alpha: 0.6
841
+ };
842
+ class VisualWorld extends QuickPickleWorld {
843
+ constructor(context, info) {
844
+ super(context, info);
845
+ }
846
+ async init() { }
847
+ get screenshotDir() {
848
+ return this.sanitizePath(this.worldConfig.screenshotDir);
849
+ }
850
+ get screenshotFilename() {
851
+ return `${this.toString().replace(/^.+?Feature: /, 'Feature: ').replace(' ' + this.info.step, '')}.png`;
852
+ }
853
+ get screenshotPath() {
854
+ return this.fullPath(`${this.screenshotDir}/${this.screenshotFilename}`);
855
+ }
856
+ getScreenshotPath(name) {
857
+ if (!name)
858
+ return this.screenshotPath;
859
+ let explodedTags = this.info.explodedIdx ? `_(${this.info.tags.join(',')})` : '';
860
+ return this.fullPath(`${this.screenshotDir}/${name}${explodedTags}.png`);
861
+ }
862
+ async screenshotDiff(actual, expected, opts) {
863
+ // Convert Buffer to ArrayBuffer if needed
864
+ const actualBuffer = actual instanceof buffer.Buffer ?
865
+ actual.buffer.slice(actual.byteOffset, actual.byteOffset + actual.byteLength) :
866
+ actual;
867
+ const expectedBuffer = expected instanceof buffer.Buffer ?
868
+ expected.buffer.slice(expected.byteOffset, expected.byteOffset + expected.byteLength) :
869
+ expected;
870
+ const { width, height } = await imageSize(actualBuffer);
871
+ const diff = buffer.Buffer.from([]);
872
+ const mismatchedPixels = pixelmatch(new Uint8Array(actualBuffer), new Uint8Array(expectedBuffer), diff, width, height, opts);
873
+ const totalPixels = width * height;
874
+ const diffPercentage = (mismatchedPixels / totalPixels) * 100;
875
+ const pass = diffPercentage <= opts.maxDiffPercentage;
876
+ return { pass, diff, diffPercentage };
877
+ }
878
+ }
678
879
 
679
880
  const featureRegex = /\.feature(?:\.md)?$/;
680
881
  const Given = addStepDefinition;
@@ -853,10 +1054,12 @@ exports.DocString = DocString;
853
1054
  exports.Given = Given;
854
1055
  exports.QuickPickleWorld = QuickPickleWorld;
855
1056
  exports.Then = Then;
1057
+ exports.VisualWorld = VisualWorld;
856
1058
  exports.When = When;
857
1059
  exports.applyHooks = applyHooks;
858
1060
  exports.default = quickpickle;
859
1061
  exports.defaultConfig = defaultConfig;
1062
+ exports.defaultScreenshotComparisonOptions = defaultScreenshotComparisonOptions;
860
1063
  exports.defineParameterType = defineParameterType;
861
1064
  exports.explodeTags = explodeTags;
862
1065
  exports.formatStack = formatStack;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/steps.ts","../src/tags.ts","../src/hooks.ts","../src/render.ts","../src/models/DataTable.ts","../src/models/DocString.ts","../src/world.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["ParameterTypeRegistry","ExpressionFactory","CucumberExpressionGenerator","ParameterType","Messages","Gherkin"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/steps.ts","../src/tags.ts","../src/hooks.ts","../src/render.ts","../src/models/DataTable.ts","../src/models/DocString.ts","../src/shims/path.ts","../src/shims/path-sanitizer.ts","../src/world.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":["ParameterTypeRegistry","ExpressionFactory","CucumberExpressionGenerator","ParameterType","Messages","Gherkin","Buffer"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@ import { explodeTags } from './render';
4
4
  import { DataTable } from './models/DataTable';
5
5
  import { DocString } from './models/DocString';
6
6
  import { normalizeTags, tagsMatch } from './tags';
7
- export { setWorldConstructor, getWorldConstructor, QuickPickleWorld, QuickPickleWorldInterface } from './world';
7
+ export { setWorldConstructor, getWorldConstructor, QuickPickleWorld, QuickPickleWorldInterface, ScreenshotComparisonOptions, VisualConfigSetting, VisualWorld, VisualWorldInterface, VisualDiffResult, defaultScreenshotComparisonOptions, InfoConstructor, } from './world';
8
8
  export { DocString, DataTable };
9
9
  export { explodeTags, tagsMatch, normalizeTags, applyHooks };
10
10
  export { defineParameterType } from './steps';