diff --git a/tests/acceptance/nested-addons-smoke-test-slow.js b/tests/acceptance/nested-addons-smoke-test-slow.js index 76915cc7c95..30e5e613aed 100644 --- a/tests/acceptance/nested-addons-smoke-test-slow.js +++ b/tests/acceptance/nested-addons-smoke-test-slow.js @@ -52,6 +52,20 @@ describe('Acceptance: nested-addons-smoke-test', function() { .then(function() { expect(file('dist/assets/vendor.js')).to.contain('INNER_ADDON_IMPORT_WITH_APP_IMPORT'); expect(file('dist/assets/vendor.js')).to.contain('INNER_ADDON_IMPORT_WITH_THIS_IMPORT'); + + // RAW comments should have been converted to PREPROCESSED by + // tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/node_modules/preprocesstree-addon + // then from PREPROCESSED to POSTPROCESSED by + // tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/node_modules/postprocesstree-addon + expect(file('dist/assets/vendor.js')).to.contain('POSTPROCESSED node_modules/ember-top-addon/addon/templates/application.hbs'); + expect(file('dist/assets/vendor.js')).to.contain('POSTPROCESSED node_modules/ember-top-addon/addon/index.js'); + expect(file('dist/assets/vendor.css')).to.contain('POSTPROCESSED node_modules/ember-top-addon/addon/styles/app.css'); + + // the pre/post process tree hooks above should *not* have changed RAW's in the current app + expect(file('dist/assets/some-cool-app.js')).to.contain('RAW app/foo.js'); + + // should *not* have changed RAW's in sibling addons + expect(file('dist/assets/vendor.js')).to.contain('RAW node_modules/ember-top-addon/node_modules/ember-inner-addon/addon/index.js'); }); }); }); diff --git a/tests/fixtures/addon/with-nested-addons/app/foo.js b/tests/fixtures/addon/with-nested-addons/app/foo.js new file mode 100644 index 00000000000..55a91a31905 --- /dev/null +++ b/tests/fixtures/addon/with-nested-addons/app/foo.js @@ -0,0 +1 @@ +// RAW app/foo.js diff --git a/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/addon/index.js b/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/addon/index.js new file mode 100644 index 00000000000..d4f9738ea8d --- /dev/null +++ b/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/addon/index.js @@ -0,0 +1 @@ +// RAW node_modules/ember-top-addon/addon/index.js diff --git a/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/addon/styles/app.css b/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/addon/styles/app.css new file mode 100644 index 00000000000..2dc79871001 --- /dev/null +++ b/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/addon/styles/app.css @@ -0,0 +1 @@ +/* RAW node_modules/ember-top-addon/addon/styles/app.css */ diff --git a/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/addon/templates/application.hbs b/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/addon/templates/application.hbs new file mode 100644 index 00000000000..e926291cd48 --- /dev/null +++ b/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/addon/templates/application.hbs @@ -0,0 +1 @@ + diff --git a/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/node_modules/ember-inner-addon/addon/index.js b/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/node_modules/ember-inner-addon/addon/index.js new file mode 100644 index 00000000000..b5874b2dc9a --- /dev/null +++ b/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/node_modules/ember-inner-addon/addon/index.js @@ -0,0 +1 @@ +// RAW node_modules/ember-top-addon/node_modules/ember-inner-addon/addon/index.js diff --git a/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/node_modules/postprocesstree-addon/index.js b/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/node_modules/postprocesstree-addon/index.js new file mode 100644 index 00000000000..620af00b381 --- /dev/null +++ b/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/node_modules/postprocesstree-addon/index.js @@ -0,0 +1,11 @@ +'use strict'; + +const stew = require('broccoli-stew'); + +module.exports = { + name: 'postprocesstree-addon', + + postprocessTree(type, tree) { + return stew.map(tree, contents => contents.replace('PREPROCESSED', 'POSTPROCESSED')); + }, +}; diff --git a/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/node_modules/postprocesstree-addon/package.json b/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/node_modules/postprocesstree-addon/package.json new file mode 100644 index 00000000000..2beaf2647b9 --- /dev/null +++ b/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/node_modules/postprocesstree-addon/package.json @@ -0,0 +1,10 @@ +{ + "name": "postprocesstree-addon", + "version": "0.0.0", + "private": true, + "keywords": [ + "ember-addon" + ], + "dependencies": { + } +} diff --git a/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/node_modules/preprocesstree-addon/index.js b/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/node_modules/preprocesstree-addon/index.js new file mode 100644 index 00000000000..d0ead1cef1d --- /dev/null +++ b/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/node_modules/preprocesstree-addon/index.js @@ -0,0 +1,11 @@ +'use strict'; + +const stew = require('broccoli-stew'); + +module.exports = { + name: 'preprocesstree-addon', + + preprocessTree(type, tree) { + return stew.map(tree, contents => contents.replace('RAW', 'PREPROCESSED')); + }, +}; diff --git a/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/node_modules/preprocesstree-addon/package.json b/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/node_modules/preprocesstree-addon/package.json new file mode 100644 index 00000000000..51bf0fe02fc --- /dev/null +++ b/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/node_modules/preprocesstree-addon/package.json @@ -0,0 +1,10 @@ +{ + "name": "preprocesstree-addon", + "version": "0.0.0", + "private": true, + "keywords": [ + "ember-addon" + ], + "dependencies": { + } +} diff --git a/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/package.json b/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/package.json index 8b82da4d62c..a2a8e09f833 100644 --- a/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/package.json +++ b/tests/fixtures/addon/with-nested-addons/node_modules/ember-top-addon/package.json @@ -7,6 +7,9 @@ ], "dependencies": { "ember-inner-addon": "latest", - "ember-inner-addon2": "latest" + "ember-inner-addon2": "latest", + "ember-cli-htmlbars": "*", + "preprocesstree-addon": "*", + "postprocesstree-addon": "*" } }