diff options
author | Kouhei Sutou <kou@clear-code.com> | 2019-05-25 17:47:41 +0900 |
---|---|---|
committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2019-08-04 11:55:37 +0900 |
commit | 5f78b138b10a6732676689f0f8690c1db16c1355 (patch) | |
tree | 0df730f6064bb54da62021d0c66dbe3b98afd771 /test/rexml | |
parent | 6ef82943978ea5816a91c32e9ff822c73d1935f9 (diff) | |
download | ruby-5f78b138b10a6732676689f0f8690c1db16c1355.tar.gz |
[ruby/rexml] xpath boolean: implement
https://github.com/ruby/rexml/commit/feb8ddb1ec
Diffstat (limited to 'test/rexml')
-rw-r--r-- | test/rexml/test_functions_boolean.rb | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/test/rexml/test_functions_boolean.rb b/test/rexml/test_functions_boolean.rb new file mode 100644 index 0000000000..b3e2117c10 --- /dev/null +++ b/test/rexml/test_functions_boolean.rb @@ -0,0 +1,75 @@ +# frozen_string_literal: false + +require "test/unit" +require "rexml/document" +require "rexml/functions" + +module REXMLTests + class TestFunctionsBoolean < Test::Unit::TestCase + def setup + REXML::Functions.context = nil + end + + def test_true + assert_equal(true, REXML::Functions.boolean(true)) + end + + def test_false + assert_equal(false, REXML::Functions.boolean(false)) + end + + def test_integer_true + assert_equal(true, REXML::Functions.boolean(1)) + end + + def test_integer_positive_zero + assert_equal(false, REXML::Functions.boolean(0)) + end + + def test_integer_negative_zero + assert_equal(false, REXML::Functions.boolean(-0)) + end + + def test_float_true + assert_equal(true, REXML::Functions.boolean(1.1)) + end + + def test_float_positive_zero + assert_equal(false, REXML::Functions.boolean(-0.0)) + end + + def test_float_negative_zero + assert_equal(false, REXML::Functions.boolean(-0.0)) + end + + def test_float_nan + assert_equal(false, REXML::Functions.boolean(Float::NAN)) + end + + def test_string_true + assert_equal(true, REXML::Functions.boolean("content")) + end + + def test_string_empty + assert_equal(false, REXML::Functions.boolean("")) + end + + def test_node_set_true + root = REXML::Document.new("<root/>").root + assert_equal(true, REXML::Functions.boolean([root])) + end + + def test_node_set_empty + assert_equal(false, REXML::Functions.boolean([])) + end + + def test_nil + assert_equal(false, REXML::Functions.boolean(nil)) + end + + def test_context + REXML::Functions.context = {node: true} + assert_equal(true, REXML::Functions.boolean()) + end + end +end |