1
2
3
4
5
6
7
8
9
10 package org.eclipse.jgit.events;
11
12 import static org.junit.Assert.assertEquals;
13 import static org.junit.Assert.assertNotNull;
14 import static org.junit.Assert.assertNull;
15
16 import org.eclipse.jgit.junit.RepositoryTestCase;
17 import org.eclipse.jgit.storage.file.FileBasedConfig;
18 import org.junit.Test;
19
20 public class ConfigChangeEventTest extends RepositoryTestCase {
21 @Test
22 public void testFileRepository_ChangeEventsOnlyOnSave() throws Exception {
23 final ConfigChangedEvent[] events = new ConfigChangedEvent[1];
24 db.getListenerList()
25 .addConfigChangedListener((ConfigChangedEvent event) -> {
26 events[0] = event;
27 });
28 FileBasedConfig config = db.getConfig();
29 assertNull(events[0]);
30
31
32 config.setString("test", "section", "event", "value");
33
34 assertNull(events[0]);
35 config.save();
36 assertNotNull(events[0]);
37
38 assertEquals(events[0].getRepository(), db);
39
40
41 events[0] = null;
42
43
44 config.unset("test", "section", "event");
45
46 assertNull(events[0]);
47 config.save();
48 assertNotNull(events[0]);
49
50 assertEquals(events[0].getRepository(), db);
51 }
52 }