about summary refs log blame commit diff stats
path: root/html/subx/003trace.test.cc.html
blob: 5c6fe027d71f9c6eaec68659a89b7c0db750ea8b (plain) (tree)
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555 } /* Name.Decorator */
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #336699 } /* Name.Variable */
.highlight .ow { color: #008800 } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */
.highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */
.highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */
.highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */
.highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */
.highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */
.highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */
.highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */
.highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */
.highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */
.highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */
.highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */
.highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #336699 } /* Name.Variable.Class */
.highlight .vg { color: #dd7700 } /* Name.Variable.Global */
.highlight .vi { color: #3333bb } /* Name.Variable.Instance */
.highlight .vm { color: #336699 } /* Name.Variable.Magic */
.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
# Copyright (c) 2009, 2010 hut <hut@lavabit.com>
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

"""
The titlebar is the widget at the top, giving you broad orientation.

It displays the current path among other things.
"""

from . import Widget
from math import floor
from ranger.gui.bar import Bar

class TitleBar(Widget):
	old_cf = None
	old_keybuffer = None
	old_wid = None
	result = None
	throbber = ' '

	def draw(self):
		if self.env.cf != self.old_cf or\
				str(self.env.keybuffer) != str(self.old_keybuffer) or\
				self.wid != self.old_wid:
			self.old_wid = self.wid
			self.old_cf = self.env.cf
			self._calc_bar()
		self._print_result(self.result)
		if self.wid > 2:
			self.color('in_titlebar', 'throbber')
			self.win.addnstr(self.y, self.wid - 2, self.throbber, 1)

	def _calc_bar(self):
		bar = Bar('in_titlebar')
		self._get_left_part(bar)
		self._get_right_part(bar)
		try:
			bar.shrink_by_cutting(self.wid)
		except ValueError:
			bar.shrink_by_removing(self.wid)
		self.result = bar.combine()
	
	def _get_left_part(self, bar):
		import socket, os
		
		bar.add(os.getenv('LOGNAME'), 'hostname', fixedsize=True)
		bar.add('@', 'hostname', fixedsize=True)
		bar.add(socket.gethostname(), 'hostname', fixedsize=True)

		for path in self.env.pathway:
			if path.islink:
				clr = 'link'
			else:
				clr = 'directory'

			bar.add(path.basename, clr)
			bar.add('/', clr, fixedsize=True)

		if self.env.cf is not None:
			bar.add(self.env.cf.basename, 'file', fixedsize=True)

	def _get_right_part(self, bar):
		kb = str(self.env.keybuffer)
		self.old_keybuffer = kb
		bar.addright(kb, 'keybuffer', fixedsize=True)
		bar.addright('  ', 'space', fixedsize=True)

	def _print_result(self, result):
		import _curses
		self.win.move(0, 0)
		for part in result:
			self.color(*part.lst)
			self.addstr(part.string)
		self.color_reset()
'>10




                                                                                          
                                         


                                                                                                               
                                                 

                       

                                                                                                 
                    
                                     




                                                                           
































                                                                                 
                                                                                                                                               
                         
                                                                                                                                                                                                           

                                                                                                                                                                                                                                                                                                            

                                                                        
                                                                                                                                                                                                                       



                                                                                                                                                                                                                                                                                                              

                                                                         
                                                                                                                                                                                                                               
                                                                                                                                                                                                                                                                                                                

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      

                                                                         
                                                                                                                                                                                                                        


                                                                                                                                                                                                                                                                                                               

                                                                         
                                                                                                                                                                                                                         


                                                                                                                                                                                                                                                                                                               

                                                                         
                                                                                                                                                                                                                          

                                                                                                                                                                                                                                                                                                                 

                                                                         
                                                                                                                                                                                                                           

                                                                                                                                                                                                                                                                                                                

                                                                         
                                                                                                                                                                                                                   

































                                                                                                                                                                                                                                                                                                                                                                                                      
                                         



















































                                                                                                                                                                                                                                                                                                                                                             



                                     
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Mu - subx/003trace.test.cc</title>
<meta name="Generator" content="Vim/8.0">
<meta name="plugin-version" content="vim7.4_v2">
<meta name="syntax" content="cpp">
<meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy=">
<meta name="colorscheme" content="minimal-light">
<style type="text/css">
<!--
pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #c6c6c6; }
body { font-size:12pt; font-family: monospace; color: #000000; background-color: #c6c6c6; }
a { color:inherit; }
* { font-size:12pt; font-size: 1em; }
.LineNr { }
.Constant { color: #008787; }
.Delimiter { color: #c000c0; }
.Normal { color: #000000; background-color: #c6c6c6; padding-bottom: 1px; }
.Comment { color: #005faf; }
-->
</style>

<script type='text/javascript'>
<!--

/* function to open any folds containing a jumped-to line before jumping to it */
function JumpToLine()
{
  var lineNum;
  lineNum = window.location.hash;
  lineNum = lineNum.substr(1); /* strip off '#' */

  if (lineNum.indexOf('L') == -1) {
    lineNum = 'L'+lineNum;
  }
  lineElem = document.getElementById(lineNum);
  /* Always jump to new location even if the line was hidden inside a fold, or
   * we corrected the raw number to a line ID.
   */
  if (lineElem) {
    lineElem.scrollIntoView(true);
  }
  return true;
}
if ('onhashchange' in window) {
  window.onhashchange = JumpToLine;
}

-->
</script>
</head>
<body onload='JumpToLine();'>
<a href='https://github.com/akkartik/mu/blob/master/subx/003trace.test.cc'>https://github.com/akkartik/mu/blob/master/subx/003trace.test.cc</a>
<pre id='vimCodeElement'>
<span id="L1" class="LineNr">  1 </span><span class="Normal">void</span> <a href='003trace.test.cc.html#L1'>test_trace_check_compares</a><span class="Delimiter">()</span> <span class="Delimiter">{</span>
<span id="L2" class="LineNr">  2 </span>  <a href='003trace.cc.html#L96'>trace</a><span class="Delimiter">(</span><span class="Constant">&quot;test layer&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;foo&quot;</span> &lt;&lt; end<span class="Delimiter">();</span>
<span id="L3" class="LineNr">  3 </span>  <a href='003trace.cc.html#L266'>CHECK_TRACE_CONTENTS</a><span class="Delimiter">(</span><span class="Constant">&quot;test layer: foo&quot;</span><span class="Delimiter">);</span>
<span id="L4" class="LineNr">  4 </span><span class="Delimiter">}</span>
<span id="L5" class="LineNr">  5 </span>
<span id="L6" class="LineNr">  6 </span><span class="Normal">void</span> <a href='003trace.test.cc.html#L6'>test_trace_check_ignores_other_layers</a><span class="Delimiter">()</span> <span class="Delimiter">{</span>
<span id="L7" class="LineNr">  7 </span>  <a href='003trace.cc.html#L96'>trace</a><span class="Delimiter">(</span><span class="Constant">&quot;test layer 1&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;foo&quot;</span> &lt;&lt; end<span class="Delimiter">();</span>
<span id="L8" class="LineNr">  8 </span>  <a href='003trace.cc.html#L96'>trace</a><span class="Delimiter">(</span><span class="Constant">&quot;test layer 2&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;bar&quot;</span> &lt;&lt; end<span class="Delimiter">();</span>
<span id="L9" class="LineNr">  9 </span>  <a href='003trace.cc.html#L266'>CHECK_TRACE_CONTENTS</a><span class="Delimiter">(</span><span class="Constant">&quot;test layer 1: foo&quot;</span><span class="Delimiter">);</span>
<span id="L10" class="LineNr"> 10 </span>  <a href='003trace.cc.html#L268'>CHECK_TRACE_DOESNT_CONTAIN</a><span class="Delimiter">(</span><span class="Constant">&quot;test layer 2: foo&quot;</span><span class="Delimiter">);</span>
<span id="L11" class="LineNr"> 11 </span><span class="Delimiter">}</span>
<span id="L12" class="LineNr"> 12 </span>
<span id="L13" class="LineNr"> 13 </span><span class="Normal">void</span> <a href='003trace.test.cc.html#L13'>test_trace_check_ignores_leading_whitespace</a><span class="Delimiter">()</span> <span class="Delimiter">{</span>
<span id="L14" class="LineNr"> 14 </span>  <a href='003trace.cc.html#L96'>trace</a><span class="Delimiter">(</span><span class="Constant">&quot;test layer 1&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot; foo&quot;</span> &lt;&lt; end<span class="Delimiter">();</span>
<span id="L15" class="LineNr"> 15 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span>trace_count<span class="Delimiter">(</span><span class="Constant">&quot;test layer 1&quot;</span><span class="Delimiter">,</span> <span class="Comment">/*</span><span class="Comment">too little whitespace</span><span class="Comment">*/</span><span class="Constant">&quot;foo&quot;</span><span class="Delimiter">),</span> <span class="Constant">1</span><span class="Delimiter">);</span>
<span id="L16" class="LineNr"> 16 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span>trace_count<span class="Delimiter">(</span><span class="Constant">&quot;test layer 1&quot;</span><span class="Delimiter">,</span> <span class="Comment">/*</span><span class="Comment">too much whitespace</span><span class="Comment">*/</span><span class="Constant">&quot;  foo&quot;</span><span class="Delimiter">),</span> <span class="Constant">1</span><span class="Delimiter">);</span>
<span id="L17" class="LineNr"> 17 </span><span class="Delimiter">}</span>
<span id="L18" class="LineNr"> 18 </span>
<span id="L19" class="LineNr"> 19 </span><span class="Normal">void</span> <a href='003trace.test.cc.html#L19'>test_trace_check_ignores_other_lines</a><span class="Delimiter">()</span> <span class="Delimiter">{</span>
<span id="L20" class="LineNr"> 20 </span>  <a href='003trace.cc.html#L96'>trace</a><span class="Delimiter">(</span><span class="Constant">&quot;test layer 1&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;foo&quot;</span> &lt;&lt; end<span class="Delimiter">();</span>
<span id="L21" class="LineNr"> 21 </span>  <a href='003trace.cc.html#L96'>trace</a><span class="Delimiter">(</span><span class="Constant">&quot;test layer 1&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;bar&quot;</span> &lt;&lt; end<span class="Delimiter">();</span>
<span id="L22" class="LineNr"> 22 </span>  <a href='003trace.cc.html#L266'>CHECK_TRACE_CONTENTS</a><span class="Delimiter">(</span><span class="Constant">&quot;test layer 1: foo&quot;</span><span class="Delimiter">);</span>
<span id="L23" class="LineNr"> 23 </span><span class="Delimiter">}</span>
<span id="L24" class="LineNr"> 24 </span>
<span id="L25" class="LineNr"> 25 </span><span class="Normal">void</span> <a href='003trace.test.cc.html#L25'>test_trace_check_ignores_other_lines2</a><span class="Delimiter">()</span> <span class="Delimiter">{</span>
<span id="L26" class="LineNr"> 26 </span>  <a href='003trace.cc.html#L96'>trace</a><span class="Delimiter">(</span><span class="Constant">&quot;test layer 1&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;foo&quot;</span> &lt;&lt; end<span class="Delimiter">();</span>
<span id="L27" class="LineNr"> 27 </span>  <a href='003trace.cc.html#L96'>trace</a><span class="Delimiter">(</span><span class="Constant">&quot;test layer 1&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;bar&quot;</span> &lt;&lt; end<span class="Delimiter">();</span>
<span id="L28" class="LineNr"> 28 </span>  <a href='003trace.cc.html#L266'>CHECK_TRACE_CONTENTS</a><span class="Delimiter">(</span><span class="Constant">&quot;test layer 1: bar&quot;</span><span class="Delimiter">);</span>
<span id="L29" class="LineNr"> 29 </span><span class="Delimiter">}</span>
<span id="L30" class="LineNr"> 30 </span>
<span id="L31" class="LineNr"> 31 </span><span class="Normal">void</span> <a href='003trace.test.cc.html#L31'>test_trace_ignores_trailing_whitespace</a><span class="Delimiter">()</span> <span class="Delimiter">{</span>
<span id="L32" class="LineNr"> 32 </span>  <a href='003trace.cc.html#L96'>trace</a><span class="Delimiter">(</span><span class="Constant">&quot;test layer 1&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;foo\n&quot;</span> &lt;&lt; end<span class="Delimiter">();</span>
<span id="L33" class="LineNr"> 33 </span>  <a href='003trace.cc.html#L266'>CHECK_TRACE_CONTENTS</a><span class="Delimiter">(</span><span class="Constant">&quot;test layer 1: foo&quot;</span><span class="Delimiter">);</span>
<span id="L34" class="LineNr"> 34 </span><span class="Delimiter">}</span>
<span id="L35" class="LineNr"> 35 </span>
<span id="L36" class="LineNr"> 36 </span><span class="Normal">void</span> <a href='003trace.test.cc.html#L36'>test_trace_ignores_trailing_whitespace2</a><span class="Delimiter">()</span> <span class="Delimiter">{</span>
<span id="L37" class="LineNr"> 37 </span>  <a href='003trace.cc.html#L96'>trace</a><span class="Delimiter">(</span><span class="Constant">&quot;test layer 1&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;foo &quot;</span> &lt;&lt; end<span class="Delimiter">();</span>
<span id="L38" class="LineNr"> 38 </span>  <a href='003trace.cc.html#L266'>CHECK_TRACE_CONTENTS</a><span class="Delimiter">(</span><span class="Constant">&quot;test layer 1: foo&quot;</span><span class="Delimiter">);</span>
<span id="L39" class="LineNr"> 39 </span><span class="Delimiter">}</span>
<span id="L40" class="LineNr"> 40 </span>
<span id="L41" class="LineNr"> 41 </span><span class="Normal">void</span> <a href='003trace.test.cc.html#L41'>test_trace_orders_across_layers</a><span class="Delimiter">()</span> <span class="Delimiter">{</span>
<span id="L42" class="LineNr"> 42 </span>  <a href='003trace.cc.html#L96'>trace</a><span class="Delimiter">(</span><span class="Constant">&quot;test layer 1&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;foo&quot;</span> &lt;&lt; end<span class="Delimiter">();</span>
<span id="L43" class="LineNr"> 43 </span>  <a href='003trace.cc.html#L96'>trace</a><span class="Delimiter">(</span><span class="Constant">&quot;test layer 2&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;bar&quot;</span> &lt;&lt; end<span class="Delimiter">();</span>
<span id="L44" class="LineNr"> 44 </span>  <a href='003trace.cc.html#L96'>trace</a><span class="Delimiter">(</span><span class="Constant">&quot;test layer 1&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;qux&quot;</span> &lt;&lt; end<span class="Delimiter">();</span>
<span id="L45" class="LineNr"> 45 </span>  <a href='003trace.cc.html#L266'>CHECK_TRACE_CONTENTS</a><span class="Delimiter">(</span><span class="Constant">&quot;test layer 1: foo\n&quot;</span>
<span id="L46" class="LineNr"> 46 </span>                       <span class="Constant">&quot;test layer 2: bar\n&quot;</span>
<span id="L47" class="LineNr"> 47 </span>                       <span class="Constant">&quot;test layer 1: qux\n&quot;</span><span class="Delimiter">);</span>
<span id="L48" class="LineNr"> 48 </span><span class="Delimiter">}</span>
<span id="L49" class="LineNr"> 49 </span>
<span id="L50" class="LineNr"> 50 </span><span class="Normal">void</span> <a href='003trace.test.cc.html#L50'>test_trace_supports_count</a><span class="Delimiter">()</span> <span class="Delimiter">{</span>
<span id="L51" class="LineNr"> 51 </span>  <a href='003trace.cc.html#L96'>trace</a><span class="Delimiter">(</span><span class="Constant">&quot;test layer 1&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;foo&quot;</span> &lt;&lt; end<span class="Delimiter">();</span>
<span id="L52" class="LineNr"> 52 </span>  <a href='003trace.cc.html#L96'>trace</a><span class="Delimiter">(</span><span class="Constant">&quot;test layer 1&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;foo&quot;</span> &lt;&lt; end<span class="Delimiter">();</span>
<span id="L53" class="LineNr"> 53 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span>trace_count<span class="Delimiter">(</span><span class="Constant">&quot;test layer 1&quot;</span><span class="Delimiter">,</span> <span class="Constant">&quot;foo&quot;</span><span class="Delimiter">),</span> <span class="Constant">2</span><span class="Delimiter">);</span>
<span id="L54" class="LineNr"> 54 </span><span class="Delimiter">}</span>
<span id="L55" class="LineNr"> 55 </span>
<span id="L56" class="LineNr"> 56 </span><span class="Normal">void</span> <a href='003trace.test.cc.html#L56'>test_trace_supports_count2</a><span class="Delimiter">()</span> <span class="Delimiter">{</span>
<span id="L57" class="LineNr"> 57 </span>  <a href='003trace.cc.html#L96'>trace</a><span class="Delimiter">(</span><span class="Constant">&quot;test layer 1&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;foo&quot;</span> &lt;&lt; end<span class="Delimiter">();</span>
<span id="L58" class="LineNr"> 58 </span>  <a href='003trace.cc.html#L96'>trace</a><span class="Delimiter">(</span><span class="Constant">&quot;test layer 1&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;bar&quot;</span> &lt;&lt; end<span class="Delimiter">();</span>
<span id="L59" class="LineNr"> 59 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span>trace_count<span class="Delimiter">(</span><span class="Constant">&quot;test layer 1&quot;</span><span class="Delimiter">),</span> <span class="Constant">2</span><span class="Delimiter">);</span>
<span id="L60" class="LineNr"> 60 </span><span class="Delimiter">}</span>
<span id="L61" class="LineNr"> 61 </span>
<span id="L62" class="LineNr"> 62 </span><span class="Normal">void</span> <a href='003trace.test.cc.html#L62'>test_trace_count_ignores_trailing_whitespace</a><span class="Delimiter">()</span> <span class="Delimiter">{</span>
<span id="L63" class="LineNr"> 63 </span>  <a href='003trace.cc.html#L96'>trace</a><span class="Delimiter">(</span><span class="Constant">&quot;test layer 1&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;foo\n&quot;</span> &lt;&lt; end<span class="Delimiter">();</span>
<span id="L64" class="LineNr"> 64 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span>trace_count<span class="Delimiter">(</span><span class="Constant">&quot;test layer 1&quot;</span><span class="Delimiter">,</span> <span class="Constant">&quot;foo&quot;</span><span class="Delimiter">),</span> <span class="Constant">1</span><span class="Delimiter">);</span>
<span id="L65" class="LineNr"> 65 </span><span class="Delimiter">}</span>
<span id="L66" class="LineNr"> 66 </span>
<span id="L67" class="LineNr"> 67 </span><span class="Comment">// pending: DUMP tests</span>
<span id="L68" class="LineNr"> 68 </span><span class="Comment">// pending: readable_contents() adds newline if necessary.</span>
<span id="L69" class="LineNr"> 69 </span><span class="Comment">// pending: raise also prints to stderr.</span>
<span id="L70" class="LineNr"> 70 </span><span class="Comment">// pending: raise doesn't print to stderr if Hide_errors is set.</span>
<span id="L71" class="LineNr"> 71 </span><span class="Comment">// pending: warn doesn't print to stderr if Hide_errors is set.</span>
<span id="L72" class="LineNr"> 72 </span><span class="Comment">// pending: warn doesn't print to stderr if Hide_warnings is set.</span>
<span id="L73" class="LineNr"> 73 </span><span class="Comment">// pending: raise doesn't have to be saved if Hide_errors is set, just printed.</span>
<span id="L74" class="LineNr"> 74 </span><span class="Comment">// pending: raise prints to stderr if Trace_stream is NULL.</span>
<span id="L75" class="LineNr"> 75 </span><span class="Comment">// pending: raise prints to stderr if Trace_stream is NULL even if Hide_errors is set.</span>
<span id="L76" class="LineNr"> 76 </span>
<span id="L77" class="LineNr"> 77 </span><span class="Comment">// can't check trace because trace methods call 'split'</span>
<span id="L78" class="LineNr"> 78 </span>
<span id="L79" class="LineNr"> 79 </span><span class="Normal">void</span> <a href='003trace.test.cc.html#L79'>test_split_returns_at_least_one_elem</a><span class="Delimiter">()</span> <span class="Delimiter">{</span>
<span id="L80" class="LineNr"> 80 </span>  vector&lt;string&gt; result = <a href='003trace.cc.html#L382'>split</a><span class="Delimiter">(</span><span class="Constant">&quot;&quot;</span><span class="Delimiter">,</span> <span class="Constant">&quot;,&quot;</span><span class="Delimiter">);</span>
<span id="L81" class="LineNr"> 81 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span>result<span class="Delimiter">.</span>size<span class="Delimiter">(),</span> <span class="Constant">1</span><span class="Delimiter">);</span>
<span id="L82" class="LineNr"> 82 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span>result<span class="Delimiter">.</span>at<span class="Delimiter">(</span><span class="Constant">0</span><span class="Delimiter">),</span> <span class="Constant">&quot;&quot;</span><span class="Delimiter">);</span>
<span id="L83" class="LineNr"> 83 </span><span class="Delimiter">}</span>
<span id="L84" class="LineNr"> 84 </span>
<span id="L85" class="LineNr"> 85 </span><span class="Normal">void</span> <a href='003trace.test.cc.html#L85'>test_split_returns_entire_input_when_no_delim</a><span class="Delimiter">()</span> <span class="Delimiter">{</span>
<span id="L86" class="LineNr"> 86 </span>  vector&lt;string&gt; result = <a href='003trace.cc.html#L382'>split</a><span class="Delimiter">(</span><span class="Constant">&quot;abc&quot;</span><span class="Delimiter">,</span> <span class="Constant">&quot;,&quot;</span><span class="Delimiter">);</span>
<span id="L87" class="LineNr"> 87 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span>result<span class="Delimiter">.</span>size<span class="Delimiter">(),</span> <span class="Constant">1</span><span class="Delimiter">);</span>
<span id="L88" class="LineNr"> 88 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span>result<span class="Delimiter">.</span>at<span class="Delimiter">(</span><span class="Constant">0</span><span class="Delimiter">),</span> <span class="Constant">&quot;abc&quot;</span><span class="Delimiter">);</span>
<span id="L89" class="LineNr"> 89 </span><span class="Delimiter">}</span>
<span id="L90" class="LineNr"> 90 </span>
<span id="L91" class="LineNr"> 91 </span><span class="Normal">void</span> <a href='003trace.test.cc.html#L91'>test_split_works</a><span class="Delimiter">()</span> <span class="Delimiter">{</span>
<span id="L92" class="LineNr"> 92 </span>  vector&lt;string&gt; result = <a href='003trace.cc.html#L382'>split</a><span class="Delimiter">(</span><span class="Constant">&quot;abc,def&quot;</span><span class="Delimiter">,</span> <span class="Constant">&quot;,&quot;</span><span class="Delimiter">);</span>
<span id="L93" class="LineNr"> 93 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span>result<span class="Delimiter">.</span>size<span class="Delimiter">(),</span> <span class="Constant">2</span><span class="Delimiter">);</span>
<span id="L94" class="LineNr"> 94 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span>result<span class="Delimiter">.</span>at<span class="Delimiter">(</span><span class="Constant">0</span><span class="Delimiter">),</span> <span class="Constant">&quot;abc&quot;</span><span class="Delimiter">);</span>
<span id="L95" class="LineNr"> 95 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span>result<span class="Delimiter">.</span>at<span class="Delimiter">(</span><span class="Constant">1</span><span class="Delimiter">),</span> <span class="Constant">&quot;def&quot;</span><span class="Delimiter">);</span>
<span id="L96" class="LineNr"> 96 </span><span class="Delimiter">}</span>
<span id="L97" class="LineNr"> 97 </span>
<span id="L98" class="LineNr"> 98 </span><span class="Normal">void</span> <a href='003trace.test.cc.html#L98'>test_split_works2</a><span class="Delimiter">()</span> <span class="Delimiter">{</span>
<span id="L99" class="LineNr"> 99 </span>  vector&lt;string&gt; result = <a href='003trace.cc.html#L382'>split</a><span class="Delimiter">(</span><span class="Constant">&quot;abc,def,ghi&quot;</span><span class="Delimiter">,</span> <span class="Constant">&quot;,&quot;</span><span class="Delimiter">);</span>
<span id="L100" class="LineNr">100 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span>result<span class="Delimiter">.</span>size<span class="Delimiter">(),</span> <span class="Constant">3</span><span class="Delimiter">);</span>
<span id="L101" class="LineNr">101 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span>result<span class="Delimiter">.</span>at<span class="Delimiter">(</span><span class="Constant">0</span><span class="Delimiter">),</span> <span class="Constant">&quot;abc&quot;</span><span class="Delimiter">);</span>
<span id="L102" class="LineNr">102 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span>result<span class="Delimiter">.</span>at<span class="Delimiter">(</span><span class="Constant">1</span><span class="Delimiter">),</span> <span class="Constant">&quot;def&quot;</span><span class="Delimiter">);</span>
<span id="L103" class="LineNr">103 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span>result<span class="Delimiter">.</span>at<span class="Delimiter">(</span><span class="Constant">2</span><span class="Delimiter">),</span> <span class="Constant">&quot;ghi&quot;</span><span class="Delimiter">);</span>
<span id="L104" class="LineNr">104 </span><span class="Delimiter">}</span>
<span id="L105" class="LineNr">105 </span>
<span id="L106" class="LineNr">106 </span><span class="Normal">void</span> <a href='003trace.test.cc.html#L106'>test_split_handles_multichar_delim</a><span class="Delimiter">()</span> <span class="Delimiter">{</span>
<span id="L107" class="LineNr">107 </span>  vector&lt;string&gt; result = <a href='003trace.cc.html#L382'>split</a><span class="Delimiter">(</span><span class="Constant">&quot;abc,,def,,ghi&quot;</span><span class="Delimiter">,</span> <span class="Constant">&quot;,,&quot;</span><span class="Delimiter">);</span>
<span id="L108" class="LineNr">108 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span>result<span class="Delimiter">.</span>size<span class="Delimiter">(),</span> <span class="Constant">3</span><span class="Delimiter">);</span>
<span id="L109" class="LineNr">109 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span>result<span class="Delimiter">.</span>at<span class="Delimiter">(</span><span class="Constant">0</span><span class="Delimiter">),</span> <span class="Constant">&quot;abc&quot;</span><span class="Delimiter">);</span>
<span id="L110" class="LineNr">110 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span>result<span class="Delimiter">.</span>at<span class="Delimiter">(</span><span class="Constant">1</span><span class="Delimiter">),</span> <span class="Constant">&quot;def&quot;</span><span class="Delimiter">);</span>
<span id="L111" class="LineNr">111 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span>result<span class="Delimiter">.</span>at<span class="Delimiter">(</span><span class="Constant">2</span><span class="Delimiter">),</span> <span class="Constant">&quot;ghi&quot;</span><span class="Delimiter">);</span>
<span id="L112" class="LineNr">112 </span><span class="Delimiter">}</span>
<span id="L113" class="LineNr">113 </span>
<span id="L114" class="LineNr">114 </span><span class="Normal">void</span> <a href='003trace.test.cc.html#L114'>test_trim</a><span class="Delimiter">()</span> <span class="Delimiter">{</span>
<span id="L115" class="LineNr">115 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span><a href='003trace.cc.html#L468'>trim</a><span class="Delimiter">(</span><span class="Constant">&quot;&quot;</span><span class="Delimiter">),</span> <span class="Constant">&quot;&quot;</span><span class="Delimiter">);</span>
<span id="L116" class="LineNr">116 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span><a href='003trace.cc.html#L468'>trim</a><span class="Delimiter">(</span><span class="Constant">&quot; &quot;</span><span class="Delimiter">),</span> <span class="Constant">&quot;&quot;</span><span class="Delimiter">);</span>
<span id="L117" class="LineNr">117 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span><a href='003trace.cc.html#L468'>trim</a><span class="Delimiter">(</span><span class="Constant">&quot;  &quot;</span><span class="Delimiter">),</span> <span class="Constant">&quot;&quot;</span><span class="Delimiter">);</span>
<span id="L118" class="LineNr">118 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span><a href='003trace.cc.html#L468'>trim</a><span class="Delimiter">(</span><span class="Constant">&quot;a&quot;</span><span class="Delimiter">),</span> <span class="Constant">&quot;a&quot;</span><span class="Delimiter">);</span>
<span id="L119" class="LineNr">119 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span><a href='003trace.cc.html#L468'>trim</a><span class="Delimiter">(</span><span class="Constant">&quot; a&quot;</span><span class="Delimiter">),</span> <span class="Constant">&quot;a&quot;</span><span class="Delimiter">);</span>
<span id="L120" class="LineNr">120 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span><a href='003trace.cc.html#L468'>trim</a><span class="Delimiter">(</span><span class="Constant">&quot;  a&quot;</span><span class="Delimiter">),</span> <span class="Constant">&quot;a&quot;</span><span class="Delimiter">);</span>
<span id="L121" class="LineNr">121 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span><a href='003trace.cc.html#L468'>trim</a><span class="Delimiter">(</span><span class="Constant">&quot;  ab&quot;</span><span class="Delimiter">),</span> <span class="Constant">&quot;ab&quot;</span><span class="Delimiter">);</span>
<span id="L122" class="LineNr">122 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span><a href='003trace.cc.html#L468'>trim</a><span class="Delimiter">(</span><span class="Constant">&quot;a &quot;</span><span class="Delimiter">),</span> <span class="Constant">&quot;a&quot;</span><span class="Delimiter">);</span>
<span id="L123" class="LineNr">123 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span><a href='003trace.cc.html#L468'>trim</a><span class="Delimiter">(</span><span class="Constant">&quot;a  &quot;</span><span class="Delimiter">),</span> <span class="Constant">&quot;a&quot;</span><span class="Delimiter">);</span>
<span id="L124" class="LineNr">124 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span><a href='003trace.cc.html#L468'>trim</a><span class="Delimiter">(</span><span class="Constant">&quot;ab  &quot;</span><span class="Delimiter">),</span> <span class="Constant">&quot;ab&quot;</span><span class="Delimiter">);</span>
<span id="L125" class="LineNr">125 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span><a href='003trace.cc.html#L468'>trim</a><span class="Delimiter">(</span><span class="Constant">&quot; a &quot;</span><span class="Delimiter">),</span> <span class="Constant">&quot;a&quot;</span><span class="Delimiter">);</span>
<span id="L126" class="LineNr">126 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span><a href='003trace.cc.html#L468'>trim</a><span class="Delimiter">(</span><span class="Constant">&quot;  a  &quot;</span><span class="Delimiter">),</span> <span class="Constant">&quot;a&quot;</span><span class="Delimiter">);</span>
<span id="L127" class="LineNr">127 </span>  <a href='002test.cc.html#L31'>CHECK_EQ</a><span class="Delimiter">(</span><a href='003trace.cc.html#L468'>trim</a><span class="Delimiter">(</span><span class="Constant">&quot;  ab  &quot;</span><span class="Delimiter">),</span> <span class="Constant">&quot;ab&quot;</span><span class="Delimiter">);</span>
<span id="L128" class="LineNr">128 </span><span class="Delimiter">}</span>
</pre>
</body>
</html>
<!-- vim: set foldmethod=manual : -->