@Test public void testOpenedDocumentShadowsPersistedFile() { StringConcatenation _builder = new StringConcatenation(); _builder.append("type Test {"); _builder.newLine(); _builder.append(" "); _builder.append("NonExisting foo"); _builder.newLine(); _builder.append("}"); _builder.newLine(); final String firstFile = this.writeFile("MyType1.testlang", _builder); this.initialize(); this.assertEquals("Couldn\'t resolve reference to TypeDeclaration \'NonExisting\'.", IterableExtensions.<Diagnostic>head(this.getDiagnostics().get(firstFile)).getMessage()); StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("type Foo {"); _builder_1.newLine(); _builder_1.append("}"); _builder_1.newLine(); final String path = this.writeFile("MyType2.testlang", _builder_1); WorkspaceService _workspaceService = this.languageServer.getWorkspaceService(); FileEvent _fileEvent = new FileEvent(path, FileChangeType.Created); DidChangeWatchedFilesParams _didChangeWatchedFilesParams = new DidChangeWatchedFilesParams( Collections.<FileEvent>unmodifiableList(CollectionLiterals.<FileEvent>newArrayList(_fileEvent))); _workspaceService.didChangeWatchedFiles(_didChangeWatchedFilesParams); this.assertEquals("Couldn\'t resolve reference to TypeDeclaration \'NonExisting\'.", IterableExtensions.<Diagnostic>head(this.getDiagnostics().get(firstFile)).getMessage()); StringConcatenation _builder_2 = new StringConcatenation(); _builder_2.append("type NonExisting {"); _builder_2.newLine(); _builder_2.append("}"); _builder_2.newLine(); this.open(path, _builder_2.toString()); Assert.assertNull(IterableExtensions.<Diagnostic>head(this.getDiagnostics().get(firstFile))); this.close(path); this.assertEquals("Couldn\'t resolve reference to TypeDeclaration \'NonExisting\'.", IterableExtensions.<Diagnostic>head(this.getDiagnostics().get(firstFile)).getMessage()); }
@Test public void testIncrementalBuildWithError() { StringConcatenation _builder = new StringConcatenation(); _builder.append("type Test {"); _builder.newLine(); _builder.append(" "); _builder.append("NonExisting foo"); _builder.newLine(); _builder.append("}"); _builder.newLine(); this.writeFile("MyType1.testlang", _builder); this.initialize(); this.assertEquals("Couldn\'t resolve reference to TypeDeclaration \'NonExisting\'.", IterableExtensions.<Diagnostic>head(IterableExtensions.<List<Diagnostic>>head(this.getDiagnostics().values())).getMessage()); StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("type NonExisting {"); _builder_1.newLine(); _builder_1.append("}"); _builder_1.newLine(); final String path = this.writeFile("MyType2.testlang", _builder_1); WorkspaceService _workspaceService = this.languageServer.getWorkspaceService(); FileEvent _fileEvent = new FileEvent(path, FileChangeType.Created); DidChangeWatchedFilesParams _didChangeWatchedFilesParams = new DidChangeWatchedFilesParams(Collections.<FileEvent>unmodifiableList(CollectionLiterals.<FileEvent>newArrayList(_fileEvent))); _workspaceService.didChangeWatchedFiles(_didChangeWatchedFilesParams); Assert.assertNotNull(this.getDiagnostics().get(path)); final Function1<List<Diagnostic>, Boolean> _function = (List<Diagnostic> it) -> { return Boolean.valueOf(it.isEmpty()); }; Assert.assertTrue(IterableExtensions.join(this.getDiagnostics().values(), ","), IterableExtensions.<List<Diagnostic>>forall(this.getDiagnostics().values(), _function)); }
@Test public void testSendNotification() throws Exception { ArgumentCaptor<ServerInitializerObserver> argumentCaptor = ArgumentCaptor.forClass(ServerInitializerObserver.class); watcher = new LanguageServerFileWatcher(watcherManager, initializer); verify(initializer).addObserver(argumentCaptor.capture()); ServerInitializerObserver value = argumentCaptor.getValue(); LanguageServerDescription description = new LanguageServerDescription( "foo", Collections.singletonList("bar"), Collections.emptyList(), Collections.singletonList("glob:*.foo")); when(launcher.getDescription()).thenReturn(description); WorkspaceService workspaceService = mock(WorkspaceService.class); when(server.getWorkspaceService()).thenReturn(workspaceService); value.onServerInitialized(launcher, server, null, null); verify(watcherManager).registerByMatcher(any(), any(), changedCaptor.capture(), any()); changedCaptor.getValue().accept("/p/bar.foo"); verify(workspaceService).didChangeWatchedFiles(any()); }
/** * @return the workspaceService */ protected WorkspaceService getWorkspaceService() { return this.workspaceService; }
/** * @param workspaceService the workspaceService to set */ protected void setWorkspaceService(WorkspaceService workspaceService) { this.workspaceService = workspaceService; }
@Override public WorkspaceService getWorkspaceService() { return super.getWorkspaceService(); }
@Override public WorkspaceService getWorkspaceService() { return workspace; }
@Override public WorkspaceService getWorkspaceService() { return this; }
@Override public WorkspaceService getWorkspaceService() { return null; }