<pre id="sh_011_smart_tabs_a" class="brush: plain;"> the words in this paragraph should look like they are evenly spaced between columns </pre> <pre id="sh_011_smart_tabs_b" class="brush: plain; tab-size: 8;"> the words in this paragraph should look like they are evenly spaced between columns </pre> <pre id="sh_011_smart_tabs_c" class="brush: plain; smart-tabs: false"> the words in this paragraph should look out of whack because smart tabs are disabled </pre> <script type="text/javascript"> queue(function() { var $sh; module('011_smart_tabs'); var evenLines = [ 'the words in this paragraph', 'should look like they are', 'evenly spaced between columns' ], unevenLines = [ 'the words in this paragraph', 'should look out of whack', 'because smart tabs are disabled' ] ; function fixSpaces(s) { s = encodeURIComponent(s).replace(/%C2%A0/g, '%20'); return unescape(s).replace(/\s+$/g, ''); }; test('default tab size is 4', function() { $sh = $('#sh_011_smart_tabs_a'); ok_sh($sh); ok_toolbar($sh); ok_code($sh); $sh.find('.code .line').each(function(index) { var s1 = fixSpaces($(this).text()), s2 = fixSpaces(evenLines[index]) ; equal(s1, s2, 'Line ' + index); }); }); test('tab size changed to 8', function() { $sh = $('#sh_011_smart_tabs_b'); ok_sh($sh); ok_toolbar($sh); ok_code($sh); $sh.find('.code .line').each(function(index) { var s1 = fixSpaces($(this).text()), s2 = fixSpaces(evenLines[index]) ; equal(s1, s2, 'Line ' + index); }); }); test('smart tabs are off', function() { $sh = $('#sh_011_smart_tabs_c'); ok_sh($sh); ok_toolbar($sh); ok_code($sh); $sh.find('.code .line').each(function(index) { var s1 = fixSpaces($(this).text()), s2 = fixSpaces(unevenLines[index]) ; equal(s1, s2, 'Line ' + index); }); }); }); </script>