qooxview 1.9.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.project +13 -0
- data/.ruby-version +1 -0
- data/Gemfile +5 -0
- data/Gemfile.lock +89 -0
- data/LICENSE.txt +619 -0
- data/README.md +31 -0
- data/Rakefile +2 -0
- data/VERSIONS +12 -0
- data/lib/qooxview/additions.rb +161 -0
- data/lib/qooxview/config_yaml.rb +42 -0
- data/lib/qooxview/entity.rb +698 -0
- data/lib/qooxview/frontend/1build_generate +14 -0
- data/lib/qooxview/frontend/2src_generate +4 -0
- data/lib/qooxview/frontend/Manifest.json +34 -0
- data/lib/qooxview/frontend/README +19 -0
- data/lib/qooxview/frontend/UploadMgr/.project +11 -0
- data/lib/qooxview/frontend/UploadMgr/Manifest.json +34 -0
- data/lib/qooxview/frontend/UploadMgr/config.json +77 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/Manifest.json +34 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/config.json +84 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/generate.py +72 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/source/class/uploadmgr/demo/Application.js +224 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/source/class/uploadmgr/demo/simulation/DemoSimulation.js +44 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/source/class/uploadmgr/demo/test/DemoTest.js +55 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/source/class/uploadmgr/demo/theme/Appearance.js +18 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/source/class/uploadmgr/demo/theme/Color.js +18 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/source/class/uploadmgr/demo/theme/Decoration.js +18 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/source/class/uploadmgr/demo/theme/Font.js +18 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/source/class/uploadmgr/demo/theme/Theme.js +21 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/source/index.html +9 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/source/resource/uploadmgr/demo/test.png +0 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/source/script/uploadmgr.demo.d88b4fb45db4.js +1 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/source/script/uploadmgr.demo.js +211 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/source/translation/readme.txt +3 -0
- data/lib/qooxview/frontend/UploadMgr/generate.py +72 -0
- data/lib/qooxview/frontend/UploadMgr/server/LICENSE.TXT +3 -0
- data/lib/qooxview/frontend/UploadMgr/server/README.txt +3 -0
- data/lib/qooxview/frontend/UploadMgr/server/java/com/zenesis/qx/upload/DemoUploadServlet.java +176 -0
- data/lib/qooxview/frontend/UploadMgr/server/perl.cgi +62 -0
- data/lib/qooxview/frontend/UploadMgr/server/php.php +116 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/AbstractHandler.js +278 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/File.js +178 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/FormHandler.js +192 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/InputElement.js +68 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/MParameters.js +67 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/MUploadButton.js +40 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/UploadButton.js +35 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/UploadMgr.js +301 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/UploadToolbarButton.js +35 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/XhrHandler.js +176 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/simulation/DemoSimulation.js +44 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/test/DemoTest.js +55 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/theme/Appearance.js +18 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/theme/Color.js +18 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/theme/Decoration.js +18 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/theme/Font.js +18 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/theme/Theme.js +21 -0
- data/lib/qooxview/frontend/UploadMgr/source/index.html +9 -0
- data/lib/qooxview/frontend/UploadMgr/source/resource/com/zenesis/qx/upload/banner-bg.png +0 -0
- data/lib/qooxview/frontend/UploadMgr/source/resource/com/zenesis/qx/upload/banner.png +0 -0
- data/lib/qooxview/frontend/UploadMgr/source/resource/com/zenesis/qx/upload/logo.gif +0 -0
- data/lib/qooxview/frontend/UploadMgr/source/resource/com/zenesis/qx/upload/test.png +0 -0
- data/lib/qooxview/frontend/UploadMgr/source/translation/readme.txt +3 -0
- data/lib/qooxview/frontend/build/index.html +11 -0
- data/lib/qooxview/frontend/build/resource/frontend/test.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/app-header.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/down-invert.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/down-small-invert.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/down-small.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/down.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/forward.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/left-invert.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/left.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/rewind.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/right-invert.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/right.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/up-invert.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/up-small.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/up.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/button-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/button-tb-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/checkradio-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/colorselector/brightness-field.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/colorselector/brightness-handle.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/colorselector/huesaturation-field.jpg +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/colorselector/huesaturation-handle.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/colorselector-combined.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/cursors/alias.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/cursors/copy.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/cursors/move.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/cursors/nodrop.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/cursors-combined.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked-disabled.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked-focused-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked-focused.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked-hovered-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked-hovered.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked-pressed-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked-pressed.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-disabled.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-focused-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-focused.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-hovered-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-hovered.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-pressed-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-pressed.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-undetermined-disabled.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-undetermined-focused-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-undetermined-focused.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-undetermined-hovered-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-undetermined-hovered.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-undetermined-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-undetermined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checked-disabled.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checked.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/input-focused.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/input.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked-disabled.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked-focused-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked-focused.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked-hovered-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked-hovered.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked-pressed-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked-pressed.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-disabled.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-focused-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-focused.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-hovered-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-hovered.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-pressed-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-pressed.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-arrow-right.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-arrow.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/undetermined-disabled.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/undetermined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/group-item.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox-tb-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/menu/background.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/menu/bar-background.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/menu/checkbox-invert.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/menu/checkbox.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/menu/radiobutton-invert.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/menu/radiobutton.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/menu-background-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/menu-checkradio-combined.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane-tb-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-bg-horizontal.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-bg-pressed-horizontal.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-bg-pressed-vertical.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-bg-vertical.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-button-bg-horizontal.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-button-bg-vertical.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-down.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-left.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-right.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-up.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/slider-knob-background.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/selection.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow-small-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow-small-tb-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow-tb-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/splitpane/knob-horizontal.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/splitpane/knob-vertical.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/splitpane-knobs-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/table/ascending.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/table/boolean-false.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/table/boolean-true.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/table/descending.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/table/header-cell.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/table/select-column-order.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/table-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-bottom-active-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-bottom-active-tb-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-bottom-inactive-b-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-bottom-inactive-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-bottom-inactive-t-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-left-active-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-left-active-tb-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-left-inactive-b-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-left-inactive-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-left-inactive-t-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-right-active-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-right-active-tb-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-right-inactive-b-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-right-inactive-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-right-inactive-t-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-top-active-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-top-active-tb-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-top-inactive-b-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-top-inactive-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-top-inactive-t-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-pane-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-pane-tb-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/toolbar/toolbar-gradient-blue.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/toolbar/toolbar-gradient.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/toolbar/toolbar-handle-knob.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/toolbar/toolbar-part.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/toolbar-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tooltip-error-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tooltip-error-tb-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tree/closed-selected.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tree/closed.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tree/open-selected.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tree/open.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tree-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/close-active-hovered.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/close-active.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/close-inactive.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/maximize-active-hovered.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/maximize-active.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/maximize-inactive.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/minimize-active-hovered.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/minimize-active.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/minimize-inactive.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/restore-active-hovered.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/restore-active.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/restore-inactive.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window-captionbar-buttons-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window-captionbar-lr-active-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window-captionbar-lr-inactive-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window-captionbar-tb-active-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window-captionbar-tb-inactive-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window-statusbar-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window-statusbar-tb-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/actions/dialog-cancel.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/actions/dialog-ok.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/actions/view-refresh.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/actions/window-close.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/apps/office-calendar.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/apps/utilities-color-chooser.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/mimetypes/office-document.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/places/folder-open.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/places/folder.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/22/mimetypes/office-document.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/22/places/folder-open.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/22/places/folder.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/32/mimetypes/office-document.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/32/places/folder-open.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/32/places/folder.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/static/blank.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/static/blank.png +0 -0
- data/lib/qooxview/frontend/build/script/frontend.js +213 -0
- data/lib/qooxview/frontend/config.json +58 -0
- data/lib/qooxview/frontend/generate.py +149 -0
- data/lib/qooxview/frontend/mklink +2 -0
- data/lib/qooxview/frontend/readme.txt +11 -0
- data/lib/qooxview/frontend/source/class/frontend/Application.js +84 -0
- data/lib/qooxview/frontend/source/class/frontend/LAYOUT +120 -0
- data/lib/qooxview/frontend/source/class/frontend/Lib/Fields.js +1486 -0
- data/lib/qooxview/frontend/source/class/frontend/Lib/RPC.js +104 -0
- data/lib/qooxview/frontend/source/class/frontend/Lib/TimerF.js +63 -0
- data/lib/qooxview/frontend/source/class/frontend/Views/Form.js +150 -0
- data/lib/qooxview/frontend/source/class/frontend/Views/Ltab.js +633 -0
- data/lib/qooxview/frontend/source/class/frontend/__init__.js +6 -0
- data/lib/qooxview/frontend/source/class/frontend/globals.js +51 -0
- data/lib/qooxview/frontend/source/class/frontend/simulation/DemoSimulation.js +42 -0
- data/lib/qooxview/frontend/source/class/frontend/test/DemoTest.js +55 -0
- data/lib/qooxview/frontend/source/class/frontend/theme/Appearance.js +18 -0
- data/lib/qooxview/frontend/source/class/frontend/theme/Color.js +18 -0
- data/lib/qooxview/frontend/source/class/frontend/theme/Decoration.js +18 -0
- data/lib/qooxview/frontend/source/class/frontend/theme/Font.js +18 -0
- data/lib/qooxview/frontend/source/class/frontend/theme/Theme.js +21 -0
- data/lib/qooxview/frontend/source/index.html +11 -0
- data/lib/qooxview/frontend/source/resource/frontend/test.png +0 -0
- data/lib/qooxview/frontend/source/translation/readme.txt +3 -0
- data/lib/qooxview/helpers/config_base.rb +264 -0
- data/lib/qooxview/helpers/icc.rb +222 -0
- data/lib/qooxview/helpers/make_steps.rb +77 -0
- data/lib/qooxview/helpers/migration_version.rb +18 -0
- data/lib/qooxview/helpers/open_print.rb +286 -0
- data/lib/qooxview/helpers/permission.rb +146 -0
- data/lib/qooxview/helpers/qoox_parser.rb +54 -0
- data/lib/qooxview/helpers/session.rb +68 -0
- data/lib/qooxview/helpers/static.rb +23 -0
- data/lib/qooxview/helpers/upload_files.rb +27 -0
- data/lib/qooxview/helpers/vtlist_pane.rb +158 -0
- data/lib/qooxview/helpers/welcome.rb +55 -0
- data/lib/qooxview/qooxview.rb +175 -0
- data/lib/qooxview/rpcqooxdoo.rb +395 -0
- data/lib/qooxview/storage_handler.rb +455 -0
- data/lib/qooxview/storage_type.rb +129 -0
- data/lib/qooxview/storages/csv.rb +170 -0
- data/lib/qooxview/storages/ldap.rb +238 -0
- data/lib/qooxview/storages/sqlite.rb +198 -0
- data/lib/qooxview/value.rb +202 -0
- data/lib/qooxview/version.rb +3 -0
- data/lib/qooxview/view.rb +904 -0
- data/lib/qooxview.rb +83 -0
- data/qooxview.gemspec +50 -0
- data/test/benchmark_creation.rb +37 -0
- data/test/config.yaml +36 -0
- data/test/entities/config.rb +33 -0
- data/test/entities/course.rb +28 -0
- data/test/entities/databases.rb +17 -0
- data/test/entities/doubleCase.rb +12 -0
- data/test/entities/dummies.rb +24 -0
- data/test/entities/inventory.rb +6 -0
- data/test/entities/needs.rb +20 -0
- data/test/entities/person.rb +73 -0
- data/test/file_binary.bin +0 -0
- data/test/files/print_formulas.ods +0 -0
- data/test/files/print_formulas_2.ods +0 -0
- data/test/files/student_card.odg +0 -0
- data/test/gettext.po +24 -0
- data/test/gettext.pot +0 -0
- data/test/messages.mo +0 -0
- data/test/po/fr/LC_MESSAGES/gettext.mo +0 -0
- data/test/qooxdoo-layout-frontend.js +49 -0
- data/test/qv_configbase.rb +98 -0
- data/test/qv_entity.rb +271 -0
- data/test/qv_gettext.rb +28 -0
- data/test/qv_helpers.rb +173 -0
- data/test/qv_icc.rb +60 -0
- data/test/qv_migration.rb +130 -0
- data/test/qv_permission.rb +34 -0
- data/test/qv_print.rb +73 -0
- data/test/qv_session.rb +29 -0
- data/test/qv_sqlite.rb +73 -0
- data/test/qv_store_csv.rb +86 -0
- data/test/qv_stype.rb +41 -0
- data/test/qv_view.rb +204 -0
- data/test/st_dummy.rb +30 -0
- data/test/test.rb +49 -0
- data/test/views/aview.rb +24 -0
- data/test/views/bview.rb +10 -0
- data/test/views/configviews.rb +19 -0
- data/test/views/courseshow.rb +11 -0
- data/test/views/cview.rb +22 -0
- data/test/views/login.rb +15 -0
- data/test/views/print.rb +10 -0
- metadata +1068 -0
data/test/qv_entity.rb
ADDED
@@ -0,0 +1,271 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'benchmark'
|
3
|
+
|
4
|
+
$bind = Kernel.binding
|
5
|
+
|
6
|
+
class TC_Entity < Test::Unit::TestCase
|
7
|
+
def setup
|
8
|
+
dputs(2) { 'Deleting everything' }
|
9
|
+
Entities.delete_all_data
|
10
|
+
|
11
|
+
dputs(2) { 'Setting up data' }
|
12
|
+
@admin = Persons.create(:first_name => 'admin', :pass => 'super123',
|
13
|
+
:address => 'cdlf 24', :credit => 10000)
|
14
|
+
Courses.create(:first_name => 'base_1010', :start => '1.10.2010')
|
15
|
+
@base_1011 = Courses.create(:first_name => 'base_1011', :start => '1.11.2010',
|
16
|
+
:teacher => @admin)
|
17
|
+
@dummies_one = Dummies.create(:first_name => 'one', :phone => '111',
|
18
|
+
:no_cache => '123')
|
19
|
+
dputs(2) { 'Finished setting up data' }
|
20
|
+
end
|
21
|
+
|
22
|
+
def teardown
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_create_with_new_id
|
26
|
+
student_id = 2
|
27
|
+
Persons.create(:person_id => student_id, :first_name => 'student')
|
28
|
+
guest_id = Persons.new_id[:person_id]
|
29
|
+
guest = Persons.create(:person_id => guest_id, :first_name => 'guest',
|
30
|
+
:credit => 1000)
|
31
|
+
assert_equal guest_id, guest.person_id
|
32
|
+
assert_equal 'guest', guest.first_name
|
33
|
+
assert_equal 1000, guest.credit
|
34
|
+
|
35
|
+
guest = Persons.match_by_person_id(guest_id)
|
36
|
+
student = Persons.match_by_person_id(student_id)
|
37
|
+
assert_equal 'guest', guest.first_name
|
38
|
+
assert_equal 'student', student.first_name
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_create_with_double_id
|
42
|
+
admin = Persons.match_by_first_name('admin')
|
43
|
+
student = Persons.create(:person_id => admin.person_id, :first_name => 'duplicate')
|
44
|
+
assert_equal nil, student
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_find_admin
|
48
|
+
admin = Persons.match_by_first_name('admin')
|
49
|
+
assert_nothing_raised do
|
50
|
+
assert_equal 1, admin.person_id
|
51
|
+
assert_equal 'super123', admin.pass
|
52
|
+
assert_equal 'cdlf 24', admin.address
|
53
|
+
assert_equal 10000, admin.credit
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_save_load
|
58
|
+
Entities.save_all
|
59
|
+
Entities.delete_all_data(true)
|
60
|
+
Entities.load_all
|
61
|
+
test_find_admin
|
62
|
+
end
|
63
|
+
|
64
|
+
def test_double_case
|
65
|
+
dc1 = DoubleCases.create(name: 'dc1')
|
66
|
+
d1 = Doubles.create(name: 'd1', dc: dc1)
|
67
|
+
assert_equal dc1, d1.dc
|
68
|
+
Entities.save_all
|
69
|
+
Entities.delete_all_data(true)
|
70
|
+
Entities.load_all
|
71
|
+
|
72
|
+
dc1 = DoubleCases.match_by_name('dc1')
|
73
|
+
d1 = Doubles.match_by_name('d1')
|
74
|
+
assert_equal dc1, d1.dc
|
75
|
+
end
|
76
|
+
|
77
|
+
def test_getfields
|
78
|
+
assert_equal %w( assistant course_id first_name start end street plz
|
79
|
+
students teacher tel ).sort.to_s,
|
80
|
+
Courses.get_field_names.sortk.to_s
|
81
|
+
end
|
82
|
+
|
83
|
+
def test_list
|
84
|
+
assert_equal %w( base_1010 base_1011 ),
|
85
|
+
Courses.list_first_name
|
86
|
+
end
|
87
|
+
|
88
|
+
def test_value_add_new
|
89
|
+
assert_equal %w( address credit first_name l l_a l_c l_d l_s login_name pass password_plain permissions
|
90
|
+
person_id session_id value1 value2).sort.to_s,
|
91
|
+
Persons.get_field_names.sortk.to_s
|
92
|
+
|
93
|
+
assert_equal ['list', :l_a, 'l_a', {:list_type => 'array', :list_values => []}],
|
94
|
+
Persons.blocks[:lists][0].to_a
|
95
|
+
assert_equal ['list', :l_c, 'l_c', {:list_type => 'choice', :list_values => []}],
|
96
|
+
Persons.blocks[:lists][1].to_a
|
97
|
+
assert_equal ['list', :l_d, 'l_d', {:list_type => 'drop', :list_values => []}],
|
98
|
+
Persons.blocks[:lists][2].to_a
|
99
|
+
assert_equal ['list', :l_s, 'l_s', {:list_type => 'single', :list_values => []}],
|
100
|
+
Persons.blocks[:lists][3].to_a
|
101
|
+
assert_equal ['list', :l, 'l', {:list_values => []}],
|
102
|
+
Persons.blocks[:lists][4].to_a
|
103
|
+
end
|
104
|
+
|
105
|
+
def test_cache_data
|
106
|
+
dputs(2) { 'testing cache data' }
|
107
|
+
assert_equal 'one', @dummies_one.first_name
|
108
|
+
assert_equal '111', @dummies_one.phone
|
109
|
+
assert_equal 'no_cache', @dummies_one.no_cache
|
110
|
+
end
|
111
|
+
|
112
|
+
def test_data_get
|
113
|
+
assert_equal ['admin', 'super123'], @admin.data_get(%w( first_name pass ))
|
114
|
+
end
|
115
|
+
|
116
|
+
def test_value_entity
|
117
|
+
val = Courses.get_value(:teacher)
|
118
|
+
assert_equal 'entity', val.dtype
|
119
|
+
assert_equal 'Persons', val.entity_class
|
120
|
+
assert_equal Entities.Persons, val.eclass
|
121
|
+
val_hash = @base_1011.to_hash
|
122
|
+
assert_equal [1], val_hash[:teacher]
|
123
|
+
assert_equal 'super123', @base_1011.teacher.pass
|
124
|
+
@admin.pass = 'super321'
|
125
|
+
assert_equal 'super321', @base_1011.teacher.pass
|
126
|
+
@base_1011.teacher.pass = 'super111'
|
127
|
+
assert_equal 'super111', @base_1011.teacher.pass
|
128
|
+
assert_equal 'super111', @admin.pass
|
129
|
+
end
|
130
|
+
|
131
|
+
def test_speed_persons
|
132
|
+
require 'rubygems'
|
133
|
+
require 'perftools'
|
134
|
+
PerfTools::CpuProfiler.start('/tmp/profile') do
|
135
|
+
(1..400).each { |p|
|
136
|
+
dputs(1) { "Creating person #{p}" }
|
137
|
+
Courses.create(:first_name => "#{p}", :last_name => "#{p}")
|
138
|
+
}
|
139
|
+
end
|
140
|
+
end
|
141
|
+
|
142
|
+
def test_entity_empty
|
143
|
+
assert_equal 1, @admin.person_id
|
144
|
+
#@base_1011.data_set_hash({:assistant => [1]})
|
145
|
+
empty = Courses.get_value(:assistant).parse([0])
|
146
|
+
assert_equal 0, empty
|
147
|
+
end
|
148
|
+
|
149
|
+
def test_needs
|
150
|
+
assert Need1s.ok
|
151
|
+
assert Need2s.ok
|
152
|
+
end
|
153
|
+
|
154
|
+
def test_values_override
|
155
|
+
@admin.value1 = 10
|
156
|
+
assert_equal 5, @admin.value1
|
157
|
+
assert_equal 20, @admin.value2
|
158
|
+
assert_equal 10, @admin._value1
|
159
|
+
end
|
160
|
+
|
161
|
+
def test_missing_value
|
162
|
+
old = get_config(false, :DPuts, :silent)
|
163
|
+
set_config(true, :DPuts, :silent)
|
164
|
+
@admin.show_error_missing = false
|
165
|
+
assert_raise(NoMethodError) { @admin.value3 }
|
166
|
+
assert_raise(RuntimeError) { @admin._value3 }
|
167
|
+
assert_nothing_raised { @admin._value1 }
|
168
|
+
set_config(old, :DPuts, :silent)
|
169
|
+
end
|
170
|
+
|
171
|
+
def test_create_key
|
172
|
+
assert_equal({}, Persons.keys)
|
173
|
+
Persons.create_key_first_name
|
174
|
+
|
175
|
+
assert_equal({:first_name => {'admin' => 1}}, Persons.keys)
|
176
|
+
end
|
177
|
+
|
178
|
+
def test_match_key
|
179
|
+
Persons.create_key_first_name
|
180
|
+
assert_equal('super123', Persons.match_key_first_name('admin').pass)
|
181
|
+
assert_equal nil, Persons.match_key_first_name('foo')
|
182
|
+
|
183
|
+
foo = Persons.create(:first_name => 'foo', :pass => 'bar')
|
184
|
+
assert_equal('bar', Persons.match_key_first_name('foo').pass)
|
185
|
+
assert Persons.match_key_person_id(foo.id), 'Failed foo.id'
|
186
|
+
assert Persons.match_key_person_id(foo.id.to_s), 'Failed string of foo.id'
|
187
|
+
end
|
188
|
+
|
189
|
+
def test_speed_match
|
190
|
+
dputs(1) { 'Creating 1000 entries' }
|
191
|
+
Persons.save_after_create = false
|
192
|
+
(1..1000).each { |i|
|
193
|
+
Persons.create(:first_name => "name_#{i}", :pass => i)
|
194
|
+
}
|
195
|
+
(1..1).each { |i|
|
196
|
+
dputs(1) { "Benchmarking match - Turn #{i}" }
|
197
|
+
dputs(1) { Benchmark.measure("match_#{i}") {
|
198
|
+
(1..2000).each { |i|
|
199
|
+
Persons.match_by(:first_name, "name_#{i}")
|
200
|
+
}
|
201
|
+
}.to_s
|
202
|
+
}
|
203
|
+
}
|
204
|
+
(1..3).each { |i|
|
205
|
+
dputs(1) { "Benchmarking match_key - Turn #{i}" }
|
206
|
+
dputs(1) { Benchmark.measure("match_key_#{i}") {
|
207
|
+
(1..2000).each { |i|
|
208
|
+
Persons.match_key(:first_name, "name_#{i}")
|
209
|
+
}
|
210
|
+
}.to_s
|
211
|
+
}
|
212
|
+
}
|
213
|
+
end
|
214
|
+
|
215
|
+
def test_list_entity
|
216
|
+
@base_1011.teacher = @admin
|
217
|
+
assert_equal @admin, @base_1011.teacher
|
218
|
+
Entities.save_all
|
219
|
+
Entities.load_all
|
220
|
+
assert_equal @admin, @base_1011.teacher
|
221
|
+
|
222
|
+
course = Courses.create(:first_name => 'foo',
|
223
|
+
:students => [@admin])
|
224
|
+
course.students = [@admin]
|
225
|
+
assert_equal @admin.to_hash, course.students.first.to_hash
|
226
|
+
|
227
|
+
Entities.save_all
|
228
|
+
Entities.load_all
|
229
|
+
|
230
|
+
course = Courses.find_by_first_name('foo')
|
231
|
+
assert_equal @admin.to_hash, course.students.first.to_hash
|
232
|
+
end
|
233
|
+
|
234
|
+
def test_create_equal
|
235
|
+
p = Persons.create(:value1 => 10)
|
236
|
+
assert_equal 20, p.value2
|
237
|
+
end
|
238
|
+
|
239
|
+
def test_new_id_inc
|
240
|
+
Entities.delete_all_data
|
241
|
+
assert_equal 1, Persons.last_id
|
242
|
+
persons = (1..2).collect { |i| Persons.create(login_name: "test_#{i}") }
|
243
|
+
assert_equal [1, 2], persons.collect { |p| p.person_id }
|
244
|
+
persons.first.delete
|
245
|
+
nperson = Persons.create(login_name: 'test_3')
|
246
|
+
assert_equal 3, nperson.person_id
|
247
|
+
|
248
|
+
Entities.save_all
|
249
|
+
Entities.delete_all_data(true)
|
250
|
+
Entities.load_all
|
251
|
+
|
252
|
+
nperson = Persons.create(login_name: 'test_4')
|
253
|
+
assert_equal 4, nperson.person_id
|
254
|
+
end
|
255
|
+
|
256
|
+
def test_top_class
|
257
|
+
Kernel.eval("class TestTop < Entity\nend", TOPLEVEL_BINDING)
|
258
|
+
klass = Kernel.eval('TestTop')
|
259
|
+
assert 'TestTop', klass.inspect
|
260
|
+
end
|
261
|
+
|
262
|
+
def test_static
|
263
|
+
Courses.static._test = 1
|
264
|
+
assert_equal(1, Courses.static._test)
|
265
|
+
Entities.save_all
|
266
|
+
Entities.delete_all_data(true)
|
267
|
+
assert_equal(nil, Courses.static._test)
|
268
|
+
Entities.load_all
|
269
|
+
assert_equal(1, Courses.static._test)
|
270
|
+
end
|
271
|
+
end
|
data/test/qv_gettext.rb
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'gettext'
|
3
|
+
|
4
|
+
class TC_Gettext < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
dputs(0){"setting up"}
|
7
|
+
$name = "gettext"
|
8
|
+
GetText.bindtextdomain( 'gettext', :path => '/tmp' )
|
9
|
+
GetText.bindtextdomain( $name, :path => "po" )
|
10
|
+
GetText.locale = "en"
|
11
|
+
GetText::TextDomainManager.cached = false
|
12
|
+
dputs(0){"getting texts"}
|
13
|
+
@a = GetText._("one")
|
14
|
+
@b = GetText._("two")
|
15
|
+
end
|
16
|
+
|
17
|
+
def teardown
|
18
|
+
end
|
19
|
+
|
20
|
+
def tes_domain
|
21
|
+
GetText.locale = "fr"
|
22
|
+
assert_equal "un", GetText._("one")
|
23
|
+
assert_equal "one", @a
|
24
|
+
assert_equal "deux", GetText._("two")
|
25
|
+
assert_equal "two", @b
|
26
|
+
assert_equal "hello", GetText._("hello")
|
27
|
+
end
|
28
|
+
end
|
data/test/qv_helpers.rb
ADDED
@@ -0,0 +1,173 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
|
3
|
+
class TC_Helpers < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
Entities.delete_all_data()
|
6
|
+
# Entities.Persons.create( :first_name => "admin", :pass => "super123", :session_id => '0.1', :permission => 'admin' )
|
7
|
+
# Entities.Persons.create( :first_name => "surf", :pass => "surf", :session_id => '0.2', :permission => 'internet' )
|
8
|
+
# Permission.session_add( '0.1', 'admin')
|
9
|
+
# Permission.session_add( '0.2', 'internet')
|
10
|
+
end
|
11
|
+
|
12
|
+
def teardown
|
13
|
+
end
|
14
|
+
|
15
|
+
def request(service, method, args)
|
16
|
+
RPCQooxdooHandler.request(1, service, method, args)
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_def_config
|
20
|
+
assert_equal 777, get_config(777, :TestConfigs)
|
21
|
+
assert_equal true, get_config(nil, :TestConfig, :One)
|
22
|
+
assert_equal 'hello', get_config(nil, :TestConfig, :Two)
|
23
|
+
assert_equal 30, get_config(nil, :TestConfig, :Three, :Thirty)
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_set_config
|
27
|
+
set_config(1, :SetConfig)
|
28
|
+
assert_equal 1, get_config(2, :SetConfig)
|
29
|
+
set_config(2, :SetConfig)
|
30
|
+
assert_equal 2, get_config(3, :SetConfig)
|
31
|
+
set_config(2, :SetConfig2, :Level)
|
32
|
+
assert_equal 2, get_config(3, :SetConfig2, :Level)
|
33
|
+
set_config(3, :SetConfig2, :Level)
|
34
|
+
assert_equal 3, get_config(4, :SetConfig2, :Level)
|
35
|
+
set_config(4, :SetConfig3, :Level, :Two)
|
36
|
+
assert_equal 4, get_config(5, :SetConfig3, :Level, :Two)
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_dputs_time
|
40
|
+
dputs(1) { 'Testing time'
|
41
|
+
}
|
42
|
+
set_config('sec', :DPuts, :showTime)
|
43
|
+
dputs(1) { 'First'
|
44
|
+
}
|
45
|
+
dputs(1) { 'Second'
|
46
|
+
}
|
47
|
+
sleep(1)
|
48
|
+
dputs(1) { 'Third'
|
49
|
+
}
|
50
|
+
end
|
51
|
+
|
52
|
+
def show_me
|
53
|
+
@inside += 1
|
54
|
+
return 'hello'
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_dputs
|
58
|
+
old = get_config(false, :DPuts, :silent)
|
59
|
+
set_config(true, :DPuts, :silent)
|
60
|
+
|
61
|
+
@inside = 1
|
62
|
+
dbg = DEBUG_LVL
|
63
|
+
Object.send(:remove_const, :DEBUG_LVL)
|
64
|
+
Object.const_set(:DEBUG_LVL, 1)
|
65
|
+
|
66
|
+
dputs(1) { "Calling for show_me #{show_me}" }
|
67
|
+
assert_equal 2, @inside
|
68
|
+
|
69
|
+
dputs(2) { "This shouldn't be called #{show_me}" }
|
70
|
+
assert_equal 2, @inside
|
71
|
+
|
72
|
+
Object.send(:remove_const, :DEBUG_LVL)
|
73
|
+
Object.const_set(:DEBUG_LVL, dbg)
|
74
|
+
|
75
|
+
set_config(old, :DPuts, :silent)
|
76
|
+
end
|
77
|
+
|
78
|
+
def test_speed_create
|
79
|
+
dputs(1) { 'Benchmarking'
|
80
|
+
}
|
81
|
+
(0..4).each { |b|
|
82
|
+
dputs(1) { Benchmark.measure("Users #{(b*50).to_s.rjust(3)}") {
|
83
|
+
(1..50).each { |i|
|
84
|
+
Entities.Persons.create(:first_name => "admin#{b*50+i}", :pass => 'super123', :session_id => '0.1', :permission => 'admin')
|
85
|
+
}
|
86
|
+
}.to_s
|
87
|
+
}
|
88
|
+
}
|
89
|
+
end
|
90
|
+
|
91
|
+
def test_config_list
|
92
|
+
assert_equal ['one', 'two three'], get_config(nil, :TestList)
|
93
|
+
|
94
|
+
assert_equal ["Link: <a href='hello there'>link</a>"],
|
95
|
+
get_config(nil, :TestLink1)
|
96
|
+
|
97
|
+
assert_equal "Something over\nmultiple lines:\none two three\n",
|
98
|
+
get_config(nil, :TestLink2)
|
99
|
+
end
|
100
|
+
|
101
|
+
def test_create_sqlite
|
102
|
+
Accounts.create(:name => 'test')
|
103
|
+
end
|
104
|
+
|
105
|
+
def test_speed_sqlite
|
106
|
+
dputs(1) { 'Benchmark' }
|
107
|
+
(0..4).each { |b|
|
108
|
+
dputs(1) { Benchmark.measure("Accounts #{(b*50).to_s.rjust(3)}") {
|
109
|
+
(1..500).each { |i|
|
110
|
+
Accounts.create(:name => 'test')
|
111
|
+
}
|
112
|
+
}.to_s
|
113
|
+
}
|
114
|
+
}
|
115
|
+
end
|
116
|
+
|
117
|
+
def test_make_steps
|
118
|
+
session = {s_data: {value: 10}}
|
119
|
+
ms = MakeSteps.new(session) { |session, _data, step|
|
120
|
+
case step
|
121
|
+
when 0
|
122
|
+
assert_equal 10, session._s_data._value
|
123
|
+
session._s_data._value += 1
|
124
|
+
when 1
|
125
|
+
assert_equal 11, session._s_data._value
|
126
|
+
session._s_data._value += 1
|
127
|
+
ms.step = 3
|
128
|
+
when 2
|
129
|
+
assert_equal 13, session._s_data._value
|
130
|
+
session._s_data._value += 1
|
131
|
+
ms.step = -1
|
132
|
+
when 3
|
133
|
+
assert_equal 12, session._s_data._value
|
134
|
+
session._s_data._value += 1
|
135
|
+
ms.step = 2
|
136
|
+
end
|
137
|
+
nil
|
138
|
+
}
|
139
|
+
|
140
|
+
ms.make_step(session)
|
141
|
+
ms.make_step(session)
|
142
|
+
ms.make_step(session)
|
143
|
+
ms.make_step(session)
|
144
|
+
assert_equal 14, session._s_data._value
|
145
|
+
end
|
146
|
+
|
147
|
+
def test_make_steps_wait
|
148
|
+
session = {s_data: {value: 10}}
|
149
|
+
ms = MakeSteps.new(session, -1) { |session, _data, step|
|
150
|
+
case step
|
151
|
+
when 0
|
152
|
+
assert_equal 10, session._s_data._value
|
153
|
+
sleep 1.5
|
154
|
+
[session._s_data._value += 1]
|
155
|
+
when 1
|
156
|
+
assert_equal 11, session._s_data._value
|
157
|
+
[session._s_data._value += 1]
|
158
|
+
end
|
159
|
+
}
|
160
|
+
|
161
|
+
assert_equal [{:cmd=>:auto_update, :data=>-1}], ms.make_step(session)
|
162
|
+
assert_equal [11,{:cmd=>:auto_update, :data=>0}], ms.make_step(session)
|
163
|
+
ms.make_step(session)
|
164
|
+
assert_equal 12, session._s_data._value
|
165
|
+
end
|
166
|
+
|
167
|
+
def test_hash_accessor
|
168
|
+
a = {}
|
169
|
+
assert_equal nil, a._b
|
170
|
+
a._b = 3
|
171
|
+
assert_equal 3, a._b
|
172
|
+
end
|
173
|
+
end
|
data/test/qv_icc.rb
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'benchmark'
|
2
|
+
require 'securerandom'
|
3
|
+
|
4
|
+
class TC_ICC < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
dputs(2) { "Deleting everything" }
|
7
|
+
Entities.delete_all_data
|
8
|
+
|
9
|
+
@admin = Persons.create(login_name: 'admin', password_plain: '1234')
|
10
|
+
end
|
11
|
+
|
12
|
+
def teardown
|
13
|
+
end
|
14
|
+
|
15
|
+
def with_server
|
16
|
+
ConfigBase.block_size = 4096
|
17
|
+
|
18
|
+
@port = 3302
|
19
|
+
@url = "http://localhost:#{@port}/icc"
|
20
|
+
@main = Thread.new {
|
21
|
+
QooxView::startWeb(@port)
|
22
|
+
}
|
23
|
+
dputs(1) { "Starting at port #{@port}" }
|
24
|
+
sleep 1
|
25
|
+
|
26
|
+
yield @port, @url, @main
|
27
|
+
|
28
|
+
@main.kill.join
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_transfer
|
32
|
+
with_server do
|
33
|
+
ICC.transfer(@admin, 'Persons.adduser', {:first_name => 'foo', :pass => 'bar'},
|
34
|
+
url: @url)
|
35
|
+
|
36
|
+
fb = Persons.find_by_first_name('foo')
|
37
|
+
assert_equal 'bar', fb.pass
|
38
|
+
|
39
|
+
ICC.transfer(@admin, 'Persons.longtransfer', SecureRandom.random_bytes(16384),
|
40
|
+
url: @url)
|
41
|
+
assert_equal 16384, Persons.get_longtransfer_bytes
|
42
|
+
|
43
|
+
@str = ''
|
44
|
+
ICC.transfer(@admin, 'Persons.longtransfer', SecureRandom.random_bytes(1500),
|
45
|
+
url: @url) { |s| @str += s }
|
46
|
+
assert_equal '0%50%100%', @str
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def test_fetch_binary
|
51
|
+
with_server do
|
52
|
+
ret = ICC.get(:Persons, :_getbinary, url: @url)
|
53
|
+
file1 = ret._msg
|
54
|
+
file2 = IO.read('file_binary.bin').force_encoding(Encoding::ASCII_8BIT)
|
55
|
+
assert Digest::MD5.hexdigest(file1) == Digest::MD5.hexdigest(file2)
|
56
|
+
assert file1 == file2
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
@@ -0,0 +1,130 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'benchmark'
|
3
|
+
|
4
|
+
class TC_Migration < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
Entities.delete_all_data
|
7
|
+
CVSInventories.class_eval( '
|
8
|
+
def setup_data
|
9
|
+
value_date :date
|
10
|
+
value_str :iname
|
11
|
+
end
|
12
|
+
|
13
|
+
(1..3).each{|v|
|
14
|
+
begin
|
15
|
+
remove_method "migration_#{v}".to_sym
|
16
|
+
rescue NameError
|
17
|
+
end
|
18
|
+
begin
|
19
|
+
remove_method "migration_#{v}_raw".to_sym
|
20
|
+
rescue NameError
|
21
|
+
end
|
22
|
+
}
|
23
|
+
|
24
|
+
RPCQooxdooService.add_prime_service( CVSInventories,
|
25
|
+
"Entities.CVSInventories" )
|
26
|
+
')
|
27
|
+
@pers = Persons.create( :login_name => 'test')
|
28
|
+
@inv1 = CVSInventories.create( :date => '121201', :iname => 'comp 01')
|
29
|
+
@inv2 = CVSInventories.create( :date => '121202', :iname => 'comp 02')
|
30
|
+
@inv3 = CVSInventories.create( :date => '121203', :iname => 'comp 03')
|
31
|
+
Entities.save_all
|
32
|
+
end
|
33
|
+
|
34
|
+
def teardown
|
35
|
+
dputs(1){ 'Tearing down' }
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_cvs_normal
|
39
|
+
assert_equal '121201', @inv1.date
|
40
|
+
end
|
41
|
+
|
42
|
+
def test_cvs_init
|
43
|
+
assert_equal 'comp 01', CVSInventories.match_by_date('121201').iname
|
44
|
+
|
45
|
+
dputs(5){ 'Before class_eval' }
|
46
|
+
CVSInventories.class_eval( '
|
47
|
+
def setup_data
|
48
|
+
dputs(1){"new inventories"}
|
49
|
+
value_date :date
|
50
|
+
value_str :iname
|
51
|
+
value_str :typ
|
52
|
+
end
|
53
|
+
|
54
|
+
def migration_1( inv )
|
55
|
+
dputs(1){"Adjusting inv #{inv.inspect}"}
|
56
|
+
inv.typ = inv.iname.split[0]
|
57
|
+
end
|
58
|
+
|
59
|
+
dputs(1){"Adding to RPC"}
|
60
|
+
RPCQooxdooService.add_prime_service( CVSInventories,
|
61
|
+
"Entities.CVSInventories" )
|
62
|
+
')
|
63
|
+
|
64
|
+
Entities.load_all
|
65
|
+
assert_equal 'comp', CVSInventories.match_by_date('121201').typ
|
66
|
+
|
67
|
+
CVSInventories.class_eval( '
|
68
|
+
def migration_2( inv )
|
69
|
+
dputs(1){"Adjusting inv #{inv.inspect}"}
|
70
|
+
inv.typ = inv.date
|
71
|
+
end
|
72
|
+
|
73
|
+
def migration_3( inv )
|
74
|
+
dputs(1){"Adjusting inv #{inv.inspect}"}
|
75
|
+
inv.iname = inv.typ + "-"
|
76
|
+
end
|
77
|
+
|
78
|
+
RPCQooxdooService.add_prime_service( CVSInventories,
|
79
|
+
"Entities.CVSInventories" )
|
80
|
+
')
|
81
|
+
Entities.load_all
|
82
|
+
assert_equal '121201-', CVSInventories.match_by_date('121201').iname
|
83
|
+
end
|
84
|
+
|
85
|
+
# Also tests deletion - this is kind of a bug that it works, because
|
86
|
+
# the Entities.load function should not load fields that are not
|
87
|
+
# defined - probably only works for CVS...
|
88
|
+
# As this is a raw-migration, it is probably OK
|
89
|
+
def test_cvs_rename
|
90
|
+
CVSInventories.class_eval( '
|
91
|
+
def setup_data
|
92
|
+
value_date :date
|
93
|
+
value_str :i_name
|
94
|
+
end
|
95
|
+
|
96
|
+
def migration_1_raw( inv )
|
97
|
+
dputs(1){"rename: Adjusting inv #{inv.inspect}"}
|
98
|
+
inv._i_name = inv._iname
|
99
|
+
end
|
100
|
+
|
101
|
+
RPCQooxdooService.add_prime_service( CVSInventories,
|
102
|
+
"Entities.CVSInventories" )
|
103
|
+
')
|
104
|
+
|
105
|
+
Entities.load_all
|
106
|
+
assert_equal 'comp 01', CVSInventories.match_by_date('121201').i_name
|
107
|
+
end
|
108
|
+
|
109
|
+
def test_raw
|
110
|
+
CVSInventories.class_eval( '
|
111
|
+
def setup_data
|
112
|
+
value_date :date
|
113
|
+
value_str :i_name
|
114
|
+
end
|
115
|
+
|
116
|
+
def migration_1_raw( inv )
|
117
|
+
dputs(1){"renaming raw: Adjusting inv #{inv.inspect}"}
|
118
|
+
inv[:i_name] = inv[:iname]
|
119
|
+
dputs(1){"Is now #{inv.inspect}"}
|
120
|
+
end
|
121
|
+
|
122
|
+
RPCQooxdooService.add_prime_service( CVSInventories,
|
123
|
+
"Entities.CVSInventories" )
|
124
|
+
')
|
125
|
+
|
126
|
+
Entities.load_all
|
127
|
+
cvs = CVSInventories.match_by_date('121201')
|
128
|
+
assert_equal 'comp 01', cvs.i_name
|
129
|
+
end
|
130
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
|
3
|
+
class Tc_permission < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
end
|
6
|
+
|
7
|
+
def teardown
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_can_view
|
11
|
+
assert Permission.can_view( 'internet', 'Internet'), 'Internet is not allowed'
|
12
|
+
assert ( not Permission.can_view( 'internet', 'PersonModify') )
|
13
|
+
assert Permission.can_view( 'secretary', 'Internet')
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_views
|
17
|
+
assert_equal %w( View View.Login ), Permission.views( :default )
|
18
|
+
assert_equal %w( Internet PersonShow View View.Login ),
|
19
|
+
Permission.views( :internet )
|
20
|
+
assert_equal %w( Internet PersonShow View View.Login ),
|
21
|
+
Permission.views( %w( internet default ) )
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_has_role
|
25
|
+
assert Permission.has_role( 'professor', 'professor' )
|
26
|
+
assert ! Permission.has_role( 'professo', 'professor' )
|
27
|
+
assert ! Permission.has_role( 'rofessor', 'professor' )
|
28
|
+
assert Permission.has_role( 'admin', 'professor' )
|
29
|
+
assert ! Permission.has_role( 'student', 'professor' )
|
30
|
+
assert Permission.has_role( %w( professor secretary ), 'cybermanager' )
|
31
|
+
assert Permission.has_role( %w( secretary professor ), 'cybermanager' )
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|