summaryrefslogtreecommitdiff
path: root/test/unit/debug.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit/debug.rb')
-rw-r--r--test/unit/debug.rb76
1 files changed, 76 insertions, 0 deletions
diff --git a/test/unit/debug.rb b/test/unit/debug.rb
new file mode 100644
index 0000000..8bafcf5
--- /dev/null
+++ b/test/unit/debug.rb
@@ -0,0 +1,76 @@
+require 'test/unit'
+require 'coderay'
+
+class DebugEncoderTest < Test::Unit::TestCase
+
+ def test_creation
+ debug = nil
+ assert_nothing_raised do
+ debug = CodeRay.encoder :debug
+ end
+ assert CodeRay::Encoders::Debug < CodeRay::Encoders::Encoder
+ assert_kind_of CodeRay::Encoders::Encoder, debug
+ end
+
+ TEST_INPUT = CodeRay::Tokens[
+ ['10', :integer],
+ ['(\\)', :operator],
+ [:begin_group, :string],
+ ['test', :content],
+ [:end_group, :string],
+ [:begin_line, :test],
+ ["\n", :space],
+ ["\n \t", :space],
+ [" \n", :space],
+ ["[]", :method],
+ [:end_line, :test],
+ ].flatten
+ TEST_OUTPUT = <<-'DEBUG'.chomp
+integer(10)operator((\\\))string<content(test)>test[
+
+
+method([])]
+ DEBUG
+
+ def test_filtering_text_tokens
+ assert_equal TEST_OUTPUT, CodeRay::Encoders::Debug.new.encode_tokens(TEST_INPUT)
+ assert_equal TEST_OUTPUT, TEST_INPUT.debug
+ end
+
+end
+
+class DebugScannerTest < Test::Unit::TestCase
+
+ def test_creation
+ assert CodeRay::Scanners::Debug < CodeRay::Scanners::Scanner
+ debug = nil
+ assert_nothing_raised do
+ debug = CodeRay.scanner :debug
+ end
+ assert_kind_of CodeRay::Scanners::Scanner, debug
+ end
+
+ TEST_INPUT = <<-'DEBUG'.chomp
+integer(10)operator((\\\))string<content(test)>test[
+
+
+method([])]
+ DEBUG
+ TEST_OUTPUT = CodeRay::Tokens[
+ ['10', :integer],
+ ['(\\)', :operator],
+ [:begin_group, :string],
+ ['test', :content],
+ [:end_group, :string],
+ [:begin_line, :test],
+ ["\n\n \t \n", :space],
+ ["[]", :method],
+ [:end_line, :test],
+ ].flatten
+
+ def test_filtering_text_tokens
+ assert_equal TEST_OUTPUT, CodeRay::Scanners::Debug.new.tokenize(TEST_INPUT)
+ assert_equal TEST_OUTPUT, CodeRay.scan(TEST_INPUT, :debug)
+ end
+
+end