You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ConfigChangeEventTest.java 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /*
  2. * Copyright (C) 2010, Mathias Kinzler <mathias.kinzler@sap.com> and others
  3. *
  4. * This program and the accompanying materials are made available under the
  5. * terms of the Eclipse Distribution License v. 1.0 which is available at
  6. * https://www.eclipse.org/org/documents/edl-v10.php.
  7. *
  8. * SPDX-License-Identifier: BSD-3-Clause
  9. */
  10. package org.eclipse.jgit.events;
  11. import static org.junit.Assert.assertEquals;
  12. import static org.junit.Assert.assertNotNull;
  13. import static org.junit.Assert.assertNull;
  14. import org.eclipse.jgit.junit.RepositoryTestCase;
  15. import org.eclipse.jgit.storage.file.FileBasedConfig;
  16. import org.junit.Test;
  17. public class ConfigChangeEventTest extends RepositoryTestCase {
  18. @Test
  19. public void testFileRepository_ChangeEventsOnlyOnSave() throws Exception {
  20. final ConfigChangedEvent[] events = new ConfigChangedEvent[1];
  21. db.getListenerList()
  22. .addConfigChangedListener((ConfigChangedEvent event) -> {
  23. events[0] = event;
  24. });
  25. FileBasedConfig config = db.getConfig();
  26. assertNull(events[0]);
  27. // set a value to some arbitrary key
  28. config.setString("test", "section", "event", "value");
  29. // no changes until we save
  30. assertNull(events[0]);
  31. config.save();
  32. assertNotNull(events[0]);
  33. // correct repository?
  34. assertEquals(events[0].getRepository(), db);
  35. // reset for the next test
  36. events[0] = null;
  37. // unset the value we have just set above
  38. config.unset("test", "section", "event");
  39. // no changes until we save
  40. assertNull(events[0]);
  41. config.save();
  42. assertNotNull(events[0]);
  43. // correct repository?
  44. assertEquals(events[0].getRepository(), db);
  45. }
  46. }