dumon 0.2.7 → 0.2.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7adb0f9fe734dfbced3303b8c31eb026f4d2e5f9
4
- data.tar.gz: 8396241a5b12fcbaa66a392f9d5ff9b56c4f7573
3
+ metadata.gz: 0c573b733f78dfc52576264eb8a6f7ed64957b46
4
+ data.tar.gz: 2bd608cec4d1fbc8e0d04180415f66f8a7c44db2
5
5
  SHA512:
6
- metadata.gz: bf2206d041576a2c044f24f1fcefdc7a468d41969200818c53dba4df1397f3bc41212998a59cf2324ec8973e91b6ced72f3eef6d89a140e1efb043bb11ef811b
7
- data.tar.gz: ad44ec873b5f08ec9372d9ef53020715584cd07a578e8401fb920506a3a33c1c58515565c13fc8efa148725b725fc6c37031285d413d2f5627d6c6f69f5eb178
6
+ metadata.gz: 6c6010aafb8bd533bcbca5e0c95966260deaefc67d7635a6575450800f17f231983600e2d9bc9bfddeda2b9cdac717d0f8028d6b3832b2b5cb1d081d3979d8ab
7
+ data.tar.gz: ac948a72bdc893721380eef74f4e2aa085b65cf97fe1f71eda58043d5d1c33bbc6c89eb51ae3d29469b8a5289bb34d88515af61eef266109951802295fbab437
data/.gitignore CHANGED
@@ -16,3 +16,6 @@ tmp
16
16
  .yardoc
17
17
  _yardoc
18
18
  doc/
19
+
20
+ dumon.sublime-project
21
+ dumon.sublime-workspace
@@ -180,13 +180,14 @@ module Dumon
180
180
  rslt = {}
181
181
 
182
182
  output = nil
183
+
183
184
  xrandr_out = `#{self.stool} -q`
184
185
  xrandr_out.each_line do |line|
185
- if line =~ /^\w+ connected /
186
- output = line[/^\w+/]
186
+ if line =~ /^[\w-]+ connected /
187
+ output = line[/^[\w-]+/]
187
188
  rslt[output] = {:resolutions => []}
188
189
  end
189
- if line =~ /^\s+[0-9x]+\s+\d+/ and not output.nil?
190
+ if line =~ /^\s*[0-9x]+\s+\d+/ and not output.nil?
190
191
  resolution = line[/[0-9x]+/]
191
192
  rslt[output][:default] = resolution if line.include? '+'
192
193
  rslt[output][:current] = resolution if line.include? '*'
@@ -204,7 +205,7 @@ module Dumon
204
205
  assert(!rslt.empty?, 'no outputs found')
205
206
  rslt.each do |output,out_meta|
206
207
  verify_options(out_meta, {:resolutions=>:mandatory, :default=>:mandatory, :current=>:optional})
207
- assert(out_meta[:resolutions].size > 1, "no resolution found, output=#{output}")
208
+ assert(out_meta[:resolutions].size >= 1, "no resolution found, output=#{output}")
208
209
  end
209
210
 
210
211
  @outputs = rslt
data/lib/dumon/version.rb CHANGED
@@ -2,6 +2,7 @@ module Dumon
2
2
 
3
3
  # Version history.
4
4
  VERSION_HISTORY = [
5
+ ['0.2.8', '2013-07-10', 'BF #15: Problem with nvidia graphic driver'],
5
6
  ['0.2.7', '2013-05-08', 'BF #14: Failure if applied profile with unconnected output; Enh #7'],
6
7
  ['0.2.6', '2013-04-23', 'BF #13: Failure if no default resolution provided by output'],
7
8
  ['0.2.5', '2013-04-02', 'BF #12: Profile dialog fails if configuration is empty'],
@@ -0,0 +1,61 @@
1
+ require 'test/unit'
2
+ require 'dumon'
3
+
4
+ ###
5
+ # This class tests Dumon::OutDeviceManager class.
6
+ class TestOutDeviceManager < Test::Unit::TestCase
7
+
8
+ def test_BF15
9
+
10
+ Dumon::XrandrManager.class_eval do
11
+ def stool # mock the instance method to produce expected output
12
+ xrand_out = <<nxo
13
+ Screen 0: minimum 8 x 8, current 3520 x 1080, maximum 16384 x 16384
14
+ VGA-0 disconnected (normal left inverted right x axis y axis)
15
+ LVDS-0 connected 1600x900+1920+0 (normal left inverted right x axis y axis) 345mm x 194mm
16
+ 1600x900 60.0*+ 50.0
17
+
18
+ DP-0 disconnected (normal left inverted right x axis y axis)
19
+ DP-1 disconnected (normal left inverted right x axis y axis)
20
+ DP-2 disconnected (normal left inverted right x axis y axis)
21
+ DP-3 disconnected (normal left inverted right x axis y axis)
22
+ DP-4 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 531mm x 299mm
23
+ 1920x1080 60.0*+ 59.9 50.0 30.0 30.0 25.0
24
+
25
+ 1680x1050 60.0
26
+
27
+ 1440x900 59.9
28
+
29
+ 1280x1024 75.0 60.0
30
+
31
+ 1280x720 60.0 59.9 50.0
32
+
33
+ 1152x864 60.0
34
+
35
+ 1024x768 75.0 70.1 60.0
36
+
37
+ 800x600 75.0 72.2 60.3 56.2
38
+
39
+ 720x576 50.0 25.0
40
+
41
+ 720x480 59.9 30.0
42
+
43
+ 640x480 75.0 72.8 59.9 59.9
44
+
45
+ DP-5 disconnected (normal left inverted right x axis y axis)
46
+ nxo
47
+ "echo \"#{xrand_out}\""
48
+ end
49
+ end
50
+ omanager = Dumon::XrandrManager.new
51
+ omanager.read
52
+ outs = omanager.outputs
53
+ assert_not_nil outs
54
+ assert_equal 2, outs.keys.size
55
+ assert outs.keys.include? 'LVDS-0'
56
+ assert outs.keys.include? 'DP-4'
57
+ assert_equal 1, outs['LVDS-0'][:resolutions].size
58
+ assert_equal 11, outs['DP-4'][:resolutions].size
59
+ end
60
+
61
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dumon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.7
4
+ version: 0.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vaclav Sykora
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-05-08 00:00:00.000000000 Z
11
+ date: 2013-07-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gtk2
@@ -50,6 +50,7 @@ files:
50
50
  - lib/rrutils.rb
51
51
  - lib/rrutils/confdb.rb
52
52
  - lib/rrutils/options.rb
53
+ - test/test_omanager.rb
53
54
  - test/test_rrutils_options.rb
54
55
  homepage: http://github.com/veny/dumon
55
56
  licenses: []
@@ -76,4 +77,5 @@ signing_key:
76
77
  specification_version: 4
77
78
  summary: Dual monitor manager for Linux.
78
79
  test_files:
80
+ - test/test_omanager.rb
79
81
  - test/test_rrutils_options.rb