corrade-http-templates – Blame information for rev 57
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
57 | office | 1 | define( [ |
2 | "jquery", |
||
3 | "lib/helper", |
||
4 | "ui/widgets/tabs" |
||
5 | ], function( $, helper ) { |
||
6 | |||
7 | return $.extend( helper, { |
||
8 | disabled: function( assert, tabs, state ) { |
||
9 | var expected, actual, |
||
10 | internalState = tabs.tabs( "option", "disabled" ); |
||
11 | |||
12 | if ( internalState === false ) { |
||
13 | internalState = []; |
||
14 | } |
||
15 | if ( internalState === true ) { |
||
16 | internalState = $.map( new Array( tabs.find( ".ui-tabs-nav li" ).length ), function( _, index ) { |
||
17 | return index; |
||
18 | } ); |
||
19 | } |
||
20 | |||
21 | expected = $.map( new Array( tabs.find( ".ui-tabs-nav li" ).length ), function( _, index ) { |
||
22 | if ( typeof state === "boolean" ) { |
||
23 | return state ? 1 : 0; |
||
24 | } else { |
||
25 | return $.inArray( index, state ) !== -1 ? 1 : 0; |
||
26 | } |
||
27 | } ); |
||
28 | |||
29 | actual = tabs.find( ".ui-tabs-nav li" ).map( function( index ) { |
||
30 | var tab = $( this ), |
||
31 | tabIsDisabled = tab.hasClass( "ui-state-disabled" ); |
||
32 | |||
33 | if ( tabIsDisabled && $.inArray( index, internalState ) !== -1 ) { |
||
34 | return 1; |
||
35 | } |
||
36 | if ( !tabIsDisabled && $.inArray( index, internalState ) === -1 ) { |
||
37 | return 0; |
||
38 | } |
||
39 | |||
40 | // Mixed state - invalid |
||
41 | return -1; |
||
42 | } ).get(); |
||
43 | |||
44 | assert.deepEqual( tabs.tabs( "option", "disabled" ), state ); |
||
45 | assert.deepEqual( actual, expected ); |
||
46 | }, |
||
47 | |||
48 | equalHeight: function( assert, tabs, height ) { |
||
49 | tabs.find( ".ui-tabs-panel" ).each( function() { |
||
50 | |||
51 | // Handle overly-precise values |
||
52 | var actualHeight = parseFloat( $( this ).outerHeight().toFixed( 1 ) ); |
||
53 | assert.equal( actualHeight, height ); |
||
54 | } ); |
||
55 | }, |
||
56 | |||
57 | state: function( assert, tabs ) { |
||
58 | var expected = $.makeArray( arguments ).slice( 2 ), |
||
59 | actual = tabs.find( ".ui-tabs-nav li" ).map( function() { |
||
60 | var tab = $( this ), |
||
61 | panel = $( $.ui.tabs.prototype._sanitizeSelector( |
||
62 | "#" + tab.attr( "aria-controls" ) ) ), |
||
63 | tabIsActive = tab.hasClass( "ui-state-active" ), |
||
64 | panelIsActive = panel.css( "display" ) !== "none"; |
||
65 | |||
66 | if ( tabIsActive && panelIsActive ) { |
||
67 | return 1; |
||
68 | } |
||
69 | if ( !tabIsActive && !panelIsActive ) { |
||
70 | return 0; |
||
71 | } |
||
72 | return -1; // Mixed state - invalid |
||
73 | } ).get(); |
||
74 | assert.deepEqual( actual, expected ); |
||
75 | } |
||
76 | } ); |
||
77 | |||
78 | } ); |