diff options
| author | Randy Morgan <[email protected]> | 2011-12-02 18:45:12 +0900 |
|---|---|---|
| committer | Randy Morgan <[email protected]> | 2011-12-02 18:45:12 +0900 |
| commit | b376e6eb11a9cec2589fe1495e6c61db066c92ab (patch) | |
| tree | d8bb9484460ccaf1994d555a2a271fffb3a4ac2b | |
| parent | 3def8f8895a62783cf2e36152d786429e25bb90e (diff) | |
| download | caxlsx-b376e6eb11a9cec2589fe1495e6c61db066c92ab.tar.gz caxlsx-b376e6eb11a9cec2589fe1495e6c61db066c92ab.zip | |
adding in the picture locking class and tests
| -rw-r--r-- | lib/axlsx/drawing/picture_locking.rb | 72 | ||||
| -rw-r--r-- | test/drawing/tc_picture_locking.rb | 73 |
2 files changed, 145 insertions, 0 deletions
diff --git a/lib/axlsx/drawing/picture_locking.rb b/lib/axlsx/drawing/picture_locking.rb new file mode 100644 index 00000000..b1c4850e --- /dev/null +++ b/lib/axlsx/drawing/picture_locking.rb @@ -0,0 +1,72 @@ +module Axlsx + # The picture locking class defines the locking properties for pictures in your workbook. + class PictureLocking + + + attr_reader :noGrp + attr_reader :noSelect + attr_reader :noRot + attr_reader :noChangeAspect + attr_reader :noMove + attr_reader :noResize + attr_reader :noEditPoints + attr_reader :noAdjustHandles + attr_reader :noChangeArrowheads + attr_reader :noChangeShapeType + + # Creates a new PictureLocking object + # @option options [Boolean] noGrp + # @option options [Boolean] noSelect + # @option options [Boolean] noRot + # @option options [Boolean] noChangeAspect + # @option options [Boolean] noMove + # @option options [Boolean] noResize + # @option options [Boolean] noEditPoints + # @option options [Boolean] noAdjustHandles + # @option options [Boolean] noChangeArrowheads + # @option options [Boolean] noChangeShapeType + def initialize(options={}) + @noChangeAspect = true + options.each do |o| + self.send("#{o[0]}=", o[1]) if self.respond_to? "#{o[0]}=" + end + end + + # @see noGrp + def noGrp=(v) Axlsx::validate_boolean v; @noGrp = v end + + # @see noSelect + def noSelect=(v) Axlsx::validate_boolean v; @noSelect = v end + + # @see noRot + def noRot=(v) Axlsx::validate_boolean v; @noRot = v end + + # @see noChangeAspect + def noChangeAspect=(v) Axlsx::validate_boolean v; @noChangeAspect = v end + + # @see noMove + def noMove=(v) Axlsx::validate_boolean v; @noMove = v end + + # @see noResize + def noResize=(v) Axlsx::validate_boolean v; @noResize = v end + + # @see noEditPoints + def noEditPoints=(v) Axlsx::validate_boolean v; @noEditPoints = v end + + # @see noAdjustHandles + def noAdjustHandles=(v) Axlsx::validate_boolean v; @noAdjustHandles = v end + + # @see noChangeArrowheads + def noChangeArrowheads=(v) Axlsx::validate_boolean v; @noChangeArrowheads = v end + + # @see noChangeShapeType + def noChangeShapeType=(v) Axlsx::validate_boolean v; @noChangeShapeType = v end + + # Serializes the picture locking + # @param [Nokogiri::XML::Builder] xml The document builder instance this objects xml will be added to. + # @return [String] + def to_xml(xml) + xml[:a].picLocks(self.instance_values) + end + end +end diff --git a/test/drawing/tc_picture_locking.rb b/test/drawing/tc_picture_locking.rb new file mode 100644 index 00000000..15b89e22 --- /dev/null +++ b/test/drawing/tc_picture_locking.rb @@ -0,0 +1,73 @@ +require 'test/unit' +require 'axlsx.rb' + +class TestPictureLocking < Test::Unit::TestCase + def setup + @item = Axlsx::PictureLocking.new + end + def teardown + end + + def test_initialiation + assert_equal(@item.instance_values.size, 1) + assert_equal(@item.noChangeAspect, true) + end + + def test_noGrp + assert_raise(ArgumentError) { @item.noGrp = -1 } + assert_nothing_raised { @item.noGrp = false } + assert_equal(@item.noGrp, false ) + end + + def test_noRot + assert_raise(ArgumentError) { @item.noRot = -1 } + assert_nothing_raised { @item.noRot = false } + assert_equal(@item.noRot, false ) + end + + def test_noChangeAspect + assert_raise(ArgumentError) { @item.noChangeAspect = -1 } + assert_nothing_raised { @item.noChangeAspect = false } + assert_equal(@item.noChangeAspect, false ) + end + + def test_noMove + assert_raise(ArgumentError) { @item.noMove = -1 } + assert_nothing_raised { @item.noMove = false } + assert_equal(@item.noMove, false ) + end + + def test_noResize + assert_raise(ArgumentError) { @item.noResize = -1 } + assert_nothing_raised { @item.noResize = false } + assert_equal(@item.noResize, false ) + end + + def test_noEditPoints + assert_raise(ArgumentError) { @item.noEditPoints = -1 } + assert_nothing_raised { @item.noEditPoints = false } + assert_equal(@item.noEditPoints, false ) + end + + def test_noAdjustHandles + assert_raise(ArgumentError) { @item.noAdjustHandles = -1 } + assert_nothing_raised { @item.noAdjustHandles = false } + assert_equal(@item.noAdjustHandles, false ) + end + + def test_noChangeArrowheads + assert_raise(ArgumentError) { @item.noChangeArrowheads = -1 } + assert_nothing_raised { @item.noChangeArrowheads = false } + assert_equal(@item.noChangeArrowheads, false ) + end + + def test_noChangeShapeType + assert_raise(ArgumentError) { @item.noChangeShapeType = -1 } + assert_nothing_raised { @item.noChangeShapeType = false } + assert_equal(@item.noChangeShapeType, false ) + end + + + + +end |
