This is a small CLI tool that dumps all of Prettier’s default configuration options to a file in the format of your choice.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

test.js 2.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. const fs = require('fs');
  2. const test = require('tape');
  3. const TOML = require('@iarna/toml');
  4. const YAML = require('yaml');
  5. const { defaultConfigFor, formats } = require('.');
  6. test('generate JSON', t => {
  7. t.plan(1);
  8. const result = formats.json.generate();
  9. t.deepEqual(JSON.parse(result), defaultConfigFor('json'));
  10. });
  11. test('generate TOML', t => {
  12. t.plan(1);
  13. const result = formats.toml.generate();
  14. t.deepEqual(TOML.parse(result), defaultConfigFor('toml'));
  15. });
  16. test('generate YAML', t => {
  17. t.plan(1);
  18. const result = formats.yaml.generate();
  19. t.deepEqual(YAML.parse(result), defaultConfigFor('yaml'));
  20. });
  21. test('generate JS', t => {
  22. t.plan(1);
  23. const result = formats.js.generate();
  24. t.deepEqual(eval(result), defaultConfigFor('js'));
  25. });
  26. test('generate package.json', t => {
  27. t.plan(1);
  28. const before = JSON.parse(fs.readFileSync('package.json'));
  29. const result = formats['package.json'].generate();
  30. before.prettier = defaultConfigFor('package.json');
  31. t.deepEqual(JSON.parse(result), before);
  32. });
  33. test('YAML supports infinity, leave rangeEnd in', t => {
  34. t.plan(1);
  35. const result = formats.yaml.generate();
  36. t.equal(YAML.parse(result).rangeEnd, Infinity);
  37. });
  38. test('TOML supports infinity, leave rangeEnd in', t => {
  39. t.plan(2);
  40. const result = TOML.parse(formats.toml.generate());
  41. t.true(Object.keys(result).includes('rangeEnd'));
  42. t.equal(result.rangeEnd, Infinity);
  43. });
  44. test("JSON doesn't support undefined, leave out filepath and parser", t => {
  45. t.plan(2);
  46. const result = JSON.parse(formats.json.generate());
  47. t.false(Object.keys(result).includes('parser'));
  48. t.false(Object.keys(result).includes('filepath'));
  49. });
  50. test("YAML doesn't support undefined, leave out filepath and parser", t => {
  51. t.plan(2);
  52. const result = YAML.parse(formats.yaml.generate());
  53. t.false(Object.keys(result).includes('parser'));
  54. t.false(Object.keys(result).includes('filepath'));
  55. });
  56. test('JS supports undefined, leave in parser and filepath', t => {
  57. t.plan(4);
  58. const result = eval(formats.js.generate());
  59. t.equal(result.parser, undefined);
  60. t.equal(result.filepath, undefined);
  61. t.true(Object.keys(result).includes('parser'));
  62. t.true(Object.keys(result).includes('filepath'));
  63. });