OTWO-1213 Works around lost encoding in Ruby/C binding layer
[ohcount] / test / unit / ruby / source_file_test.rb
1 require 'test/unit'
2 require File.dirname(__FILE__) + '/../../../ruby/gestalt'
3
4 class SourceFileTest < Test::Unit::TestCase
5         def test_diff
6                 c = File.open(File.dirname(__FILE__) + "/../../src_dir/optimer").read
7                 new = Ohcount::SourceFile.new("optimer", :contents => c, :filenames => nil, :filenames => ["optimer"])
8                 old = Ohcount::SourceFile.new("optimer", :contents => "", :filenames => ["optimer"])
9                 assert_equal c, new.contents
10                 deltas = old.diff(new).loc_deltas
11                 assert_not_nil deltas
12                 assert_equal "shell", deltas.first.language
13         end
14
15         def test_empty_diff
16                 filename = "mysql-stale-table-sniper"
17                 c = File.open(File.dirname(__FILE__) + "/../../src_dir/#{filename}").read
18                 new = Ohcount::SourceFile.new(filename, :contents => c, :filenames => nil, :filenames => [filename])
19                 old = Ohcount::SourceFile.new(filename, :contents => "", :filenames => nil, :filenames => [filename])
20                 assert_equal c, new.contents
21                 deltas = old.diff(new).loc_deltas
22                 assert_not_nil deltas
23                 assert_equal "perl", deltas.first.language
24         end
25 end