registerExtension(c.getPageExtensionRegistry(), target);
registerExtension(c.getPageExtensionRegistry(), target);
@Test public void testCorrectInstallation() { // page extension construction PageExtension pageExtensionMock = Mockito.mock(PageExtension.class); when(pageExtensionMock.getExtensionScript()).thenReturn(JavaScript.fromString("document.Graphene = {};")); when(pageExtensionMock.getInstallationDetectionScript()).thenReturn(JavaScript.fromString("return (typeof document.Graphene != 'undefined');")); when(pageExtensionMock.getRequired()).thenReturn(Collections.EMPTY_LIST); // registry PageExtensionRegistry registry = context().getPageExtensionRegistry(); registry.register(pageExtensionMock); // test context().getPageExtensionInstallatorProvider().installator(pageExtensionMock.getName()).install(); }
@Test(expected=IllegalStateException.class) public void testIncorrectInstallation() { // page extension construction PageExtension pageExtensionMock = Mockito.mock(PageExtension.class); when(pageExtensionMock.getExtensionScript()).thenReturn(JavaScript.fromString("var Graphene = {};")); when(pageExtensionMock.getInstallationDetectionScript()).thenReturn(JavaScript.fromString("return (typeof Graphene != 'undefined');")); when(pageExtensionMock.getRequired()).thenReturn(Collections.EMPTY_LIST); // registry PageExtensionRegistry registry = context().getPageExtensionRegistry(); registry.register(pageExtensionMock); // test context().getPageExtensionInstallatorProvider().installator(pageExtensionMock.getName()).install(); }
@Test(expected=IllegalStateException.class) public void testInstallationWithCyclicRequirements() { // page extension construction PageExtension pageExtensionMock = Mockito.mock(PageExtension.class); when(pageExtensionMock.getExtensionScript()).thenReturn(JavaScript.fromString("document.Graphene2 = document.Graphene1 + 1;")); when(pageExtensionMock.getInstallationDetectionScript()).thenReturn(JavaScript.fromString("return ((typeof document.Graphene2 != 'undefined') && document.Graphene2 == 2);")); List<String> requirements = new ArrayList<String>(); requirements.add(SimplePageExtension.class.getName()); requirements.add(CyclicPageExtension1.class.getName()); requirements.add(CyclicPageExtension2.class.getName()); when(pageExtensionMock.getRequired()).thenReturn(requirements); // registry PageExtensionRegistry registry = context().getPageExtensionRegistry(); registry.register(new SimplePageExtension()); registry.register(pageExtensionMock); registry.register(new CyclicPageExtension1()); registry.register(new CyclicPageExtension2()); // test context().getPageExtensionInstallatorProvider().installator(pageExtensionMock.getName()).install(); }
@Test public void testInstallationWithRequirements() { // page extension construction PageExtension pageExtensionMock = Mockito.mock(PageExtension.class); when(pageExtensionMock.getExtensionScript()).thenReturn(JavaScript.fromString("document.Graphene2 = document.Graphene1 + 1;")); when(pageExtensionMock.getInstallationDetectionScript()).thenReturn(JavaScript.fromString("return ((typeof document.Graphene2 != 'undefined') && document.Graphene2 == 2);")); List<String> requirements = new ArrayList<String>(); requirements.add(SimplePageExtension.class.getName()); when(pageExtensionMock.getRequired()).thenReturn(requirements); // registry PageExtensionRegistry registry = context().getPageExtensionRegistry(); registry.register(new SimplePageExtension()); registry.register(pageExtensionMock); // test context().getPageExtensionInstallatorProvider().installator(pageExtensionMock.getName()).install(); Assert.assertTrue(context().getPageExtensionInstallatorProvider().installator(SimplePageExtension.class.getName()).isInstalled()); Assert.assertTrue(context().getPageExtensionInstallatorProvider().installator(pageExtensionMock.getName()).isInstalled()); }