def test_camel_to_dash(self): self.assertEqual(DOM.camel_to_dash('testCamelToDash'), 'test-camel-to-dash') self.assertEqual(DOM.camel_to_dash('TestCamelToDash'), 'test-camel-to-dash') self.assertEqual(DOM.camel_to_dash('TestCamelTODash'), 'test-camel-to-dash') self.assertEqual(DOM.camel_to_dash('TestCamelTODasH'), 'test-camel-to-das-h') self.assertEqual(DOM.camel_to_dash('testcameltodash'), 'testcameltodash') self.assertEqual(DOM.camel_to_dash('test-Camel-ToDash'), 'test-camel-to-dash')
def test_camel_to_dash(self): self.assertEqual(DOM.camel_to_dash("testCamelToDash"), "test-camel-to-dash") self.assertEqual(DOM.camel_to_dash("TestCamelToDash"), "test-camel-to-dash") self.assertEqual(DOM.camel_to_dash("TestCamelTODash"), "test-camel-to-dash") self.assertEqual(DOM.camel_to_dash("TestCamelTODasH"), "test-camel-to-das-h") self.assertEqual(DOM.camel_to_dash("testcameltodash"), "testcameltodash") self.assertEqual(DOM.camel_to_dash("test-Camel-ToDash"), "test-camel-to-dash")
def render(self, props): data = props.get('data', {}) try: model_class = apps.get_model(data['contentType']) model = model_class.objects.get(pk=data['id']) href = model.url() class_name = 'link--{model}'.format( model=DOM.camel_to_dash(model_class.__name__)) # Component is missing `contentType` or `id` key(s); or model is missing `url` attribute. # Those are developer errors and shouldn't be silenced. except (KeyError, AttributeError): raise # Content-type or object do not exist. except (LookupError, ObjectDoesNotExist): href = MISSING_RESOURCE_URL class_name = MISSING_RESOURCE_CLASS return DOM.create_element('a', { 'className': class_name, 'href': href }, props['children'])