diff --git a/pkg/content_manager_int_test.go b/pkg/content_manager_int_test.go index 476d2a9..e5a6431 100644 --- a/pkg/content_manager_int_test.go +++ b/pkg/content_manager_int_test.go @@ -28,6 +28,14 @@ func TestPullOnePage(t *testing.T) { testPullContent(t, "test_cases/pull_tests/one_page", "", "/content/mysite/us/.content.xml", nil, "") } +func TestPullCqTemplateNormal(t *testing.T) { + testPullContent(t, "test_cases/pull_tests/cq_template", "", "apps/mysite/components/tabs/_cq_template/.content.xml", nil, "") +} + +func TestPullCqTemplateFlatten(t *testing.T) { + testPullContent(t, "test_cases/pull_tests/cq_template", "", "apps/mysite/components/tabs/_cq_template.xml", nil, "") +} + func testPullContent(t *testing.T, expectedDir string, relDir string, relFile string, filterRoots []string, filterFile string) { aem := pkg.DefaultAEM() contentManager := pkg.NewContentManager(aem) diff --git a/pkg/test_cases/main_content/META-INF/MANIFEST.MF b/pkg/test_cases/main_content/META-INF/MANIFEST.MF new file mode 100644 index 0000000..0e4c49b --- /dev/null +++ b/pkg/test_cases/main_content/META-INF/MANIFEST.MF @@ -0,0 +1,5 @@ +Manifest-Version: 1.0 +Content-Package-Roots: /apps/mysite,/conf/mysite,/content/mysite +Content-Package-Type: mixed +Content-Package-Id: my_packages:test-content + diff --git a/pkg/test_cases/main_content/META-INF/vault/config.xml b/pkg/test_cases/main_content/META-INF/vault/config.xml new file mode 100644 index 0000000..b525f1c --- /dev/null +++ b/pkg/test_cases/main_content/META-INF/vault/config.xml @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pkg/test_cases/main_content/META-INF/vault/definition/.content.xml b/pkg/test_cases/main_content/META-INF/vault/definition/.content.xml new file mode 100644 index 0000000..1f38a93 --- /dev/null +++ b/pkg/test_cases/main_content/META-INF/vault/definition/.content.xml @@ -0,0 +1,38 @@ + + + + + + + + diff --git a/pkg/test_cases/main_content/META-INF/vault/filter.xml b/pkg/test_cases/main_content/META-INF/vault/filter.xml new file mode 100644 index 0000000..644c959 --- /dev/null +++ b/pkg/test_cases/main_content/META-INF/vault/filter.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/pkg/test_cases/main_content/META-INF/vault/nodetypes.cnd b/pkg/test_cases/main_content/META-INF/vault/nodetypes.cnd new file mode 100644 index 0000000..78fa1be --- /dev/null +++ b/pkg/test_cases/main_content/META-INF/vault/nodetypes.cnd @@ -0,0 +1,145 @@ +<'sling'='http://sling.apache.org/jcr/sling/1.0'> +<'cq'='http://www.day.com/jcr/cq/1.0'> +<'nt'='http://www.jcp.org/jcr/nt/1.0'> +<'jcr'='http://www.jcp.org/jcr/1.0'> +<'mix'='http://www.jcp.org/jcr/mix/1.0'> +<'rep'='internal'> +<'dam'='http://www.day.com/dam/1.0'> + +[sling:Resource] + mixin + - sling:resourceType (string) + +[cq:ClientLibraryFolder] > sling:Folder + - dependencies (string) multiple + - categories (string) multiple + - embed (string) multiple + - channels (string) multiple + +[sling:Folder] > nt:folder + - * (undefined) multiple + - * (undefined) + + * (nt:base) = sling:Folder version + +[cq:Page] > nt:hierarchyNode + orderable primaryitem jcr:content + + jcr:content (nt:base) = nt:unstructured + + * (nt:base) = nt:base version + +[cq:Taggable] + mixin + - cq:tags (string) multiple + +[sling:OrderedFolder] > sling:Folder + orderable + + * (nt:base) = sling:OrderedFolder version + +[cq:Component] > mix:title, nt:folder, sling:ResourceSuperType + - dialogPath (string) + - cq:noDecoration (boolean) + - allowedChildren (string) multiple + - * (undefined) + - cq:isContainer (boolean) + - allowedParents (string) multiple + - * (undefined) multiple + - cq:cellName (string) + - componentGroup (string) + + dialog (nt:base) = nt:unstructured + + design_dialog (nt:base) = nt:unstructured + + cq:htmlTag (nt:base) = nt:unstructured + + * (nt:base) = nt:base multiple version + + cq:infoProviders (nt:base) = nt:unstructured + + cq:editConfig (cq:EditConfig) = cq:EditConfig + + icon.png (nt:file) + + cq:childEditConfig (cq:EditConfig) = cq:EditConfig + + thumbnail.png (nt:file) + + virtual (nt:base) = sling:Folder + +[sling:ResourceSuperType] + mixin + - sling:resourceSuperType (string) + +[cq:EditConfig] > nt:hierarchyNode, nt:unstructured + orderable + - cq:dialogMode (string) < 'auto', 'floating', 'inline' + - cq:emptyText (string) + - cq:layout (string) < 'editbar', 'rollover', 'auto' + - cq:inherit (boolean) + - cq:actions (string) multiple + + cq:inplaceEditing (cq:InplaceEditingConfig) = cq:InplaceEditingConfig + + cq:actionConfigs (nt:base) = nt:unstructured + + cq:listeners (nt:base) = cq:EditListenersConfig + + cq:formParameters (nt:base) = nt:unstructured + + cq:dropTargets (nt:base) = nt:unstructured + +[cq:InplaceEditingConfig] > nt:unstructured + orderable + - editorType (string) + - configPath (string) + - active (boolean) + + config (nt:unstructured) = nt:unstructured + +[cq:EditListenersConfig] + - afteredit (string) + - aftermove (string) + - afterremove (string) + - afterinsert (string) + - * (undefined) + - afterdelete (string) + - * (undefined) multiple + - aftercreate (string) + + * (nt:base) = nt:base multiple version + +[cq:ReplicationStatus] + mixin + - cq:lastReplicatedBy (string) ignore + - cq:lastPublished (date) ignore + - cq:lastReplicationStatus (string) ignore + - cq:lastPublishedBy (string) ignore + - cq:lastReplicationAction (string) ignore + - cq:lastReplicated (date) ignore + +[rep:RepoAccessControllable] + mixin + + rep:repoPolicy (rep:Policy) protected ignore + +[cq:PageContent] > cq:OwnerTaggable, cq:ReplicationStatus, mix:created, mix:title, nt:unstructured, sling:Resource, sling:VanityPath + orderable + - cq:lastModified (date) + - cq:template (string) + - pageTitle (string) + - offTime (date) + - hideInNav (boolean) + - cq:lastModifiedBy (string) + - onTime (date) + - jcr:language (string) + - cq:allowedTemplates (string) multiple + - cq:designPath (string) + - navTitle (string) + +[cq:OwnerTaggable] > cq:Taggable + mixin + +[sling:VanityPath] + mixin + - sling:vanityPath (string) multiple + - sling:redirect (boolean) + - sling:vanityOrder (long) + - sling:redirectStatus (long) + +[cq:Template] > mix:title, nt:hierarchyNode + - * (undefined) multiple + - allowedChildren (string) multiple + - allowedParents (string) multiple + - ranking (long) + - * (undefined) + + thumbnail.png (nt:file) + + workflows (nt:base) + + * (nt:base) = nt:base multiple version + + jcr:content (nt:base) + + icon.png (nt:file) + +[dam:Thumbnails] + mixin + + dam:thumbnails (nt:folder) + diff --git a/pkg/test_cases/main_content/META-INF/vault/properties.xml b/pkg/test_cases/main_content/META-INF/vault/properties.xml new file mode 100644 index 0000000..9d94483 --- /dev/null +++ b/pkg/test_cases/main_content/META-INF/vault/properties.xml @@ -0,0 +1,21 @@ + + + +FileVault Package Properties +admin +test-content +2024-10-04T00:03:44.258Z +admin +false +2024-10-04T00:03:44.358Z +2 + +mixed +false + +2 + +my_packages +2024-10-04T00:03:44.258Z +admin + diff --git a/pkg/test_cases/main_content/jcr_root/.content.xml b/pkg/test_cases/main_content/jcr_root/.content.xml new file mode 100644 index 0000000..8ea9f2a --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/.content.xml @@ -0,0 +1,6 @@ + + diff --git a/pkg/test_cases/main_content/jcr_root/apps/mysite/clientlibs/clientlib-site/.content.xml b/pkg/test_cases/main_content/jcr_root/apps/mysite/clientlibs/clientlib-site/.content.xml new file mode 100644 index 0000000..cbb48e7 --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/apps/mysite/clientlibs/clientlib-site/.content.xml @@ -0,0 +1,8 @@ + + diff --git a/pkg/test_cases/main_content/jcr_root/apps/mysite/clientlibs/clientlib-site/css.txt b/pkg/test_cases/main_content/jcr_root/apps/mysite/clientlibs/clientlib-site/css.txt new file mode 100644 index 0000000..f852363 --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/apps/mysite/clientlibs/clientlib-site/css.txt @@ -0,0 +1,3 @@ +#base=css + +site.css \ No newline at end of file diff --git a/pkg/test_cases/main_content/jcr_root/apps/mysite/clientlibs/clientlib-site/css/site.css b/pkg/test_cases/main_content/jcr_root/apps/mysite/clientlibs/clientlib-site/css/site.css new file mode 100644 index 0000000..3a86ca3 --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/apps/mysite/clientlibs/clientlib-site/css/site.css @@ -0,0 +1 @@ +body,html{background:#ececec;color:#202020;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1pc;line-height:1.5;margin:0}@media(prefers-color-scheme:dark){body,html{background:#131313;color:#dfdfdf}}a{color:#2020e0}@media(prefers-color-scheme:dark){a{color:#dfdf1f}}button,input,optgroup,select,textarea{font:inherit}.cmp-helloworld__item-label{margin-bottom:0}.cmp-helloworld__item-output{margin-top:0}.cmp-navigation__item--level-0:hover>.cmp-navigation__group{background:#ececec}main.container{padding:.5em 1em}footer.experiencefragment{border-top:1px solid #202020;padding:.5em 1em}@media(prefers-color-scheme:dark){footer.experiencefragment{border-color:#dfdfdf}}footer.experiencefragment .cmp-separator__horizontal-rule{border:0;margin:0}header.experiencefragment{border-bottom:1px solid #202020;padding:.5em 1em}@media(prefers-color-scheme:dark){header.experiencefragment{border-bottom-color:#dfdfdf}}header.experiencefragment a{color:#202020;text-decoration:none}@media(prefers-color-scheme:dark){header.experiencefragment a{color:#dfdfdf}}header.experiencefragment a:focus,header.experiencefragment a:hover{color:#2020e0;text-decoration:underline}@media(prefers-color-scheme:dark){header.experiencefragment a:focus,header.experiencefragment a:hover{color:#dfdf1f}}header.experiencefragment .cmp-container{display:grid;grid-template-columns:4fr 1fr 1fr}header.experiencefragment .cmp-navigation__group{list-style:none;margin:0;padding:0}header.experiencefragment .cmp-navigation__item--level-0{display:grid;grid-template-columns:1fr 3fr}header.experiencefragment .cmp-navigation__item--level-0>.cmp-navigation__group{display:grid;grid-template-columns:repeat(3,1fr)}header.experiencefragment .cmp-navigation__item-link{display:block}header.experiencefragment .cmp-navigation__item--active>.cmp-navigation__item-link{font-weight:700}header.experiencefragment .cmp-languagenavigation{position:relative}header.experiencefragment .cmp-languagenavigation:before{background-image:url('data:image/svg+xml;utf8,');background-repeat:no-repeat;content:" ";display:block;height:1.5em}@media(prefers-color-scheme:dark){header.experiencefragment .cmp-languagenavigation:before{background-image:url('data:image/svg+xml;utf8,')}}header.experiencefragment .cmp-languagenavigation>.cmp-languagenavigation__group{background:#ececec;border:1px solid #202020;border-top:0;padding:0 8px;position:absolute;top:34px;-webkit-transition-delay:.5s;transition-delay:.5s;visibility:hidden;width:20em}@media(prefers-color-scheme:dark){header.experiencefragment .cmp-languagenavigation>.cmp-languagenavigation__group{background:#131313;border-color:#dfdfdf}}header.experiencefragment .cmp-languagenavigation:hover>.cmp-languagenavigation__group{-webkit-transition-delay:0s;transition-delay:0s;visibility:visible}header.experiencefragment .cmp-languagenavigation__group{list-style:none;margin:0;padding:0}header.experiencefragment .cmp-languagenavigation__item-title{font-size:x-small;text-transform:uppercase}header.experiencefragment .cmp-languagenavigation__item--level-0{margin-bottom:.5em}header.experiencefragment .cmp-languagenavigation__item--level-1{display:inline}header.experiencefragment .cmp-languagenavigation__item--level-1:not(:first-child):before{content:" | "}header.experiencefragment .cmp-languagenavigation__item--active>.cmp-languagenavigation__item-link{font-weight:700}header.experiencefragment .cmp-search__field{display:-webkit-box;display:-ms-flexbox;display:flex;margin:-3px 0}header.experiencefragment .cmp-search__input{height:26px} \ No newline at end of file diff --git a/pkg/test_cases/main_content/jcr_root/apps/mysite/clientlibs/clientlib-site/js.txt b/pkg/test_cases/main_content/jcr_root/apps/mysite/clientlibs/clientlib-site/js.txt new file mode 100644 index 0000000..ffaf1af --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/apps/mysite/clientlibs/clientlib-site/js.txt @@ -0,0 +1,3 @@ +#base=js + +site.js \ No newline at end of file diff --git a/pkg/test_cases/main_content/jcr_root/apps/mysite/clientlibs/clientlib-site/js/site.js b/pkg/test_cases/main_content/jcr_root/apps/mysite/clientlibs/clientlib-site/js/site.js new file mode 100644 index 0000000..1ca7fa6 --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/apps/mysite/clientlibs/clientlib-site/js/site.js @@ -0,0 +1 @@ +!function(){var e={356:function(){!function(){"use strict";var e='[data-cmp-is="helloworld"]',t='[data-cmp-hook-helloworld="property"]',n='[data-cmp-hook-helloworld="model"]';function o(e){e&&e.element&&function(e){e.element.removeAttribute("data-cmp-is");var o=e.element.querySelectorAll(t);o=1==o.length?o[0].textContent:null;var r=e.element.querySelectorAll(n);r=1==r.length?r[0].textContent:null,console&&console.log&&console.log("HelloWorld component JavaScript example","\nText property:\n",o,"\nModel message:\n",r)}(e)}function r(){for(var t=document.querySelectorAll(e),n=0;n0&&n.forEach((function(t){t.querySelectorAll&&[].slice.call(t.querySelectorAll(e)).forEach((function(e){new o({element:e})}))}))}))})).observe(l,{subtree:!0,childList:!0,characterData:!0})}"loading"!==document.readyState?r():document.addEventListener("DOMContentLoaded",r)}()}},t={};function n(o){var r=t[o];if(void 0!==r)return r.exports;var l=t[o]={exports:{}};return e[o](l,l.exports,n),l.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){"use strict";n(356)}()}(); \ No newline at end of file diff --git a/pkg/test_cases/main_content/jcr_root/apps/mysite/components/helloworld/.content.xml b/pkg/test_cases/main_content/jcr_root/apps/mysite/components/helloworld/.content.xml new file mode 100644 index 0000000..3fad355 --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/apps/mysite/components/helloworld/.content.xml @@ -0,0 +1,5 @@ + + diff --git a/pkg/test_cases/main_content/jcr_root/apps/mysite/components/helloworld/_cq_dialog.xml b/pkg/test_cases/main_content/jcr_root/apps/mysite/components/helloworld/_cq_dialog.xml new file mode 100644 index 0000000..16d3907 --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/apps/mysite/components/helloworld/_cq_dialog.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + diff --git a/pkg/test_cases/main_content/jcr_root/apps/mysite/components/helloworld/_cq_editConfig.xml b/pkg/test_cases/main_content/jcr_root/apps/mysite/components/helloworld/_cq_editConfig.xml new file mode 100644 index 0000000..614b8f8 --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/apps/mysite/components/helloworld/_cq_editConfig.xml @@ -0,0 +1,4 @@ + + diff --git a/pkg/test_cases/main_content/jcr_root/apps/mysite/components/helloworld/helloworld.html b/pkg/test_cases/main_content/jcr_root/apps/mysite/components/helloworld/helloworld.html new file mode 100644 index 0000000..c090093 --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/apps/mysite/components/helloworld/helloworld.html @@ -0,0 +1,26 @@ + +
+

Hello World Component

+
+

Text property:

+
${properties.text}
+
+
+

Model message:

+
${model.message}
+
+
diff --git a/pkg/test_cases/main_content/jcr_root/conf/mysite/.content.xml b/pkg/test_cases/main_content/jcr_root/conf/mysite/.content.xml new file mode 100644 index 0000000..c079c59 --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/conf/mysite/.content.xml @@ -0,0 +1,4 @@ + + diff --git a/pkg/test_cases/main_content/jcr_root/conf/mysite/_sling_configs/.content.xml b/pkg/test_cases/main_content/jcr_root/conf/mysite/_sling_configs/.content.xml new file mode 100644 index 0000000..b7bb260 --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/conf/mysite/_sling_configs/.content.xml @@ -0,0 +1,13 @@ + + + + + + diff --git a/pkg/test_cases/main_content/jcr_root/conf/mysite/_sling_configs/_rep_policy.xml b/pkg/test_cases/main_content/jcr_root/conf/mysite/_sling_configs/_rep_policy.xml new file mode 100644 index 0000000..ad26bd5 --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/conf/mysite/_sling_configs/_rep_policy.xml @@ -0,0 +1,20 @@ + + + + + + + diff --git a/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/.content.xml b/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/.content.xml new file mode 100644 index 0000000..491392d --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/.content.xml @@ -0,0 +1,3 @@ + + diff --git a/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/.content.xml b/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/.content.xml new file mode 100644 index 0000000..08686a1 --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/.content.xml @@ -0,0 +1,8 @@ + + + + + + + diff --git a/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/template-types/.content.xml b/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/template-types/.content.xml new file mode 100644 index 0000000..4ed8e07 --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/template-types/.content.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/template-types/page/.content.xml b/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/template-types/page/.content.xml new file mode 100644 index 0000000..db0d9ec --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/template-types/page/.content.xml @@ -0,0 +1,8 @@ + + + + diff --git a/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/template-types/page/initial/.content.xml b/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/template-types/page/initial/.content.xml new file mode 100644 index 0000000..20a1550 --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/template-types/page/initial/.content.xml @@ -0,0 +1,18 @@ + + + + + + + + diff --git a/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/template-types/page/policies/.content.xml b/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/template-types/page/policies/.content.xml new file mode 100644 index 0000000..20096f3 --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/template-types/page/policies/.content.xml @@ -0,0 +1,18 @@ + + + + + + + + diff --git a/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/template-types/page/structure/.content.xml b/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/template-types/page/structure/.content.xml new file mode 100644 index 0000000..911a61a --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/template-types/page/structure/.content.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + diff --git a/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/templates/.content.xml b/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/templates/.content.xml new file mode 100644 index 0000000..ad2f1d4 --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/templates/.content.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/templates/page-content/.content.xml b/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/templates/page-content/.content.xml new file mode 100644 index 0000000..3f5615e --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/templates/page-content/.content.xml @@ -0,0 +1,12 @@ + + + + diff --git a/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/templates/page-content/initial/.content.xml b/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/templates/page-content/initial/.content.xml new file mode 100644 index 0000000..b4b39da --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/templates/page-content/initial/.content.xml @@ -0,0 +1,26 @@ + + + + + + + <container + jcr:primaryType="nt:unstructured" + sling:resourceType="mysite/components/container" + layout="responsiveGrid"/> + </container> + </root> + </jcr:content> +</jcr:root> diff --git a/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/templates/page-content/policies/.content.xml b/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/templates/page-content/policies/.content.xml new file mode 100644 index 0000000..068be25 --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/templates/page-content/policies/.content.xml @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8"?> +<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0" + jcr:primaryType="cq:Page"> + <jcr:content + cq:lastModified="{Date}2019-12-02T17:37:24.544+01:00" + cq:lastModifiedBy="admin" + cq:policy="mysite/components/page/policy" + jcr:primaryType="nt:unstructured" + sling:resourceType="wcm/core/components/policies/mappings"> + <root + cq:policy="mysite/components/container/policy_1574694950110" + jcr:primaryType="nt:unstructured" + sling:resourceType="wcm/core/components/policies/mapping"> + <experiencefragment-header + cq:policy="mysite/components/experiencefragment/policy_header" + jcr:primaryType="nt:unstructured" + sling:resourceType="wcm/core/components/policies/mapping"/> + <experiencefragment-footer + cq:policy="mysite/components/experiencefragment/policy_footer" + jcr:primaryType="nt:unstructured" + sling:resourceType="wcm/core/components/policies/mapping"/> + <container + cq:policy="mysite/components/container/policy_649128221558427" + jcr:primaryType="nt:unstructured" + sling:resourceType="wcm/core/components/policies/mapping"> + <container + cq:policy="mysite/components/container/policy_1574695586800" + jcr:primaryType="nt:unstructured" + sling:resourceType="wcm/core/components/policies/mapping"> + <mysite jcr:primaryType="nt:unstructured"> + <components jcr:primaryType="nt:unstructured"> + <form jcr:primaryType="nt:unstructured"> + <container + cq:policy="mysite/components/form/container/form-container" + jcr:primaryType="nt:unstructured" + sling:resourceType="wcm/core/components/policies/mapping"/> + </form> + <title + cq:policy="mysite/components/title/policy_641528232375303" + jcr:primaryType="nt:unstructured" + sling:resourceType="wcm/core/components/policies/mapping"/> + <text + cq:policy="mysite/components/text/policy_641562756958017" + jcr:primaryType="nt:unstructured" + sling:resourceType="wcm/core/components/policies/mapping"/> + <teaser + cq:policy="mysite/components/teaser/policy_1575031387650" + jcr:primaryType="nt:unstructured" + sling:resourceType="wcm/core/components/policies/mapping"/> + <image + cq:policy="mysite/components/image/policy_651483963895698" + jcr:primaryType="nt:unstructured" + sling:resourceType="wcm/core/components/policies/mapping"/> + <download + cq:policy="mysite/components/download/policy_1575032193319" + jcr:primaryType="nt:unstructured" + sling:resourceType="wcm/core/components/policies/mapping"/> + </components> + </mysite> + </container> + <title + cq:policy="mysite/components/title/policy_641475696923109" + jcr:primaryType="nt:unstructured" + sling:resourceType="wcm/core/components/policies/mapping"/> + </container> + </root> + </jcr:content> +</jcr:root> diff --git a/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/templates/page-content/structure/.content.xml b/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/templates/page-content/structure/.content.xml new file mode 100644 index 0000000..d06ae8d --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/conf/mysite/settings/wcm/templates/page-content/structure/.content.xml @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8"?> +<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0" + jcr:primaryType="cq:Page"> + <jcr:content + cq:deviceGroups="[mobile/groups/responsive]" + cq:template="/conf/mysite/settings/wcm/templates/page-content" + jcr:primaryType="cq:PageContent" + sling:resourceType="mysite/components/page"> + <root + jcr:primaryType="nt:unstructured" + sling:resourceType="mysite/components/container" + layout="responsiveGrid"> + <experiencefragment-header + jcr:primaryType="nt:unstructured" + sling:resourceType="mysite/components/experiencefragment" + fragmentVariationPath="/content/experience-fragments/mysite/us/en/site/header/master"/> + <container + jcr:primaryType="nt:unstructured" + sling:resourceType="mysite/components/container" + layout="responsiveGrid"> + <title + jcr:primaryType="nt:unstructured" + sling:resourceType="mysite/components/title" + editable="{Boolean}true"/> + <container + jcr:primaryType="nt:unstructured" + sling:resourceType="mysite/components/container" + editable="{Boolean}true" + layout="responsiveGrid"/> + </container> + <experiencefragment-footer + jcr:primaryType="nt:unstructured" + sling:resourceType="mysite/components/experiencefragment" + fragmentVariationPath="/content/experience-fragments/mysite/us/en/site/footer/master"/> + </root> + <cq:responsive jcr:primaryType="nt:unstructured"> + <breakpoints jcr:primaryType="nt:unstructured"> + <phone + jcr:primaryType="nt:unstructured" + title="Smaller Screen" + width="{Long}768"/> + <tablet + jcr:primaryType="nt:unstructured" + title="Tablet" + width="{Long}1200"/> + </breakpoints> + </cq:responsive> + </jcr:content> +</jcr:root> diff --git a/pkg/test_cases/main_content/jcr_root/content/.content.xml b/pkg/test_cases/main_content/jcr_root/content/.content.xml new file mode 100644 index 0000000..3f0d658 --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/content/.content.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:rep="internal" + jcr:mixinTypes="[rep:AccessControllable]" + jcr:primaryType="sling:OrderedFolder"> + <rep:policy/> + <dam/> + <campaigns/> + <projects/> + <experience-fragments/> + <cq:tags/> + <usergenerated/> + <core-components-examples/> + <launches/> + <communities/> + <sites/> + <forms/> + <catalogs/> + <screens/> + <community/> + <community-components/> + <we-retail/> + <wknd-events/> + <cq:graphql/> + <honda-demo-content/> + <nemours-demo/> + <mysite/> +</jcr:root> diff --git a/pkg/test_cases/main_content/jcr_root/content/mysite/.content.xml b/pkg/test_cases/main_content/jcr_root/content/mysite/.content.xml new file mode 100644 index 0000000..43c05ae --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/content/mysite/.content.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" + jcr:primaryType="cq:Page"> + <jcr:content + cq:allowedTemplates="[/conf/mysite/settings/wcm/templates/(?!xf-).*]" + cq:conf="/conf/mysite" + cq:redirectTarget="/content/mysite/us/en" + cq:template="/conf/mysite/settings/wcm/templates/page-content" + jcr:primaryType="cq:PageContent" + jcr:title="My Site" + sling:configRef="/conf/mysite" + sling:redirect="{Boolean}true" + sling:redirectStatus="{Long}302" + sling:resourceType="mysite/components/page"/> + <us/> +</jcr:root> diff --git a/pkg/test_cases/main_content/jcr_root/content/mysite/us/.content.xml b/pkg/test_cases/main_content/jcr_root/content/mysite/us/.content.xml new file mode 100644 index 0000000..d88a60e --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/content/mysite/us/.content.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" + jcr:primaryType="cq:Page"> + <jcr:content + cq:redirectTarget="/content/mysite/us/en" + cq:template="/conf/mysite/settings/wcm/templates/page-content" + jcr:primaryType="cq:PageContent" + jcr:title="us" + sling:resourceType="mysite/components/page"/> + <en/> +</jcr:root> diff --git a/pkg/test_cases/main_content/jcr_root/content/mysite/us/en/.content.xml b/pkg/test_cases/main_content/jcr_root/content/mysite/us/en/.content.xml new file mode 100644 index 0000000..99c0329 --- /dev/null +++ b/pkg/test_cases/main_content/jcr_root/content/mysite/us/en/.content.xml @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="UTF-8"?> +<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0" + jcr:primaryType="cq:Page"> + <jcr:content + cq:contextHubPath="/etc/cloudsettings/default/contexthub" + cq:contextHubSegmentsPath="/etc/segmentation/contexthub" + cq:template="/conf/mysite/settings/wcm/templates/page-content" + jcr:primaryType="cq:PageContent" + jcr:title="en" + sling:resourceType="mysite/components/page" + pageTitle="My Site"> + <root + jcr:primaryType="nt:unstructured" + sling:resourceType="mysite/components/container" + layout="responsiveGrid"> + <container + jcr:primaryType="nt:unstructured" + sling:resourceType="mysite/components/container"> + <title + jcr:primaryType="nt:unstructured" + sling:resourceType="mysite/components/title"/> + <container + jcr:primaryType="nt:unstructured" + sling:resourceType="mysite/components/container" + layout="responsiveGrid"> + <teaser + jcr:description="<p>Don't stop half way, go for the top!</p> " + jcr:primaryType="nt:unstructured" + jcr:title="Epic Journey" + sling:resourceType="mysite/components/teaser" + actionsEnabled="false" + descriptionFromPage="false" + textIsRich="true" + titleFromPage="false"> + <cq:responsive jcr:primaryType="nt:unstructured"> + <default + jcr:primaryType="nt:unstructured" + offset="0" + width="4"/> + </cq:responsive> + </teaser> + <teaser_copy + jcr:description="<p>Don't stop half way, go for the top!</p> " + jcr:primaryType="nt:unstructured" + jcr:title="Epic Journey" + sling:resourceType="mysite/components/teaser" + actionsEnabled="false" + descriptionFromPage="false" + textIsRich="true" + titleFromPage="false"> + <cq:responsive jcr:primaryType="nt:unstructured"> + <default + jcr:primaryType="nt:unstructured" + offset="0" + width="4"/> + </cq:responsive> + </teaser_copy> + <teaser_copy_1579324932 + jcr:description="<p>Don't stop half way, go for the top!</p> " + jcr:primaryType="nt:unstructured" + jcr:title="Epic Journey" + sling:resourceType="mysite/components/teaser" + actionsEnabled="false" + descriptionFromPage="false" + textIsRich="true" + titleFromPage="false"> + <cq:responsive jcr:primaryType="nt:unstructured"> + <default + jcr:primaryType="nt:unstructured" + offset="0" + width="4"/> + </cq:responsive> + </teaser_copy_1579324932> + <helloworld + jcr:primaryType="nt:unstructured" + sling:resourceType="mysite/components/helloworld" + text="lalala :)"/> + </container> + </container> + </root> + </jcr:content> +</jcr:root> diff --git a/pkg/test_cases/pull_tests/cq_template/jcr_root/apps/mysite/components/tabs/$_cq_template.xml b/pkg/test_cases/pull_tests/cq_template/jcr_root/apps/mysite/components/tabs/$_cq_template.xml new file mode 100644 index 0000000..2f28b3c --- /dev/null +++ b/pkg/test_cases/pull_tests/cq_template/jcr_root/apps/mysite/components/tabs/$_cq_template.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0" + jcr:primaryType="nt:unstructured"> + <item_1 + jcr:primaryType="nt:unstructured" + jcr:title="Tab 1" + sling:resourceType="mysite/components/container" + layout="responsiveGrid"/> + <item_2 + jcr:primaryType="nt:unstructured" + jcr:title="Tab 2" + sling:resourceType="mysite/components/container" + layout="responsiveGrid"/> +</jcr:root> diff --git a/pkg/test_cases/test-content.zip b/pkg/test_cases/test-content.zip index be1cd32..c95f14f 100644 Binary files a/pkg/test_cases/test-content.zip and b/pkg/test_cases/test-content.zip differ