1<pre id="sh_011_smart_tabs_a" class="brush: plain;"> 2 the words in this paragraph 3 should look like they are 4 evenly spaced between columns 5</pre> 6 7<pre id="sh_011_smart_tabs_b" class="brush: plain; tab-size: 8;"> 8 the words in this paragraph 9 should look like they are 10 evenly spaced between columns 11</pre> 12 13<pre id="sh_011_smart_tabs_c" class="brush: plain; smart-tabs: false"> 14 the words in this paragraph 15 should look out of whack 16 because smart tabs are disabled 17</pre> 18 19<script type="text/javascript"> 20queue(function() 21{ 22 var $sh; 23 24 module('011_smart_tabs'); 25 26 var evenLines = [ 27 'the words in this paragraph', 28 'should look like they are', 29 'evenly spaced between columns' 30 ], 31 unevenLines = [ 32 'the words in this paragraph', 33 'should look out of whack', 34 'because smart tabs are disabled' 35 ] 36 ; 37 38 function fixSpaces(s) 39 { 40 s = encodeURIComponent(s).replace(/%C2%A0/g, '%20'); 41 return unescape(s).replace(/\s+$/g, ''); 42 }; 43 44 test('default tab size is 4', function() 45 { 46 $sh = $('#sh_011_smart_tabs_a'); 47 48 ok_sh($sh); 49 ok_toolbar($sh); 50 ok_code($sh); 51 52 $sh.find('.code .line').each(function(index) 53 { 54 var s1 = fixSpaces($(this).text()), 55 s2 = fixSpaces(evenLines[index]) 56 ; 57 58 equal(s1, s2, 'Line ' + index); 59 }); 60 }); 61 62 test('tab size changed to 8', function() 63 { 64 $sh = $('#sh_011_smart_tabs_b'); 65 66 ok_sh($sh); 67 ok_toolbar($sh); 68 ok_code($sh); 69 70 $sh.find('.code .line').each(function(index) 71 { 72 var s1 = fixSpaces($(this).text()), 73 s2 = fixSpaces(evenLines[index]) 74 ; 75 76 equal(s1, s2, 'Line ' + index); 77 }); 78 }); 79 80 test('smart tabs are off', function() 81 { 82 $sh = $('#sh_011_smart_tabs_c'); 83 84 ok_sh($sh); 85 ok_toolbar($sh); 86 ok_code($sh); 87 88 $sh.find('.code .line').each(function(index) 89 { 90 var s1 = fixSpaces($(this).text()), 91 s2 = fixSpaces(unevenLines[index]) 92 ; 93 94 equal(s1, s2, 'Line ' + index); 95 }); 96 }); 97}); 98</script> 99