Skip to content

Commit

Permalink
Remove profile / add extra javascript files from cycle2
Browse files Browse the repository at this point in the history
  • Loading branch information
rodfersou committed May 22, 2015
1 parent a0b37c5 commit 5ecc182
Show file tree
Hide file tree
Showing 24 changed files with 169 additions and 79 deletions.
5 changes: 4 additions & 1 deletion CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,13 @@ There's a frood who really knows where his towel is.
1.0a2 (unreleased)
------------------

- Nothing changed yet.
- Remove profile (unregister resources) and add extra javascript files from cyle2. (closes `#1`_)
[rodfersou]


1.0a1 (2014-10-20)
------------------

- Initial release.

.. _`#1`: https://github.com/collective/collective.js.cycle2/issues/1
1 change: 1 addition & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
include_package_data=True,
zip_safe=False,
install_requires=[
'plone.api',
'Products.CMFPlone >=4.2',
'Products.GenericSetup',
'setuptools',
Expand Down
11 changes: 8 additions & 3 deletions src/collective/js/cycle2/configure.zcml
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,24 @@
xmlns="http://namespaces.zope.org/zope"
xmlns:browser="http://namespaces.zope.org/browser"
xmlns:five="http://namespaces.zope.org/five"
xmlns:genericsetup="http://namespaces.zope.org/genericsetup"
xmlns:gs="http://namespaces.zope.org/genericsetup"
i18n_domain="collective.js.cycle2">

<five:registerPackage package="." />

<genericsetup:registerProfile
<gs:registerProfile
name="default"
title="collective.js.cycle2"
directory="profiles/default"
description="Integration of Cycle2 jQuery plugin in Plone."
provides="Products.GenericSetup.interfaces.EXTENSION"
/>

<browser:resourceDirectory name="collective.js.cycle2" directory="static" />
<include package=".upgrades" />

<browser:resourceDirectory
name="collective.js.cycle2"
directory="resources"
/>

</configure>
7 changes: 0 additions & 7 deletions src/collective/js/cycle2/profiles/default/browserlayer.xml

This file was deleted.

12 changes: 0 additions & 12 deletions src/collective/js/cycle2/profiles/default/jsregistry.xml

This file was deleted.

2 changes: 1 addition & 1 deletion src/collective/js/cycle2/profiles/default/metadata.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0"?>
<metadata>
<version>1000</version>
<version>1001</version>
</metadata>

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions src/collective/js/cycle2/resources/jquery.cycle2.flip.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions src/collective/js/cycle2/resources/jquery.cycle2.tile.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions src/collective/js/cycle2/resources/jquery.cycle2.video.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

55 changes: 0 additions & 55 deletions src/collective/js/cycle2/tests/test_setup.py

This file was deleted.

91 changes: 91 additions & 0 deletions src/collective/js/cycle2/tests/test_upgrades.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# -*- coding: utf-8 -*-
from collective.js.cycle2.interfaces import IAddOnInstalled
from collective.js.cycle2.testing import INTEGRATION_TESTING
from plone import api
from plone.browserlayer import utils
from zope.interface import Interface

import unittest


class UpgradeTestCaseBase(unittest.TestCase):

layer = INTEGRATION_TESTING

def setUp(self, from_version, to_version):
self.portal = self.layer['portal']
self.setup = self.portal['portal_setup']
self.profile_id = u'collective.js.cycle2:default'
self.from_version = from_version
self.to_version = to_version

def _get_upgrade_step(self, title):
"""Get one of the upgrade steps.
Keyword arguments:
title -- the title used to register the upgrade step
"""
self.setup.setLastVersionForProfile(self.profile_id, self.from_version)
upgrades = self.setup.listUpgrades(self.profile_id)
steps = [s for s in upgrades[0] if s['title'] == title]
return steps[0] if steps else None

def _do_upgrade_step(self, step):
"""Execute an upgrade step.
Keyword arguments:
step -- the step we want to run
"""
request = self.layer['request']
request.form['profile_id'] = self.profile_id
request.form['upgrades'] = [step['id']]
self.setup.manage_doUpgrades(request=request)

def _how_many_upgrades_to_do(self):
self.setup.setLastVersionForProfile(self.profile_id, self.from_version)
upgrades = self.setup.listUpgrades(self.profile_id)
assert len(upgrades) > 0
return len(upgrades[0])


class Upgrade1000to1001TestCase(UpgradeTestCaseBase):

def setUp(self):
UpgradeTestCaseBase.setUp(self, u'1000', u'1001')

def test_upgrade_to_1001_registrations(self):
version = self.setup.getLastVersionForProfile(self.profile_id)[0]
self.assertGreaterEqual(int(version), int(self.to_version))
self.assertEqual(self._how_many_upgrades_to_do(), 1)

def test_issue_1(self):
# check if the upgrade step is registered
title = u'Remove browser layer and jsregistry'
description = u'We don\'t need a profile for this package.'
step = self._get_upgrade_step(title)
self.assertIsNotNone(step)
self.assertEqual(step['description'], description)

js_tool = self.portal['portal_javascripts']
JS_IDS = [
'++resource++collective.js.cycle2/jquery.cycle2.min.js',
'++resource++collective.js.cycle2/jquery.cycle2.center.min.js',
'++resource++collective.js.cycle2/jquery.cycle2.swipe.min.js'
]
for js_id in JS_IDS:
js_tool.registerResource(js_id)

resource_ids = js_tool.getResourceIds()
for js_id in JS_IDS:
self.assertIn(js_id, resource_ids)

utils.register_layer(IAddOnInstalled, name='collective.js.cycle2')
self.assertIn(IAddOnInstalled, utils.registered_layers())

self._do_upgrade_step(step)

resource_ids = js_tool.getResourceIds()
for js_id in JS_IDS:
self.assertNotIn(js_id, resource_ids)

self.assertNotIn(IAddOnInstalled, utils.registered_layers())

0 comments on commit 5ecc182

Please sign in to comment.