public async Task TestConeOuter_GetItemFiles() { using var workspace = SetupWorkspace(1); var project = workspace.GetAllItems <MockProject> ().Single(); var newDir = project.BaseDirectory.ParentDirectory.Combine("new_dir"); Directory.CreateDirectory(newDir); var createFile = newDir.Combine("file"); await FileWatcherService.Add(workspace); // Create and validate it's not notified File.WriteAllText(createFile, ""); await WaitForFileChanged(createFile); Assert.AreEqual(0, project.Created.Count); File.Delete(createFile); // Add it to item collection and check it is notified now project.Items.Add(new ProjectFile(createFile)); workspace.GetAllItems <MockWorkspaceItem> ().Single().OnRootDirectoriesChanged(project, false, false); await FileWatcherService.Update(); File.WriteAllText(createFile, ""); await WaitForFileChanged(createFile); Assert.AreEqual(1, project.Created.Count); await FileWatcherService.Remove(workspace); }
protected override void OnDispose() { fileStatusTracker.Dispose(); FileWatcherService.Remove(this).Ignore(); if (userProperties != null) { userProperties.Dispose(); } base.OnDispose(); }
public async Task TestUnsubscribeWorkspace() { using var workspace = SetupWorkspace(1); await FileWatcherService.Add(workspace); await FileWatcherService.Remove(workspace); var project = workspace.GetAllItems <MockProject> ().Single(); await TestAll(project, workspace); AssertData(project, Is.EqualTo(0)); }
public async Task TestTimings() { using var workspace = SetupWorkspace(1); await FileWatcherService.Add(workspace); var project = workspace.GetAllItems <MockProject> ().Single(); await TestAll(project, workspace); Assert.That(FileWatcherService.Timings.GetTimings(FileService.EventDataKind.Created), Is.GreaterThan(TimeSpan.Zero)); Assert.That(FileWatcherService.Timings.GetTimings(FileService.EventDataKind.Removed), Is.GreaterThan(TimeSpan.Zero)); await FileWatcherService.Remove(workspace); }
public async Task TestCone() { using var workspace = SetupWorkspace(2); await FileWatcherService.Add(workspace); var projects = workspace.GetAllItems <MockProject> ().ToArray(); await TestAll(projects [0], workspace); // Check we have data for project0, but not project 1 AssertData(projects [0], Is.GreaterThan(0)); AssertData(projects [1], Is.EqualTo(0)); await FileWatcherService.Remove(workspace); }
public async Task TestUnsubscribe() { using var workspace = SetupWorkspace(1); await FileWatcherService.Add(workspace); var solution = workspace.GetAllItems <MockWorkspaceItem> ().Single(); var project = workspace.GetAllItems <MockProject> ().Single(); solution.OnRootDirectoriesChanged(project, isRemove: true, isAdd: false); await TestAll(project, workspace); AssertData(project, Is.EqualTo(0)); await FileWatcherService.Remove(workspace); }
public async Task TestNotificationsSubscribedIncremental() { using var workspace = SetupWorkspace(0); await FileWatcherService.Add(workspace); var item = workspace.GetAllItems <MockWorkspaceItem> ().Single(); var projectFile = item.BaseDirectory.Combine("project", "project_file"); var project = new MockProject(projectFile); item.OnRootDirectoriesChanged(project, isRemove: false, isAdd: true); await TestAll(project, workspace); AssertData(project, Is.GreaterThan(0)); await FileWatcherService.Remove(workspace); }