def test_emptying_values(self, browser):
        """
        This test makes sure that when a custom variable is emptied it
        no longer is present in the storage.
        """
        browser.login()
        browser.visit(self.portal, view='manage-theme')
        browser.fill({
            '$color-primary': 'blue',
            '$color-secondary': 'red',
        }).save()

        scss_resource = custom_design_variables_resource_factory(
            self.portal, self.request)
        self.assertEqual(
            '$color-primary: blue;\n$color-secondary: red;',
            scss_resource.get_source(self.portal, self.request)
        )

        # Now empty a value and make sure its no longer there.
        browser.visit(self.portal, view='manage-theme')
        browser.fill({
            '$color-primary': 'blue',
            '$color-secondary': '',
        }).save()

        scss_resource = custom_design_variables_resource_factory(
            self.portal, self.request)
        self.assertEqual(
            '$color-primary: blue;',
            scss_resource.get_source(self.portal, self.request)
        )
    def test_value_inheritance(self, browser):
        browser.login()
        browser.visit(self.portal, view='manage-theme')
        browser.fill({
            '$color-primary': 'blue',
            '$color-secondary': 'red',
            '$color-link': 'fuchsia',
        }).save()

        page = create(Builder('folder').titled(u'My Subsite').providing(INavigationRoot))
        browser.visit(page, view='manage-theme')
        browser.fill({
            '$color-secondary': 'green',
        }).save()

        scss_resource = custom_design_variables_resource_factory(
            page, self.request)
        self.assertEqual(
            '$color-primary: blue;\n$color-secondary: red;\n'
            '$color-link: fuchsia;\n$color-secondary: green;',
            scss_resource.get_source(page, self.request)
        )

        page2 = create(Builder('folder').titled(u'My Subsite').within(page)
                       .providing(INavigationRoot))
        browser.visit(page2, view='manage-theme')
        browser.fill({
            '$color-secondary': 'yellow',
        }).save()

        scss_resource = custom_design_variables_resource_factory(
            page2, self.request)
        self.assertEqual(
            '$color-primary: blue;\n$color-secondary: red;\n'
            '$color-link: fuchsia;\n$color-secondary: green;\n'
            '$color-secondary: yellow;',
            scss_resource.get_source(page2, self.request)
        )