Changeset 840

Show
Ignore:
Timestamp:
10/29/07 19:33:12 (13 months ago)
Author:
tokuhirom
Message:

lang/perl/mobirc: colorize nick. my nick and other's nick have different color ;-)

Location:
lang/perl/mobirc/trunk/mobirc
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/mobirc/trunk/mobirc/assets/tmpl/include/header.html

    r837 r840  
    3333        color: #fc4efe; 
    3434    } 
     35    .nick_normal { color: #000080; } 
     36    .nick_myself { color: #6060a0; } 
    3537</style> 
    3638 
  • lang/perl/mobirc/trunk/mobirc/lib/Mobirc/HTTPD/Controller.pm

    r837 r840  
    265265    $src = decorate_irc_color($src); 
    266266 
    267     $src =~ s!^\*([a-z_]+)\*(\d+):(\d+)\s*(.+)$!<span class="time"><span class="hour">$2</span><span class="colon">:</span><span class="minute">$3</span></span> <span class="$1">$4</span>!; 
     267    $src =~ s{^\*([a-z_]+)\*(\d+):(\d+)\s*(.+)$}{ 
     268        my ($class, $hour, $minute, $body) = ($1, $2, $3, $4); 
     269 
     270        if ($class eq 'notice' || $class eq 'public') { 
     271            $body =~ s!^([^&]+)&gt; (.+)$!sprintf "<span class='%s'>$1</span>&gt; $2", ($1 eq $c->{irc_heap}->{irc}->nick_name) ? 'nick_myself' : 'nick_normal'!e; 
     272        } 
     273 
     274        my $res = qq!<span class="time"><span class="hour">$hour</span><span class="colon">:</span><span class="minute">$minute</span></span>!; 
     275           $res .= " "; 
     276           $res .= qq!<span class="$class">$body</span>!; 
     277           $res; 
     278    }e; 
    268279 
    269280    return $src; 
  • lang/perl/mobirc/trunk/mobirc/t/02-render_line.t

    r837 r840  
    77plan tests => 1*blocks; 
    88 
     9{ 
     10    package PoCoIRCMock; 
     11    sub nick_name { 'tokuhirom' } 
     12} 
     13 
    914sub render_line { 
    1015    my $src = shift; 
    11     return Mobirc::HTTPD::Controller::render_line({}, $src); 
     16    my $irc = bless {}, 'PoCoIRCMock'; 
     17    return Mobirc::HTTPD::Controller::render_line({irc_heap => {irc => $irc }}, $src); 
    1218} 
    1319 
     
    2228=== basic 
    2329--- input: *public*02:12 Y*ppo__> uh*aww 
    24 --- expected: <span class="time"><span class="hour">02</span><span class="colon">:</span><span class="minute">12</span></span> <span class="public">Y*ppo__&gt; uh*aww</span> 
     30--- expected: <span class="time"><span class="hour">02</span><span class="colon">:</span><span class="minute">12</span></span> <span class="public"><span class='nick_normal'>Y*ppo__</span>&gt; uh*aww</span> 
     31 
     32=== mine 
     33--- input: *public*02:12 tokuhirom> uh*aww 
     34--- expected: <span class="time"><span class="hour">02</span><span class="colon">:</span><span class="minute">12</span></span> <span class="public"><span class='nick_myself'>tokuhirom</span>&gt; uh*aww</span> 
    2535 
    2636=== under score