class TestActCalc

Public Instance Methods

test_all() click to toggle source
# File vendor/qwik/lib/qwik/act-calc.rb, line 278
    def test_all
      res = session

      # test plg_calc
      ok_wi([:table, [:tr, [:td, '0']], [:tr, {:class=>'sum'}, [:td, '0']]],
            '{{calc
,0
}}')
      ok_wi([:table, [:tr, [:td, '1']], [:tr, [:td, '2']],
              [:tr, {:class=>'sum'}, [:td, '3']]], '{{calc
,1
,2
}}')
      ok_wi([:table,
              [:tr, [:td, '1'], [:td, '3.4']],
              [:tr, [:td, '2'], [:td, '5.6']],
              [:tr, {:class=>'sum'}, [:td, '3'], [:td, '9.0']]],
            '{{calc
,1,3.4
,2,5.6
}}')
      ok_wi([:table, [:tr, [:td, 'a'], [:td, '0']],
              [:tr, {:class=>'sum'}, [:td, ''], [:td, '0']]],
            '{{calc
,a,0
}}')
      ok_wi([:table, [:tr, [:td, '1MB']], [:tr, {:class=>'sum'}, [:td, '1MB']]],
            '{{calc
,1MB
}}')
      ok_wi([:table, [:tr, [:td, '$1']], [:tr, {:class=>'sum'}, [:td, '$1']]],
            '{{calc
,$1
}}')
      ok_wi([:table, [:tr, [:td, '$1']], [:tr, {:class=>'sum'}, [:td, '$1']]],
            '{{calc
,$1,
}}' )
      ok_wi([:table,
              [:tr, [:td, "$100\t"], [:td, 'CPU']],
              [:tr, [:td, "$100\t"], [:td, 'Memory']],
              [:tr, [:td, "$20.5\t"], [:td, 'Cable']],
              [:tr, [:td, "$250\t"], [:td, 'Graphic Card']],
              [:tr, [:td, "$250\t"], [:td, 'HDD']],
              [:tr, [:td, "$400\t"], [:td, 'Mother Board']],
              [:tr, {:class=>'sum'}, [:td, "$1120.5\t"], [:td, '']]],
            '{{calc
,$100   ,CPU
,$100   ,Memory
,$20.5  ,Cable
,$250   ,Graphic Card
,$250   ,HDD
,$400   ,Mother Board
}}')
      ok_wi([:table,
              [:tr, [:td, '1万'], [:td, "\tCPU"]],
              [:tr, [:td, '1万'], [:td, "\tMemory"]],
              [:tr, [:td, '0.2万'], [:td, "\tAdapter"]],
              [:tr, [:td, '2.5万'], [:td, "\tnVidia"]],
              [:tr, [:td, '2.5万'], [:td, "\tHDD 250GB"]],
              [:tr, [:td, '4万'], [:td, "\tNAS"]],
              [:tr, [:td, '22万'], [:td, "\tThinkPad X40"]],
              [:tr, {:class=>'sum'}, [:td, '33.2万'], [:td, '']]],
         '{{calc
,1万,    CPU
,1万,    Memory
,0.2万,  Adapter
,2.5万,  nVidia
,2.5万,  HDD 250GB
,4万,    NAS
,22万,   ThinkPad X40
}}')
      ok_wi([:table,
              [:tr, [:td, "a\t"], [:td, '10,000']],
              [:tr, [:td, "b\t"], [:td, '20,000']],
              [:tr, {:class=>'sum'}, [:td, ''], [:td, '30']]],
            '{{calc
|a      |10,000
|b      |20,000
}}')
      # Don't work.
      ok_wi([:table,
              [:tr, [:td, "物品\t"], [:td, '値段']],
              [:tr, [:td, "a\t"], [:td, "\\10,000"]],
              [:tr, [:td, "b\t"], [:td, "\\20,000"]],
              [:tr, {:class=>'sum'}, [:td, ''], [:td, '']]],
            '{{calc
|物品     |値段
|a      |\\10,000
|b      |\\20,000
}}')
    end
test_class_method() click to toggle source
# File vendor/qwik/lib/qwik/act-calc.rb, line 234
def test_class_method
  c = Qwik::Action

  # test_tab_to_table
  eq nil, c.tab_to_table("")
  eq [:table, [:tr, [:td, "a"]]], c.tab_to_table("a")
  eq [:table, [:tr, [:td, "a"], [:td, "b"]]], c.tab_to_table("a\tb")
  eq [:table, [:tr, [:td, "a"], [:td, "b"]], [:tr, [:td, "c"]]],
    c.tab_to_table("a\tb\nc")
  eq [:table, [:tr, [:td, "a"], [:td, "b"]], [:tr, [:td, "c"], [:td, "d"]]],
    c.tab_to_table("a\tb\nc\td")

  # test_parse_num
  ok_eq([nil, 0,   nil], c.parse_num(''))
  ok_eq([nil, nil, nil], c.parse_num('a'))
  ok_eq([nil, 1,   nil], c.parse_num('1'))
  ok_eq([nil, 1.5, nil], c.parse_num('1.5'))
  ok_eq([nil, 1,  'MB'], c.parse_num('1MB'))
  ok_eq([nil, 1.5,'MB'], c.parse_num('1.5MB'))
  ok_eq(['$', 1,   nil], c.parse_num('$1'))
  ok_eq(['$', 1.5, nil], c.parse_num('$1.5'))
  eq [nil, nil, nil], c.parse_num('1/2')
end
test_tab_calc() click to toggle source
# File vendor/qwik/lib/qwik/act-calc.rb, line 258
    def test_tab_calc
      res = session

      ok_wi [:table, [:tr, [:td, '1']], [:tr, [:td, '2']],
              [:tr, {:class=>'sum'}, [:td, '3']]],
            '{{tab_calc
1
2
}}'

      ok_wi [:table,
        [:tr, [:td, "6/7"], [:td, "100"], [:td, "Item A"]],
        [:tr, [:td, "6/8"], [:td, "200"], [:td, "Item B"]],
        [:tr, {:class=>"sum"}, [:td, ""], [:td, "300"], [:td, ""]]],
            '{{tab_calc
6/7     100 Item A
6/8     200 Item B
}}'
    end