File tree Expand file tree Collapse file tree 3 files changed +20
-4
lines changed Expand file tree Collapse file tree 3 files changed +20
-4
lines changed Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
10
10
- ` DisplayManager ` class for managing Xvfb instance if needed
11
11
12
12
### Changed
13
+ - ` DisplayManger.with_display ` doesn't ` disable ` if the display was enabled prior to starting the block
13
14
14
15
### Deprecated
15
16
Original file line number Diff line number Diff line change @@ -52,11 +52,12 @@ def disable
52
52
53
53
# Enable a virtual display for the duration of the given block
54
54
def with_display
55
- enable
55
+ was_enabled = @enabled
56
+ enable unless was_enabled
56
57
begin
57
58
yield environment
58
59
ensure
59
- disable
60
+ disable unless was_enabled
60
61
end
61
62
end
62
63
Original file line number Diff line number Diff line change 8
8
end
9
9
10
10
context "with_display" do
11
- it "Properly enables and disables" do
12
- manager = ArduinoCI ::DisplayManager ::instance
11
+ manager = ArduinoCI ::DisplayManager ::instance
12
+ manager . disable
13
+
14
+ it "Properly enables and disables when not previously enabled" do
13
15
expect ( manager . enabled ) . to be false
14
16
manager . with_display do |environment |
15
17
expect ( manager . enabled ) . to be true
19
21
end
20
22
expect ( manager . enabled ) . to be false
21
23
end
24
+
25
+ it "Properly enables and disables when previously enabled" do
26
+ manager . enable
27
+ expect ( manager . enabled ) . to be true
28
+ manager . with_display do |environment |
29
+ expect ( manager . enabled ) . to be true
30
+ expect ( environment . class ) . to eq ( Hash )
31
+ also_manager = ArduinoCI ::DisplayManager ::instance
32
+ expect ( also_manager . enabled ) . to be true
33
+ end
34
+ expect ( manager . enabled ) . to be true
35
+ end
22
36
end
23
37
end
You can’t perform that action at this time.
0 commit comments