Sha256: 321452ce6b21583c60076acd088a7321b367301f75d31c9e5acf72d9a2137eb5

Contents?: true

Size: 1.84 KB

Versions: 34

Compression:

Stored size: 1.84 KB

Contents

require 'cgi'

def title
  h1
end

def section
  h3
end

def code
  _puts "<pre>"
  _body {|line| _puts "   #{::CGI.escape_html(line)}" }   # indentation
  _puts "</pre>"
end

def rx(str)
  ::Regexp.compile(::Regexp.escape(str))
end

def inout
  src, out = _args
  t1 = ::File.readlines(src) rescue (abort "t1 = #{src}")
  t2 = ::File.readlines(out) rescue (abort "t2 = #{out}")
  # To pacify markdown for README (FIXME later)
  t1 = t1.map {|x| " " + x.sub(/ +$/,"").gsub(/_/, "\\_") }.join
  t2 = t2.map {|x| " " + x.sub(/ +$/,"").gsub(/_/, "\\_") }.join

  puts <<-HTML
    <table width=80% cellpadding=4>
    <tr>
      <td width=50%><b>Input</b></td>
      <td width=50%><b>Output</b></td>
    </tr>
    <tr>
      <td width=50% bgcolor=#fee0fe valign=top>
        <pre>#{t1}</pre>
      </td>
      <td width=50% bgcolor=#eeeeee valign=top>
        <pre>#{t2}</pre>
      </td>
    </tr>
    </table>
  HTML
end

def put_table(src, exp)
  t1 = ::File.readlines(src) rescue (abort "t1 = #{src}")
  t2 = ::File.readlines(exp) rescue (abort "t2 = #{out}")
  t1 = t1.map {|x| " " + x.sub(/ +$/,"").gsub(/_/, "\\_") }.join
  t2 = t2.map {|x| " " + x.sub(/ +$/,"").gsub(/_/, "\\_") }.join

  puts <<-HTML
    <font size=+1>
    <table width=80% cellpadding=4>
    <tr>
      <td width=50%><b>Input</b></td>
      <td width=50%><b>Output</b></td>
    </tr>
    <tr>
      <td width=50% bgcolor=#fee0fe valign=top>
        <pre>#{t1}</pre>
      </td>
      <td width=50% bgcolor=#eeeeee valign=top>
        <pre>#{t2}</pre>
      </td>
    </tr>
    </table>
    </font>
  HTML
end

def testcase
  name = _args.first
  _puts "\n<font size=+1><b>Test: </font><font size=+2><tt>#{name}</tt></font></b></h3><br>"
  src, exp = "test/data/#{name}/source.lt3", "test/data/#{name}/expected-output.txt"
  @_args = [src, exp]   # Better way to do this??
  put_table(src, exp)
  _puts "<br>"
end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
livetext-0.8.75 plugin/tutorial.rb
livetext-0.8.74 plugin/tutorial.rb
livetext-0.8.73 plugin/tutorial.rb
livetext-0.8.72 plugin/tutorial.rb
livetext-0.8.71 plugin/tutorial.rb
livetext-0.8.70 plugin/tutorial.rb
livetext-0.8.69 plugin/tutorial.rb
livetext-0.8.68 plugin/tutorial.rb
livetext-0.8.67 plugin/tutorial.rb
livetext-0.8.66 plugin/tutorial.rb
livetext-0.8.65 plugin/tutorial.rb
livetext-0.8.64 plugin/tutorial.rb
livetext-0.8.63 plugin/tutorial.rb
livetext-0.8.62 plugin/tutorial.rb
livetext-0.8.61 plugin/tutorial.rb
livetext-0.8.60 plugin/tutorial.rb
livetext-0.8.59 plugin/tutorial.rb
livetext-0.8.58 plugin/tutorial.rb
livetext-0.8.57 plugin/tutorial.rb
livetext-0.8.56 plugin/tutorial.rb