release-it / bumper

Version read/write plugin for release-it

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Failing tests on Windows for \r\n but not only

ath0mas opened this issue · comments

Basic clone and test returns ✖ 18 test(s) failed and ✔ 4 test(s) passed.

My setup:

  • clone master 517aacf
  • npm install
  • npm test
  • Windows 10, Node 17.3.0, npm 8.3.0, git-bash
see details

$ npm test

> @release-it/bumper@3.0.1 test
> bron test.js

✔ should not write in dry run
✔ should not throw
✔ should write plain version text file
✔ should write plain version text file (default text type)
✖ should write new, indented JSON file
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
+ actual - expected

+ '{\n  "version": "0.0.0"\n}\n'
- '{\r\n  "version": "0.0.0"\r\n}\r\n'
     ^
    at C:\workdir\bumper\test.js:72:10
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  generatedMessage: true,
  code: 'ERR_ASSERTION',
  actual: '{\n  "version": "0.0.0"\n}\n',
  expected: '{\r\n  "version": "0.0.0"\r\n}\r\n',
  operator: 'strictEqual'
}
✖ should write version at path
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
+ actual - expected

+ '{\n  "deep": {\n    "sub": {\n      "version": "1.2.3"\n    }\n  }\n}\n'
- '{\n  "deep": {\n    "sub": {\n      "version": "1.2.3"\n    }\n  }\n}\r\n'
                                                                         ^
    at C:\workdir\bumper\test.js:79:10
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  generatedMessage: true,
  code: 'ERR_ASSERTION',
  actual: '{\n  "deep": {\n    "sub": {\n      "version": "1.2.3"\n    }\n  }\n}\n',
  expected: '{\n  "deep": {\n    "sub": {\n      "version": "1.2.3"\n    }\n  }\n}\r\n',
  operator: 'strictEqual'
}
✖ should write version at multiple paths
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
+ actual - expected ... Lines skipped

  '{\n' +
    '  "version": "1.2.3",\n' +
...
    '    }\n' +
    '  }\n' +
+   '}\n'
-   '}\r\n'
    at C:\workdir\bumper\test.js:88:10
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  generatedMessage: true,
  code: 'ERR_ASSERTION',
  actual: '{\n' +
    '  "version": "1.2.3",\n' +
    '  "deep": {\n' +
    '    "version": "1.2.3",\n' +
    '    "sub": {\n' +
    '      "version": "1.2.3"\n' +
    '    }\n' +
    '  }\n' +
    '}\n',
  expected: '{\n' +
    '  "version": "1.2.3",\n' +
    '  "deep": {\n' +
    '    "version": "1.2.3",\n' +
    '    "sub": {\n' +
    '      "version": "1.2.3"\n' +
    '    }\n' +
    '  }\n' +
    '}\r\n',
  operator: 'strictEqual'
}
✖ should return latest version from JSON file
TypeError: Cannot read properties of null (reading 'toString')
    at Bumper.getLatestVersion (C:\workdir\bumper\index.js:60:35)
    at async C:\workdir\bumper\test.js:36:19
✖ should return latest version from plain text file
TypeError: Cannot read properties of null (reading 'toString')
    at Bumper.getLatestVersion (C:\workdir\bumper\index.js:60:35)
    at async C:\workdir\bumper\test.js:43:19
✖ should return latest version from plain text file (.txt)
TypeError: Cannot read properties of null (reading 'toString')
    at Bumper.getLatestVersion (C:\workdir\bumper\index.js:60:35)
    at async C:\workdir\bumper\test.js:50:19
✖ should return latest version from YAML file
TypeError: Cannot read properties of null (reading 'toString')
    at Bumper.getLatestVersion (C:\workdir\bumper\index.js:60:35)
    at async C:\workdir\bumper\test.js:57:19
✖ should write indented JSON file
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
+ actual - expected

+ '{\n  "version": "1.2.3"\n}\n'
- '{\r\n  "version": "1.2.3"\r\n}\r\n'
     ^
    at C:\workdir\bumper\test.js:65:10
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  generatedMessage: true,
  code: 'ERR_ASSERTION',
  actual: '{\n  "version": "1.2.3"\n}\n',
  expected: '{\r\n  "version": "1.2.3"\r\n}\r\n',
  operator: 'strictEqual'
}
✖ should write plain text file
TypeError: Cannot read properties of null (reading 'toString')
    at Bumper.getLatestVersion (C:\workdir\bumper\index.js:60:35)
    at async module.exports.runTasks (C:\workdir\bumper\node_modules\release-it\test\util\index.js:58:26)
    at async C:\workdir\bumper\test.js:132:3
✖ should read/write plain text file
TypeError: Cannot read properties of null (reading 'toString')
    at Bumper.getLatestVersion (C:\workdir\bumper\index.js:60:35)
    at async module.exports.runTasks (C:\workdir\bumper\node_modules\release-it\test\util\index.js:58:26)
    at async C:\workdir\bumper\test.js:148:3
✖ should read/write plain text file (.txt)
TypeError: Cannot read properties of null (reading 'toString')
    at Bumper.getLatestVersion (C:\workdir\bumper\index.js:60:35)
    at async module.exports.runTasks (C:\workdir\bumper\node_modules\release-it\test\util\index.js:58:26)
    at async C:\workdir\bumper\test.js:157:3
✖ should read one and write multiple files
TypeError: Cannot read properties of null (reading 'toString')
    at Bumper.getLatestVersion (C:\workdir\bumper\index.js:60:35)
    at async module.exports.runTasks (C:\workdir\bumper\node_modules\release-it\test\util\index.js:58:26)
    at async C:\workdir\bumper\test.js:166:3
✖ should read one and write multiple files and respect prefix
TypeError: Cannot read properties of null (reading 'toString')
    at Bumper.getLatestVersion (C:\workdir\bumper\index.js:60:35)
    at async module.exports.runTasks (C:\workdir\bumper\node_modules\release-it\test\util\index.js:58:26)
    at async C:\workdir\bumper\test.js:176:3
✖ should write toml file
TomlError: Unknown character "123" at row 1, col 2, pos 1:
1> {}
    ^


    at TOMLParser.parseStart (C:\workdir\bumper\node_modules\@iarna\toml\lib\toml-parser.js:297:26)
    at TOMLParser.runOne (C:\workdir\bumper\node_modules\@iarna\toml\lib\parser.js:64:30)
    at TOMLParser.parse (C:\workdir\bumper\node_modules\@iarna\toml\lib\parser.js:45:22)
    at Object.parseString [as parse] (C:\workdir\bumper\node_modules\@iarna\toml\parse-string.js:13:12)
    at parse (C:\workdir\bumper\index.js:42:19)
    at C:\workdir\bumper\index.js:89:30
    at async Promise.all (index 0)
    at async module.exports.runTasks (C:\workdir\bumper\node_modules\release-it\test\util\index.js:69:3)
    at async C:\workdir\bumper\test.js:111:3 {
  fromTOML: true,
  wrapped: null,
  line: 0,
  col: 1,
  pos: 1
}
✖ should write toml file (.toml)
TomlError: Unknown character "123" at row 1, col 2, pos 1:
1> {}
    ^


    at TOMLParser.parseStart (C:\workdir\bumper\node_modules\@iarna\toml\lib\toml-parser.js:297:26)
    at TOMLParser.runOne (C:\workdir\bumper\node_modules\@iarna\toml\lib\parser.js:64:30)
    at TOMLParser.parse (C:\workdir\bumper\node_modules\@iarna\toml\lib\parser.js:45:22)
    at Object.parseString [as parse] (C:\workdir\bumper\node_modules\@iarna\toml\parse-string.js:13:12)
    at parse (C:\workdir\bumper\index.js:42:19)
    at C:\workdir\bumper\index.js:89:30
    at async Promise.all (index 0)
    at async module.exports.runTasks (C:\workdir\bumper\node_modules\release-it\test\util\index.js:69:3)
    at async C:\workdir\bumper\test.js:118:3 {
  fromTOML: true,
  wrapped: null,
  line: 0,
  col: 1,
  pos: 1
}
✖ should write ini file
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
+ actual - expected

+ '{}=true\r\n\r\n[path]\r\nversion=1.0.1\r\n'
- 'path.version=1.0.1\r\npath.name=fake\r\n'
    at C:\workdir\bumper\test.js:126:10
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  generatedMessage: true,
  code: 'ERR_ASSERTION',
  actual: '{}=true\r\n\r\n[path]\r\nversion=1.0.1\r\n',
  expected: 'path.version=1.0.1\r\npath.name=fake\r\n',
  operator: 'strictEqual'
}
✖ should write YAML file
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
+ actual - expected

+ 'version: 1.0.1\n'
- 'version: 1.0.1\r\n'
                  ^
    at C:\workdir\bumper\test.js:140:10
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  generatedMessage: true,
  code: 'ERR_ASSERTION',
  actual: 'version: 1.0.1\n',
  expected: 'version: 1.0.1\r\n',
  operator: 'strictEqual'
}
✖ should write various file types
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
+ actual - expected

+ '1.0.1'
- '1.0.1\r\n'
        ^
    at C:\workdir\bumper\test.js:187:10
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  generatedMessage: true,
  code: 'ERR_ASSERTION',
  actual: '1.0.1',
  expected: '1.0.1\r\n',
  operator: 'strictEqual'
}

✖ 18 test(s) failed
✔ 4 test(s) passed

➡ AssertionError, TypeError, TomlError

No more problem, with master 5c2e3b6.