byObject.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. var json = require('../');
  2. var gulp = require('gulp');
  3. it('should modify property of JSON object (by object editor)', function(done) {
  4. var stream = gulp.src('test/test.json').pipe(json({
  5. version: '2.0.0',
  6. }));
  7. stream.on('data', function(file) {
  8. var expected =
  9. '{\n' +
  10. ' "name": "test object",\n' +
  11. ' "version": "2.0.0",\n' +
  12. ' "nested": {\n' +
  13. ' "name": "nested object",\n' +
  14. ' "version": "1.0.0"\n' +
  15. ' },\n' +
  16. ' "authors": ["tom"]\n' +
  17. '}';
  18. file.contents.toString().should.eql(expected);
  19. done();
  20. });
  21. });
  22. it('should add property of JSON object (by object editor)', function(done) {
  23. var stream = gulp.src('test/test.json').pipe(json({
  24. description: 'this is test',
  25. }));
  26. stream.on('data', function(file) {
  27. var expected =
  28. '{\n' +
  29. ' "name": "test object",\n' +
  30. ' "version": "1.0.0",\n' +
  31. ' "nested": {\n' +
  32. ' "name": "nested object",\n' +
  33. ' "version": "1.0.0"\n' +
  34. ' },\n' +
  35. ' "authors": ["tom"],\n' +
  36. ' "description": "this is test"\n' +
  37. '}';
  38. file.contents.toString().should.eql(expected);
  39. done();
  40. });
  41. });
  42. it('should modify nested property of JSON object (by object editor)', function(done) {
  43. var stream = gulp.src('test/test.json').pipe(json({
  44. nested: {
  45. version: '2.0.1',
  46. },
  47. }));
  48. stream.on('data', function(file) {
  49. var expected =
  50. '{\n' +
  51. ' "name": "test object",\n' +
  52. ' "version": "1.0.0",\n' +
  53. ' "nested": {\n' +
  54. ' "name": "nested object",\n' +
  55. ' "version": "2.0.1"\n' +
  56. ' },\n' +
  57. ' "authors": ["tom"]\n' +
  58. '}';
  59. file.contents.toString().should.eql(expected);
  60. done();
  61. });
  62. });
  63. it('should add nested property of JSON object (by object editor)', function(done) {
  64. var stream = gulp.src('test/test.json').pipe(json({
  65. nested: {
  66. description: 'this is test for nested',
  67. },
  68. }));
  69. stream.on('data', function(file) {
  70. var expected =
  71. '{\n' +
  72. ' "name": "test object",\n' +
  73. ' "version": "1.0.0",\n' +
  74. ' "nested": {\n' +
  75. ' "name": "nested object",\n' +
  76. ' "version": "1.0.0",\n' +
  77. ' "description": "this is test for nested"\n' +
  78. ' },\n' +
  79. ' "authors": ["tom"]\n' +
  80. '}';
  81. file.contents.toString().should.eql(expected);
  82. done();
  83. });
  84. });
  85. it('should multiple properties of JSON object (by object editor)', function(done) {
  86. var stream = gulp.src('test/test.json').pipe(json({
  87. version: '2.0.0',
  88. description: 'this is test',
  89. nested: {
  90. version: '2.0.1',
  91. description: 'this is test for nested',
  92. },
  93. }));
  94. stream.on('data', function(file) {
  95. var expected =
  96. '{\n' +
  97. ' "name": "test object",\n' +
  98. ' "version": "2.0.0",\n' +
  99. ' "nested": {\n' +
  100. ' "name": "nested object",\n' +
  101. ' "version": "2.0.1",\n' +
  102. ' "description": "this is test for nested"\n' +
  103. ' },\n' +
  104. ' "authors": ["tom"],\n' +
  105. ' "description": "this is test"\n' +
  106. '}';
  107. file.contents.toString().should.eql(expected);
  108. done();
  109. });
  110. });