UNPKG

@qooxdoo/framework

Version:

The JS Framework for Coders

825 lines (599 loc) 21.5 kB
/* ************************************************************************ qooxdoo - the new era of web development http://qooxdoo.org Copyright: 2004-2016 1&1 Internet AG, Germany, http://www.1und1.de License: MIT: https://opensource.org/licenses/MIT See the LICENSE file in the project's top-level directory for details. Authors: * William Opandi (woprandi) ************************************************************************ */ qx.Class.define("qx.test.theme.simple.Appearance", { extend: qx.dev.unit.TestCase, members: { __obj: qx.theme.simple.Appearance.appearances, testLabel() { var obj = this.__obj.label; this.assertIdentical( "text-disabled", obj.style({ disabled: true }).textColor ); this.assertUndefined(obj.style({ disabled: false }).textColor); }, testImage() { var obj = this.__obj.image; var states = { replacement: false, disabled: true }; this.assertIdentical(0.3, obj.style(states).opacity); states.replacement = true; this.assertUndefined(obj.style(states).opacity); }, testRoot() { var obj = this.__obj.root; var style = obj.style(); this.assertIdentical("background", style.backgroundColor); this.assertIdentical("text", style.textColor); this.assertIdentical("default", style.font); }, testPopup() { var obj = this.__obj.popup; var style = obj.style(); this.assertIdentical("popup", style.decorator); this.assertIdentical("background-pane", style.backgroundColor); }, testTooltip() { var obj = this.__obj.tooltip; var style = obj.style(); this.assertIdentical("tooltip", style.backgroundColor); this.assertIdentical("tooltip-text", style.textColor); this.assertIdentical("tooltip", style.decorator); this.assertArrayEquals([1, 3, 2, 3], style.padding); this.assertArrayEquals([10, 5, 5, 5], style.offset); }, testTooltipError() { var obj = this.__obj["tooltip-error"]; var style = obj.style(); this.assertIdentical("text-selected", style.textColor); this.assertIdentical(100, style.showTimeout); this.assertIdentical(10000, style.hideTimeout); this.assertIdentical("tooltip-error", style.decorator); this.assertIdentical("bold", style.font); this.assertUndefined(style.backgroundColor); }, testIframe() { var obj = this.__obj.iframe; var style = obj.style(); this.assertIdentical("white", style.backgroundColor); this.assertIdentical("main-dark", style.decorator); }, testMoveFrame() { var obj = this.__obj["move-frame"]; var style = obj.style(); this.assertIdentical("main-dark", style.decorator); }, testDragDropCursor() { var obj = this.__obj["dragdrop-cursor"]; var states = { copy: true, move: true, alias: true }; var style = obj.style(states); this.assertIdentical( qx.theme.simple.Image.URLS["cursor-copy"], style.source ); states.copy = false; style = obj.style(states); this.assertIdentical( qx.theme.simple.Image.URLS["cursor-move"], style.source ); states.move = false; style = obj.style(states); this.assertIdentical( qx.theme.simple.Image.URLS["cursor-alias"], style.source ); states.alias = false; style = obj.style(states); this.assertIdentical( qx.theme.simple.Image.URLS["cursor-nodrop"], style.source ); this.assertIdentical("right-top", style.position); this.assertArrayEquals([2, 16, 2, 6], style.offset); }, testSlideBarButtonForward() { var style = this.__obj["slidebar/button-forward"].style; this.assertIdentical( qx.theme.simple.Image.URLS["arrow-down"], style({ vertical: true }).icon ); this.assertIdentical( qx.theme.simple.Image.URLS["arrow-right"], style({ vertical: false }).icon ); }, testSlideBarButtonBackward() { var style = this.__obj["slidebar/button-backward"].style; this.assertIdentical( qx.theme.simple.Image.URLS["arrow-up"], style({ vertical: true }).icon ); this.assertIdentical( qx.theme.simple.Image.URLS["arrow-left"], style({ vertical: false }).icon ); }, testTableStatusBar() { var style = this.__obj["table/statusbar"].style(); this.assertIdentical("statusbar", style.decorator); this.assertArrayEquals([2, 5], style.padding); }, testTableColumnButton() { var style = this.__obj["table/column-button"].style(); this.assertIdentical("table-header-column-button", style.decorator); this.assertIdentical(3, style.padding); this.assertIdentical( qx.theme.simple.Image.URLS["select-column-order"], style.icon ); }, testTableColumnResetButton() { var style = this.__obj["table-column-reset-button"].style(); this.assertIdentical("icon/16/actions/view-refresh.png", style.icon); }, testTableScrollerHeader() { var style = this.__obj["table-scroller/header"].style(); this.assertIdentical("table-header", style.decorator); }, testTableScrollerFocusIndicator() { var style = this.__obj["table-scroller/focus-indicator"].style(); this.assertIdentical("main", style.decorator); }, testTableScrollerResizeLine() { var style = this.__obj["table-scroller/resize-line"].style(); this.assertIdentical("button-border", style.backgroundColor); this.assertIdentical(3, style.width); }, testTableHeaderCell() { var styleFunc = this.__obj["table-header-cell"].style; var states = { first: true, disabled: true, sorted: true, sortedAscending: true }; var style = styleFunc(states); this.assertIdentical(13, style.minWidth); this.assertIdentical("bold", style.font); this.assertIdentical(3, style.paddingTop); this.assertIdentical(5, style.paddingLeft); this.assertIdentical("table-header-cell-first", style.decorator); this.assertUndefined(style.pointer); this.assertIdentical( qx.theme.simple.Image.URLS["table-ascending"], style.sortIcon ); states.sortedAscending = false; style = styleFunc(states); this.assertIdentical( qx.theme.simple.Image.URLS["table-descending"], style.sortIcon ); states.sorted = false; style = styleFunc(states); this.assertUndefined(style.sortIcon); states.disabled = false; style = styleFunc(states); this.assertIdentical("pointer", style.cursor); states.first = false; style = styleFunc(states); this.assertIdentical("table-header-cell", style.decorator); }, testTableHeaderCellIcon() { var style = this.__obj["table-header-cell/icon"].style(); this.assertIdentical(5, style.paddingRight); }, testTableHeaderCellSortIcon() { var style = this.__obj["table-header-cell/sort-icon"].style(); this.assertIdentical("middle", style.alignY); this.assertIdentical("right", style.alignX); this.assertIdentical(5, style.paddingRight); }, testTableEditorTextField() { var style = this.__obj["table-editor-textfield"].style(); this.assertUndefined(style.decorator); this.assertArrayEquals([2, 2], style.padding); }, testTableEditorSelectBox() { var style = this.__obj["table-editor-selectbox"].style(); this.assertArrayEquals([0, 2], style.padding); }, testTableEditorComboBox() { var style = this.__obj["table-editor-combobox"].style(); this.assertUndefined(style.decorator); }, testProgressiveTableHeader() { var style = this.__obj["progressive-table-header"].style(); this.assertIdentical("progressive-table-header", style.decorator); }, testProgressiveTableHeaderCell() { var style = this.__obj["progressive-table-header-cell"].style(); this.assertIdentical("progressive-table-header-cell", style.decorator); this.assertArrayEquals([5, 6, 5, 6], style.padding); }, testTreeVirtual() { var styleFunc = this.__obj["treevirtual"].style; var superStyles = { padding: [3, 4] }; var style = styleFunc(null, superStyles); this.assertArrayEquals([5, 5], style.padding); }, testTreeVirtualFolder() { var styleFunc = this.__obj["treevirtual-folder"].style; var states = { opened: true, drag: true }; var style = styleFunc(states); this.assertIdentical("icon/16/places/folder-open.png", style.icon); this.assertIdentical(0.5, style.opacity); states.opened = false; states.drag = false; style = styleFunc(states); this.assertIdentical("icon/16/places/folder.png", style.icon); this.assertUndefined(style.opacity); }, testTreeVirtualFile() { var styleFunc = this.__obj["treevirtual-file"].style; this.assertIdentical( "icon/16/mimetypes/text-plain.png", styleFunc({ drag: false }).icon ); this.assertIdentical(0.5, styleFunc({ drag: true }).opacity); this.assertUndefined(styleFunc({ drag: false }).opacity); }, testTreeVirtualLine() { var style = this.__obj["treevirtual-line"].style(); this.assertIdentical( qx.theme.simple.Image.URLS["treevirtual-line"], style.icon ); }, testTreeVirtualContract() { var style = this.__obj["treevirtual-contract"].style(); this.assertIdentical( qx.theme.simple.Image.URLS["tree-minus"], style.icon ); }, testTreeVirtualExpand() { var style = this.__obj["treevirtual-expand"].style(); this.assertIdentical(qx.theme.simple.Image.URLS["tree-plus"], style.icon); }, testTreeVirtualOnlyContract() { var style = this.__obj["treevirtual-only-contract"].style(); this.assertIdentical( qx.theme.simple.Image.URLS["treevirtual-minus-only"], style.icon ); }, testTreeVirtualOnlyExpand() { var style = this.__obj["treevirtual-only-expand"].style(); this.assertIdentical( qx.theme.simple.Image.URLS["treevirtual-plus-only"], style.icon ); }, testTreeVirtualStartContract() { var style = this.__obj["treevirtual-start-contract"].style(); this.assertIdentical( qx.theme.simple.Image.URLS["treevirtual-minus-start"], style.icon ); }, testTreeVirtualStartExpand() { var style = this.__obj["treevirtual-start-expand"].style(); this.assertIdentical( qx.theme.simple.Image.URLS["treevirtual-plus-start"], style.icon ); }, testTreeVirtualEndContract() { var style = this.__obj["treevirtual-end-contract"].style(); this.assertIdentical( qx.theme.simple.Image.URLS["treevirtual-minus-end"], style.icon ); }, testTreeVirtualEndExpand() { var style = this.__obj["treevirtual-end-expand"].style(); this.assertIdentical( qx.theme.simple.Image.URLS["treevirtual-plus-end"], style.icon ); }, testTreeVirtualCrossContract() { var style = this.__obj["treevirtual-cross-contract"].style(); this.assertIdentical( qx.theme.simple.Image.URLS["treevirtual-minus-cross"], style.icon ); }, testTreeVirtualCrossExpand() { var style = this.__obj["treevirtual-cross-expand"].style(); this.assertIdentical( qx.theme.simple.Image.URLS["treevirtual-plus-cross"], style.icon ); }, testTreeVirtualEnd() { var style = this.__obj["treevirtual-end"].style(); this.assertIdentical( qx.theme.simple.Image.URLS["treevirtual-end"], style.icon ); }, testTreeVirtualCross() { var style = this.__obj["treevirtual-cross"].style(); this.assertIdentical( qx.theme.simple.Image.URLS["treevirtual-cross"], style.icon ); }, testResizer() { var style = this.__obj["resizer"].style(); this.assertIdentical("main-dark", style.decorator); }, testSplitpaneSplitter() { var style = this.__obj["splitpane/splitter"].style(); this.assertIdentical("light-background", style.backgroundColor); }, testSplitpaneSplitterKnob() { var styleFunc = this.__obj["splitpane/splitter/knob"].style; var states = { horizontal: true }; var style = styleFunc(states); this.assertIdentical(2, style.padding); this.assertIdentical( qx.theme.simple.Image.URLS["knob-horizontal"], style.source ); style = styleFunc({ horizontal: false }); this.assertIdentical( qx.theme.simple.Image.URLS["knob-vertical"], style.source ); }, testSplitpaneSlider() { var style = this.__obj["splitpane/slider"].style(); this.assertIdentical("border-light-shadow", style.backgroundColor); this.assertIdentical(0.3, style.opacity); }, testMenu() { var styleFunc = this.__obj["menu"].style; var states = { submenu: true, contextmenu: true }; var style = styleFunc(states); this.assertIdentical("background", style.backgroundColor); this.assertIdentical("main", style.decorator); this.assertIdentical(6, style.spacingX); this.assertIdentical(1, style.spacingY); this.assertIdentical(16, style.iconColumnWidth); this.assertIdentical(4, style.arrowColumnWidth); this.assertIdentical(1, style.padding); this.assertIdentical("best-fit", style.placementModeY); this.assertNotUndefined(style.position); this.assertIdentical("right-top", style.position); this.assertNotUndefined(style.offset); this.assertIdentical(4, style.offset); states.submenu = false; style = styleFunc(states); this.assertIdentical("best-fit", style.placementModeY); this.assertUndefined(style.position); this.assertIdentical(4, style.offset); states.contextmenu = false; style = styleFunc(states); this.assertIdentical("keep-align", style.placementModeY); this.assertUndefined(style.position); this.assertUndefined(style.offset); }, testMenuSlideBarButton() { var styleFunc = this.__obj["menu-slidebar-button"].style; var style = styleFunc({ hovered: true }); this.assertIdentical(6, style.padding); this.assertIdentical(true, style.center); this.assertIdentical("background-selected", style.backgroundColor); style = styleFunc({ hovered: false }); this.assertUndefined(style.backgroundColor); }, testMenuSlideBarButtonBackward() { var styleFunc = this.__obj["menu-slidebar/button-backward"].style; var style = styleFunc({ hovered: true }); this.assertIdentical( qx.theme.simple.Image.URLS["arrow-up-invert"], style.icon ); style = styleFunc({ hovered: false }); this.assertIdentical(qx.theme.simple.Image.URLS["arrow-up"], style.icon); }, testMenuSlideBarButtonForward() { var styleFunc = this.__obj["menu-slidebar/button-forward"].style; var style = styleFunc({ hovered: true }); this.assertIdentical( qx.theme.simple.Image.URLS["arrow-down-invert"], style.icon ); style = styleFunc({ hovered: false }); this.assertIdentical( qx.theme.simple.Image.URLS["arrow-down"], style.icon ); }, testMenuSeparator() { var style = this.__obj["menu-separator"].style(); this.assertIdentical(0, style.height); this.assertIdentical("menu-separator", style.decorator); this.assertIdentical(4, style.marginTop); this.assertIdentical(4, style.marginBottom); this.assertIdentical(2, style.marginLeft); this.assertIdentical(2, style.marginRight); }, testMenuButton() { var styleFunc = this.__obj["menu-button"].style; this.assertIdentical( "background-selected", styleFunc({ selected: true }).backgroundColor ); this.assertIdentical( "text-selected", styleFunc({ selected: true }).textColor ); this.assertArrayEquals([2, 6], styleFunc({ selected: true }).padding); this.assertUndefined(styleFunc({ selected: false }).backgroundColor); this.assertUndefined(styleFunc({ selected: false }).textColor); }, testMenuButtonIcon() { var style = this.__obj["menu-button/icon"].style(); this.assertIdentical("middle", style.alignY); }, testMenuButtonLabel() { var style = this.__obj["menu-button/label"].style(); this.assertIdentical("middle", style.alignY); this.assertIdentical(1, style.padding); }, testMenuButtonShortcut() { var style = this.__obj["menu-button/shortcut"].style(); this.assertIdentical("middle", style.alignY); this.assertIdentical(1, style.padding); this.assertIdentical(14, style.marginLeft); }, testMenuButtonArrow() { var styleFunc = this.__obj["menu-button/arrow"].style; var states = { selected: true }; var style = styleFunc(states); this.assertIdentical( qx.theme.simple.Image.URLS["arrow-right-invert"], style.source ); this.assertIdentical("middle", style.alignY); states.selected = false; style = styleFunc(states); this.assertIdentical( qx.theme.simple.Image.URLS["arrow-right"], style.source ); }, testMenuCheckbox() { var styleFunc = this.__obj["menu-checkbox"].style; var states = { checked: true, selected: true }; var style = styleFunc(states); this.assertIdentical( qx.theme.simple.Image.URLS["menu-checkbox-invert"], style.icon ); states.selected = false; style = styleFunc(states); this.assertIdentical( qx.theme.simple.Image.URLS["menu-checkbox"], style.icon ); states.checked = false; style = styleFunc(states); this.assertUndefined(style.icon); }, testMenuRadioButton() { var styleFunc = this.__obj["menu-radiobutton"].style; var states = { checked: true, selected: true }; var style = styleFunc(states); this.assertIdentical( qx.theme.simple.Image.URLS["menu-radiobutton-invert"], style.icon ); states.selected = false; style = styleFunc(states); this.assertIdentical( qx.theme.simple.Image.URLS["menu-radiobutton"], style.icon ); states.checked = false; style = styleFunc(states); this.assertUndefined(style.icon); }, testMenuBar() { var style = this.__obj["menubar"].style(); this.assertIdentical("light-background", style.backgroundColor); this.assertArrayEquals([4, 2], style.padding); }, testMenuBarButton() { var styleFunc = this.__obj["menubar-button"].style; var states = { disabled: false, pressed: true, hovered: false }; var style = styleFunc(states); this.assertIdentical("menubar-button-pressed", style.decorator); this.assertArrayEquals([1, 5, 2, 5], style.padding); this.assertIdentical("pointer", style.cursor); states.pressed = false; states.hovered = true; style = styleFunc(states); this.assertIdentical("menubar-button-hovered", style.decorator); this.assertArrayEquals([1, 5], style.padding); states.hovered = false; style = styleFunc(states); this.assertIdentical("link", style.textColor); this.assertUndefined(style.decorator); this.assertArrayEquals([2, 6], style.padding); states.disabled = true; style = styleFunc(states); this.assertUndefined(style.cursor); }, testGroupItem() { var style = this.__obj["group-item"].style(); this.assertIdentical(4, style.padding); this.assertIdentical("#BABABA", style.backgroundColor); this.assertIdentical("white", style.textColor); this.assertIdentical("bold", style.font); }, testVirtualTree() { var style = this.__obj["virtual-tree"].style(); this.assertIdentical(21, style.itemHeight); }, testCell() { var styleFunc = this.__obj["cell"].style; var style = styleFunc({ selected: true }); this.assertIdentical( "table-row-background-selected", style.backgroundColor ); this.assertIdentical("text-selected", style.textColor); this.assertArrayEquals([3, 6], style.padding); style = styleFunc({ selected: false }); this.assertIdentical("table-row-background-even", style.backgroundColor); this.assertIdentical("text", style.textColor); }, testCellNumber() { var style = this.__obj["cell-number"].style(); this.assertIdentical("right", style.textAlign); } } });