echonet_lite 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +12 -0
- data/.rspec +2 -0
- data/.travis.yml +5 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +6 -0
- data/LICENSE.txt +21 -0
- data/README.md +43 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/echonet_lite.gemspec +37 -0
- data/lib/echonet_lite.rb +149 -0
- data/lib/echonet_lite/version.rb +3 -0
- data/vendor/bundle/bin/htmldiff +29 -0
- data/vendor/bundle/bin/htmldiff.bat +6 -0
- data/vendor/bundle/bin/ldiff +29 -0
- data/vendor/bundle/bin/ldiff.bat +6 -0
- data/vendor/bundle/bin/rspec +27 -0
- data/vendor/bundle/bin/rspec.bat +6 -0
- data/vendor/bundle/cache/diff-lcs-1.3.gem +0 -0
- data/vendor/bundle/cache/echonet_lite-0.1.0.gem +0 -0
- data/vendor/bundle/cache/ipaddr-1.0.0.gem +0 -0
- data/vendor/bundle/cache/ipaddress-0.8.3.gem +0 -0
- data/vendor/bundle/cache/rspec-3.6.0.gem +0 -0
- data/vendor/bundle/cache/rspec-core-3.6.0.gem +0 -0
- data/vendor/bundle/cache/rspec-expectations-3.6.0.gem +0 -0
- data/vendor/bundle/cache/rspec-mocks-3.6.0.gem +0 -0
- data/vendor/bundle/cache/rspec-support-3.6.0.gem +0 -0
- data/vendor/bundle/doc/echonet_lite-0.1.0/ri/EL/GSET-c.ri +0 -0
- data/vendor/bundle/doc/echonet_lite-0.1.0/ri/EL/Hexadecimal_str-c.ri +0 -0
- data/vendor/bundle/doc/echonet_lite-0.1.0/ri/EL/Receive-c.ri +0 -0
- data/vendor/bundle/doc/echonet_lite-0.1.0/ri/EL/ReceivePrint-c.ri +0 -0
- data/vendor/bundle/doc/echonet_lite-0.1.0/ri/EL/SETC-c.ri +0 -0
- data/vendor/bundle/doc/echonet_lite-0.1.0/ri/EL/SETI-c.ri +0 -0
- data/vendor/bundle/doc/echonet_lite-0.1.0/ri/EL/cdesc-EL.ri +0 -0
- data/vendor/bundle/doc/echonet_lite-0.1.0/ri/EL/pattern-c.ri +0 -0
- data/vendor/bundle/doc/echonet_lite-0.1.0/ri/EL/search-c.ri +0 -0
- data/vendor/bundle/doc/echonet_lite-0.1.0/ri/EL/sendOPC1-c.ri +0 -0
- data/vendor/bundle/doc/echonet_lite-0.1.0/ri/EL/sendString-c.ri +0 -0
- data/vendor/bundle/doc/echonet_lite-0.1.0/ri/EL/udp_send-c.ri +0 -0
- data/vendor/bundle/doc/echonet_lite-0.1.0/ri/EchonetLite/cdesc-EchonetLite.ri +0 -0
- data/vendor/bundle/doc/echonet_lite-0.1.0/ri/cache.ri +0 -0
- data/vendor/bundle/gems/diff-lcs-1.3/.rspec +1 -0
- data/vendor/bundle/gems/diff-lcs-1.3/Code-of-Conduct.md +74 -0
- data/vendor/bundle/gems/diff-lcs-1.3/Contributing.md +83 -0
- data/vendor/bundle/gems/diff-lcs-1.3/History.md +220 -0
- data/vendor/bundle/gems/diff-lcs-1.3/License.md +39 -0
- data/vendor/bundle/gems/diff-lcs-1.3/Manifest.txt +37 -0
- data/vendor/bundle/gems/diff-lcs-1.3/README.rdoc +84 -0
- data/vendor/bundle/gems/diff-lcs-1.3/Rakefile +57 -0
- data/vendor/bundle/gems/diff-lcs-1.3/autotest/discover.rb +1 -0
- data/vendor/bundle/gems/diff-lcs-1.3/bin/htmldiff +32 -0
- data/vendor/bundle/gems/diff-lcs-1.3/bin/ldiff +6 -0
- data/vendor/bundle/gems/diff-lcs-1.3/docs/COPYING.txt +339 -0
- data/vendor/bundle/gems/diff-lcs-1.3/docs/artistic.txt +127 -0
- data/vendor/bundle/gems/diff-lcs-1.3/lib/diff-lcs.rb +3 -0
- data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs.rb +725 -0
- data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/array.rb +7 -0
- data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/block.rb +37 -0
- data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/callbacks.rb +322 -0
- data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/change.rb +181 -0
- data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/htmldiff.rb +149 -0
- data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/hunk.rb +276 -0
- data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/internals.rb +307 -0
- data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/ldiff.rb +167 -0
- data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/string.rb +5 -0
- data/vendor/bundle/gems/diff-lcs-1.3/spec/change_spec.rb +65 -0
- data/vendor/bundle/gems/diff-lcs-1.3/spec/diff_spec.rb +47 -0
- data/vendor/bundle/gems/diff-lcs-1.3/spec/fixtures/ds1.csv +50 -0
- data/vendor/bundle/gems/diff-lcs-1.3/spec/fixtures/ds2.csv +51 -0
- data/vendor/bundle/gems/diff-lcs-1.3/spec/hunk_spec.rb +72 -0
- data/vendor/bundle/gems/diff-lcs-1.3/spec/issues_spec.rb +49 -0
- data/vendor/bundle/gems/diff-lcs-1.3/spec/lcs_spec.rb +56 -0
- data/vendor/bundle/gems/diff-lcs-1.3/spec/ldiff_spec.rb +47 -0
- data/vendor/bundle/gems/diff-lcs-1.3/spec/patch_spec.rb +422 -0
- data/vendor/bundle/gems/diff-lcs-1.3/spec/sdiff_spec.rb +214 -0
- data/vendor/bundle/gems/diff-lcs-1.3/spec/spec_helper.rb +321 -0
- data/vendor/bundle/gems/diff-lcs-1.3/spec/traverse_balanced_spec.rb +310 -0
- data/vendor/bundle/gems/diff-lcs-1.3/spec/traverse_sequences_spec.rb +139 -0
- data/vendor/bundle/gems/echonet_lite-0.1.0/.gitignore +12 -0
- data/vendor/bundle/gems/echonet_lite-0.1.0/.rspec +2 -0
- data/vendor/bundle/gems/echonet_lite-0.1.0/.travis.yml +5 -0
- data/vendor/bundle/gems/echonet_lite-0.1.0/CODE_OF_CONDUCT.md +74 -0
- data/vendor/bundle/gems/echonet_lite-0.1.0/Gemfile +6 -0
- data/vendor/bundle/gems/echonet_lite-0.1.0/LICENSE.txt +21 -0
- data/vendor/bundle/gems/echonet_lite-0.1.0/README.md +43 -0
- data/vendor/bundle/gems/echonet_lite-0.1.0/Rakefile +6 -0
- data/vendor/bundle/gems/echonet_lite-0.1.0/bin/console +14 -0
- data/vendor/bundle/gems/echonet_lite-0.1.0/bin/setup +8 -0
- data/vendor/bundle/gems/echonet_lite-0.1.0/echonet_lite.gemspec +37 -0
- data/vendor/bundle/gems/echonet_lite-0.1.0/lib/echonet_lite.rb +149 -0
- data/vendor/bundle/gems/echonet_lite-0.1.0/lib/echonet_lite/version.rb +3 -0
- data/vendor/bundle/gems/ipaddr-1.0.0/.gitignore +9 -0
- data/vendor/bundle/gems/ipaddr-1.0.0/.travis.yml +6 -0
- data/vendor/bundle/gems/ipaddr-1.0.0/Gemfile +4 -0
- data/vendor/bundle/gems/ipaddr-1.0.0/LICENSE.txt +23 -0
- data/vendor/bundle/gems/ipaddr-1.0.0/README.md +54 -0
- data/vendor/bundle/gems/ipaddr-1.0.0/Rakefile +10 -0
- data/vendor/bundle/gems/ipaddr-1.0.0/bin/console +14 -0
- data/vendor/bundle/gems/ipaddr-1.0.0/bin/setup +8 -0
- data/vendor/bundle/gems/ipaddr-1.0.0/ipaddr.gemspec +28 -0
- data/vendor/bundle/gems/ipaddr-1.0.0/lib/ipaddr.rb +662 -0
- data/vendor/bundle/gems/ipaddress-0.8.3/.document +5 -0
- data/vendor/bundle/gems/ipaddress-0.8.3/.gitignore +18 -0
- data/vendor/bundle/gems/ipaddress-0.8.3/.rock.yml +5 -0
- data/vendor/bundle/gems/ipaddress-0.8.3/CHANGELOG.rdoc +115 -0
- data/vendor/bundle/gems/ipaddress-0.8.3/Gemfile +3 -0
- data/vendor/bundle/gems/ipaddress-0.8.3/LICENSE.txt +20 -0
- data/vendor/bundle/gems/ipaddress-0.8.3/README.rdoc +998 -0
- data/vendor/bundle/gems/ipaddress-0.8.3/Rakefile +66 -0
- data/vendor/bundle/gems/ipaddress-0.8.3/ipaddress.gemspec +26 -0
- data/vendor/bundle/gems/ipaddress-0.8.3/lib/ipaddress.rb +227 -0
- data/vendor/bundle/gems/ipaddress-0.8.3/lib/ipaddress/ipv4.rb +1114 -0
- data/vendor/bundle/gems/ipaddress-0.8.3/lib/ipaddress/ipv6.rb +895 -0
- data/vendor/bundle/gems/ipaddress-0.8.3/lib/ipaddress/mongoid.rb +75 -0
- data/vendor/bundle/gems/ipaddress-0.8.3/lib/ipaddress/prefix.rb +265 -0
- data/vendor/bundle/gems/ipaddress-0.8.3/lib/ipaddress/version.rb +3 -0
- data/vendor/bundle/gems/ipaddress-0.8.3/test/ipaddress/ipv4_test.rb +600 -0
- data/vendor/bundle/gems/ipaddress-0.8.3/test/ipaddress/ipv6_test.rb +426 -0
- data/vendor/bundle/gems/ipaddress-0.8.3/test/ipaddress/mongoid_test.rb +70 -0
- data/vendor/bundle/gems/ipaddress-0.8.3/test/ipaddress/prefix_test.rb +153 -0
- data/vendor/bundle/gems/ipaddress-0.8.3/test/ipaddress_test.rb +82 -0
- data/vendor/bundle/gems/ipaddress-0.8.3/test/test_helper.rb +35 -0
- data/vendor/bundle/gems/rspec-3.6.0/LICENSE.md +27 -0
- data/vendor/bundle/gems/rspec-3.6.0/README.md +39 -0
- data/vendor/bundle/gems/rspec-3.6.0/lib/rspec.rb +3 -0
- data/vendor/bundle/gems/rspec-3.6.0/lib/rspec/version.rb +5 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/.document +5 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/.yardopts +8 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/Changelog.md +2167 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/LICENSE.md +26 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/README.md +384 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/exe/rspec +4 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/autorun.rb +3 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core.rb +185 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/backtrace_formatter.rb +65 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/bisect/coordinator.rb +66 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/bisect/example_minimizer.rb +169 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/bisect/runner.rb +169 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/bisect/server.rb +70 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/configuration.rb +2177 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/configuration_options.rb +196 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/drb.rb +113 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/dsl.rb +98 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/example.rb +653 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/example_group.rb +883 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/example_status_persister.rb +235 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/filter_manager.rb +231 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/flat_map.rb +20 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters.rb +265 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/base_formatter.rb +70 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/base_text_formatter.rb +75 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/bisect_formatter.rb +69 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/bisect_progress_formatter.rb +144 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/console_codes.rb +68 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/documentation_formatter.rb +70 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/exception_presenter.rb +496 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/helpers.rb +110 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/html_formatter.rb +153 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/html_printer.rb +414 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/html_snippet_extractor.rb +118 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/json_formatter.rb +101 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/profile_formatter.rb +68 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/progress_formatter.rb +29 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/protocol.rb +182 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/snippet_extractor.rb +134 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/syntax_highlighter.rb +91 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb +624 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/invocations.rb +85 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/memoized_helpers.rb +535 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/metadata.rb +499 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/metadata_filter.rb +255 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/mocking_adapters/null.rb +14 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/mocking_adapters/rr.rb +31 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/notifications.rb +514 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/option_parser.rb +309 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/ordering.rb +158 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/output_wrapper.rb +29 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/pending.rb +165 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/profiler.rb +32 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/project_initializer.rb +48 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/project_initializer/.rspec +1 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/project_initializer/spec/spec_helper.rb +100 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/rake_task.rb +168 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/reporter.rb +260 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/ruby_project.rb +53 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb +193 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/sandbox.rb +37 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/set.rb +54 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/shared_context.rb +55 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/shared_example_group.rb +271 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/shell_escape.rb +49 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/version.rb +9 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/warnings.rb +40 -0
- data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/world.rb +264 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/.document +5 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/.yardopts +6 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/Changelog.md +1072 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/LICENSE.md +25 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/README.md +305 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/expectations.rb +82 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/expectations/block_snippet_extractor.rb +253 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/expectations/configuration.rb +201 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/expectations/expectation_target.rb +127 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/expectations/fail_with.rb +39 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/expectations/failure_aggregator.rb +194 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/expectations/handler.rb +170 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/expectations/minitest_integration.rb +58 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/expectations/syntax.rb +132 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/expectations/version.rb +8 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers.rb +1025 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/aliased_matcher.rb +116 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in.rb +52 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/all.rb +85 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/base_matcher.rb +193 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/be.rb +288 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/be_between.rb +77 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/be_instance_of.rb +22 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/be_kind_of.rb +16 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/be_within.rb +72 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/change.rb +387 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/compound.rb +272 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/contain_exactly.rb +301 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/cover.rb +24 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/eq.rb +40 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/eql.rb +34 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/equal.rb +81 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/exist.rb +90 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/has.rb +103 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/have_attributes.rb +114 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/include.rb +143 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/match.rb +106 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/operators.rb +128 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/output.rb +200 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/raise_error.rb +230 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/respond_to.rb +165 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/satisfy.rb +60 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/start_or_end_with.rb +94 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/throw_symbol.rb +132 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/yield.rb +432 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/composable.rb +169 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/dsl.rb +527 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/english_phrasing.rb +58 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +73 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/fail_matchers.rb +42 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/generated_descriptions.rb +42 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/matcher_delegator.rb +35 -0
- data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/matcher_protocol.rb +99 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/.document +5 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/.yardopts +6 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/Changelog.md +1073 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/LICENSE.md +25 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/README.md +460 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks.rb +130 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance.rb +11 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/chain.rb +110 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/expect_chain_chain.rb +31 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/expectation_chain.rb +50 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/message_chains.rb +83 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/proxy.rb +116 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/recorder.rb +289 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/stub_chain.rb +51 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/stub_chain_chain.rb +23 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/argument_list_matcher.rb +100 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/argument_matchers.rb +320 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/configuration.rb +212 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/error_generator.rb +369 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/example_methods.rb +434 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/instance_method_stasher.rb +146 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/marshal_extension.rb +41 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/matchers/have_received.rb +130 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/matchers/receive.rb +132 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/matchers/receive_message_chain.rb +82 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/matchers/receive_messages.rb +77 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/message_chain.rb +87 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/message_expectation.rb +740 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/method_double.rb +287 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/method_reference.rb +202 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/minitest_integration.rb +68 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/mutate_const.rb +339 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/object_reference.rb +149 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/order_group.rb +81 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/proxy.rb +484 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/space.rb +238 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/standalone.rb +3 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/syntax.rb +325 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/targets.rb +124 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/test_double.rb +171 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/verifying_double.rb +129 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/verifying_message_expectation.rb +54 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/verifying_proxy.rb +220 -0
- data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/version.rb +9 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/Changelog.md +211 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/LICENSE.md +23 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/README.md +40 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support.rb +139 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/caller_filter.rb +83 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/comparable_version.rb +46 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/differ.rb +215 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/directory_maker.rb +63 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/encoded_string.rb +165 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/fuzzy_matcher.rb +48 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/hunk_generator.rb +47 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/matcher_definition.rb +42 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/method_signature_verifier.rb +392 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/mutex.rb +73 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/object_formatter.rb +268 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/recursive_const_methods.rb +76 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/reentrant_mutex.rb +53 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/ruby_features.rb +162 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/source.rb +75 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/source/location.rb +21 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/source/node.rb +107 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/source/token.rb +87 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/spec.rb +81 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/spec/deprecation_helpers.rb +64 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/spec/formatting_support.rb +9 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/spec/in_sub_process.rb +69 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/spec/library_wide_checks.rb +150 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/spec/shell_out.rb +84 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/spec/stderr_splitter.rb +63 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/spec/string_matcher.rb +46 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/spec/with_isolated_directory.rb +13 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/spec/with_isolated_stderr.rb +13 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/version.rb +7 -0
- data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/warnings.rb +39 -0
- data/vendor/bundle/specifications/diff-lcs-1.3.gemspec +61 -0
- data/vendor/bundle/specifications/echonet_lite-0.1.0.gemspec +43 -0
- data/vendor/bundle/specifications/ipaddr-1.0.0.gemspec +38 -0
- data/vendor/bundle/specifications/ipaddress-0.8.3.gemspec +35 -0
- data/vendor/bundle/specifications/rspec-3.6.0.gemspec +42 -0
- data/vendor/bundle/specifications/rspec-core-3.6.0.gemspec +62 -0
- data/vendor/bundle/specifications/rspec-expectations-3.6.0.gemspec +50 -0
- data/vendor/bundle/specifications/rspec-mocks-3.6.0.gemspec +50 -0
- data/vendor/bundle/specifications/rspec-support-3.6.0.gemspec +41 -0
- metadata +444 -0
@@ -0,0 +1,426 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class IPv6Test < Minitest::Test
|
4
|
+
|
5
|
+
def setup
|
6
|
+
@klass = IPAddress::IPv6
|
7
|
+
|
8
|
+
@compress_addr = {
|
9
|
+
"2001:db8:0000:0000:0008:0800:200c:417a" => "2001:db8::8:800:200c:417a",
|
10
|
+
"2001:db8:0:0:8:800:200c:417a" => "2001:db8::8:800:200c:417a",
|
11
|
+
"ff01:0:0:0:0:0:0:101" => "ff01::101",
|
12
|
+
"0:0:0:0:0:0:0:1" => "::1",
|
13
|
+
"0:0:0:0:0:0:0:0" => "::"}
|
14
|
+
|
15
|
+
@valid_ipv6 = { # Kindly taken from the python IPy library
|
16
|
+
"FEDC:BA98:7654:3210:FEDC:BA98:7654:3210" => 338770000845734292534325025077361652240,
|
17
|
+
"1080:0000:0000:0000:0008:0800:200C:417A" => 21932261930451111902915077091070067066,
|
18
|
+
"1080:0:0:0:8:800:200C:417A" => 21932261930451111902915077091070067066,
|
19
|
+
"1080:0::8:800:200C:417A" => 21932261930451111902915077091070067066,
|
20
|
+
"1080::8:800:200C:417A" => 21932261930451111902915077091070067066,
|
21
|
+
"FF01:0:0:0:0:0:0:43" => 338958331222012082418099330867817087043,
|
22
|
+
"FF01:0:0::0:0:43" => 338958331222012082418099330867817087043,
|
23
|
+
"FF01::43" => 338958331222012082418099330867817087043,
|
24
|
+
"0:0:0:0:0:0:0:1" => 1,
|
25
|
+
"0:0:0::0:0:1" => 1,
|
26
|
+
"::1" => 1,
|
27
|
+
"0:0:0:0:0:0:0:0" => 0,
|
28
|
+
"0:0:0::0:0:0" => 0,
|
29
|
+
"::" => 0,
|
30
|
+
"1080:0:0:0:8:800:200C:417A" => 21932261930451111902915077091070067066,
|
31
|
+
"1080::8:800:200C:417A" => 21932261930451111902915077091070067066}
|
32
|
+
|
33
|
+
@invalid_ipv6 = [":1:2:3:4:5:6:7",
|
34
|
+
":1:2:3:4:5:6:7",
|
35
|
+
"2002:516:2:200",
|
36
|
+
"dd"]
|
37
|
+
|
38
|
+
@networks = {
|
39
|
+
"2001:db8:1:1:1:1:1:1/32" => "2001:db8::/32",
|
40
|
+
"2001:db8:1:1:1:1:1::/32" => "2001:db8::/32",
|
41
|
+
"2001:db8::1/64" => "2001:db8::/64"}
|
42
|
+
|
43
|
+
@ip = @klass.new "2001:db8::8:800:200c:417a/64"
|
44
|
+
@network = @klass.new "2001:db8:8:800::/64"
|
45
|
+
@arr = [8193,3512,0,0,8,2048,8204,16762]
|
46
|
+
@hex = "20010db80000000000080800200c417a"
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_attribute_address
|
50
|
+
addr = "2001:0db8:0000:0000:0008:0800:200c:417a"
|
51
|
+
assert_equal addr, @ip.address
|
52
|
+
end
|
53
|
+
|
54
|
+
def test_initialize
|
55
|
+
assert_instance_of @klass, @ip
|
56
|
+
@invalid_ipv6.each do |ip|
|
57
|
+
assert_raises(ArgumentError) {@klass.new ip}
|
58
|
+
end
|
59
|
+
assert_equal 64, @ip.prefix
|
60
|
+
|
61
|
+
assert_raises(ArgumentError) {
|
62
|
+
@klass.new "::10.1.1.1"
|
63
|
+
}
|
64
|
+
end
|
65
|
+
|
66
|
+
def test_attribute_groups
|
67
|
+
assert_equal @arr, @ip.groups
|
68
|
+
end
|
69
|
+
|
70
|
+
def test_method_hexs
|
71
|
+
arr = "2001:0db8:0000:0000:0008:0800:200c:417a".split(":")
|
72
|
+
assert_equal arr, @ip.hexs
|
73
|
+
end
|
74
|
+
|
75
|
+
def test_method_to_i
|
76
|
+
@valid_ipv6.each do |ip,num|
|
77
|
+
assert_equal num, @klass.new(ip).to_i
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
def test_method_bits
|
82
|
+
bits = "0010000000000001000011011011100000000000000000000" +
|
83
|
+
"000000000000000000000000000100000001000000000000010000" +
|
84
|
+
"0000011000100000101111010"
|
85
|
+
assert_equal bits, @ip.bits
|
86
|
+
end
|
87
|
+
|
88
|
+
def test_method_prefix=()
|
89
|
+
ip = @klass.new "2001:db8::8:800:200c:417a"
|
90
|
+
assert_equal 128, ip.prefix
|
91
|
+
ip.prefix = 64
|
92
|
+
assert_equal 64, ip.prefix
|
93
|
+
assert_equal "2001:db8::8:800:200c:417a/64", ip.to_string
|
94
|
+
end
|
95
|
+
|
96
|
+
def test_method_mapped?
|
97
|
+
assert_equal false, @ip.mapped?
|
98
|
+
ip6 = @klass.new "::ffff:1234:5678"
|
99
|
+
assert_equal true, ip6.mapped?
|
100
|
+
end
|
101
|
+
|
102
|
+
def test_method_literal
|
103
|
+
str = "2001-0db8-0000-0000-0008-0800-200c-417a.ipv6-literal.net"
|
104
|
+
assert_equal str, @ip.literal
|
105
|
+
end
|
106
|
+
|
107
|
+
def test_method_group
|
108
|
+
@arr.each_with_index do |val,index|
|
109
|
+
assert_equal val, @ip[index]
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
def test_method_ipv4?
|
114
|
+
assert_equal false, @ip.ipv4?
|
115
|
+
end
|
116
|
+
|
117
|
+
def test_method_ipv6?
|
118
|
+
assert_equal true, @ip.ipv6?
|
119
|
+
end
|
120
|
+
|
121
|
+
def test_method_network?
|
122
|
+
assert_equal true, @network.network?
|
123
|
+
assert_equal false, @ip.network?
|
124
|
+
end
|
125
|
+
|
126
|
+
def test_method_network_u128
|
127
|
+
assert_equal 42540766411282592856903984951653826560, @ip.network_u128
|
128
|
+
end
|
129
|
+
|
130
|
+
def test_method_broadcast_u128
|
131
|
+
assert_equal 42540766411282592875350729025363378175, @ip.broadcast_u128
|
132
|
+
end
|
133
|
+
|
134
|
+
def test_method_size
|
135
|
+
ip = @klass.new("2001:db8::8:800:200c:417a/64")
|
136
|
+
assert_equal 2**64, ip.size
|
137
|
+
ip = @klass.new("2001:db8::8:800:200c:417a/32")
|
138
|
+
assert_equal 2**96, ip.size
|
139
|
+
ip = @klass.new("2001:db8::8:800:200c:417a/120")
|
140
|
+
assert_equal 2**8, ip.size
|
141
|
+
ip = @klass.new("2001:db8::8:800:200c:417a/124")
|
142
|
+
assert_equal 2**4, ip.size
|
143
|
+
end
|
144
|
+
|
145
|
+
def test_method_include?
|
146
|
+
assert_equal true, @ip.include?(@ip)
|
147
|
+
# test prefix on same address
|
148
|
+
included = @klass.new "2001:db8::8:800:200c:417a/128"
|
149
|
+
not_included = @klass.new "2001:db8::8:800:200c:417a/46"
|
150
|
+
assert_equal true, @ip.include?(included)
|
151
|
+
assert_equal false, @ip.include?(not_included)
|
152
|
+
# test address on same prefix
|
153
|
+
included = @klass.new "2001:db8::8:800:200c:0/64"
|
154
|
+
not_included = @klass.new "2001:db8:1::8:800:200c:417a/64"
|
155
|
+
assert_equal true, @ip.include?(included)
|
156
|
+
assert_equal false, @ip.include?(not_included)
|
157
|
+
# general test
|
158
|
+
included = @klass.new "2001:db8::8:800:200c:1/128"
|
159
|
+
not_included = @klass.new "2001:db8:1::8:800:200c:417a/76"
|
160
|
+
assert_equal true, @ip.include?(included)
|
161
|
+
assert_equal false, @ip.include?(not_included)
|
162
|
+
end
|
163
|
+
|
164
|
+
def test_method_to_hex
|
165
|
+
assert_equal @hex, @ip.to_hex
|
166
|
+
end
|
167
|
+
|
168
|
+
def test_method_to_s
|
169
|
+
assert_equal "2001:db8::8:800:200c:417a", @ip.to_s
|
170
|
+
end
|
171
|
+
|
172
|
+
def test_method_to_string
|
173
|
+
assert_equal "2001:db8::8:800:200c:417a/64", @ip.to_string
|
174
|
+
end
|
175
|
+
|
176
|
+
def test_method_to_string_uncompressed
|
177
|
+
str = "2001:0db8:0000:0000:0008:0800:200c:417a/64"
|
178
|
+
assert_equal str, @ip.to_string_uncompressed
|
179
|
+
end
|
180
|
+
|
181
|
+
def test_method_data
|
182
|
+
if RUBY_VERSION < "2.0"
|
183
|
+
str = " \001\r\270\000\000\000\000\000\b\b\000 \fAz"
|
184
|
+
else
|
185
|
+
str = " \x01\r\xB8\x00\x00\x00\x00\x00\b\b\x00 \fAz".b
|
186
|
+
end
|
187
|
+
assert_equal str, @ip.data
|
188
|
+
end
|
189
|
+
|
190
|
+
def test_method_reverse
|
191
|
+
str = "f.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.5.0.5.0.e.f.f.3.ip6.arpa"
|
192
|
+
assert_equal str, @klass.new("3ffe:505:2::f").reverse
|
193
|
+
end
|
194
|
+
|
195
|
+
def test_method_compressed
|
196
|
+
assert_equal "1:1:1::1", @klass.new("1:1:1:0:0:0:0:1").compressed
|
197
|
+
assert_equal "1:0:1::1", @klass.new("1:0:1:0:0:0:0:1").compressed
|
198
|
+
assert_equal "1:0:0:1::1", @klass.new("1:0:0:1:0:0:0:1").compressed
|
199
|
+
assert_equal "1::1:0:0:1", @klass.new("1:0:0:0:1:0:0:1").compressed
|
200
|
+
assert_equal "1::1", @klass.new("1:0:0:0:0:0:0:1").compressed
|
201
|
+
end
|
202
|
+
|
203
|
+
def test_method_unspecified?
|
204
|
+
assert_equal true, @klass.new("::").unspecified?
|
205
|
+
assert_equal false, @ip.unspecified?
|
206
|
+
end
|
207
|
+
|
208
|
+
def test_method_loopback?
|
209
|
+
assert_equal true, @klass.new("::1").loopback?
|
210
|
+
assert_equal false, @ip.loopback?
|
211
|
+
end
|
212
|
+
|
213
|
+
def test_method_network
|
214
|
+
@networks.each do |addr,net|
|
215
|
+
ip = @klass.new addr
|
216
|
+
assert_instance_of @klass, ip.network
|
217
|
+
assert_equal net, ip.network.to_string
|
218
|
+
end
|
219
|
+
end
|
220
|
+
|
221
|
+
def test_method_each
|
222
|
+
ip = @klass.new("2001:db8::4/125")
|
223
|
+
arr = []
|
224
|
+
ip.each {|i| arr << i.compressed}
|
225
|
+
expected = ["2001:db8::","2001:db8::1","2001:db8::2",
|
226
|
+
"2001:db8::3","2001:db8::4","2001:db8::5",
|
227
|
+
"2001:db8::6","2001:db8::7"]
|
228
|
+
assert_equal expected, arr
|
229
|
+
end
|
230
|
+
|
231
|
+
def test_method_compare
|
232
|
+
ip1 = @klass.new("2001:db8:1::1/64")
|
233
|
+
ip2 = @klass.new("2001:db8:2::1/64")
|
234
|
+
ip3 = @klass.new("2001:db8:1::2/64")
|
235
|
+
ip4 = @klass.new("2001:db8:1::1/65")
|
236
|
+
|
237
|
+
# ip2 should be greater than ip1
|
238
|
+
assert_equal true, ip2 > ip1
|
239
|
+
assert_equal false, ip1 > ip2
|
240
|
+
assert_equal false, ip2 < ip1
|
241
|
+
# ip3 should be less than ip2
|
242
|
+
assert_equal true, ip2 > ip3
|
243
|
+
assert_equal false, ip2 < ip3
|
244
|
+
# ip1 should be less than ip3
|
245
|
+
assert_equal true, ip1 < ip3
|
246
|
+
assert_equal false, ip1 > ip3
|
247
|
+
assert_equal false, ip3 < ip1
|
248
|
+
# ip1 should be equal to itself
|
249
|
+
assert_equal true, ip1 == ip1
|
250
|
+
# ip4 should be greater than ip1
|
251
|
+
assert_equal true, ip1 < ip4
|
252
|
+
assert_equal false, ip1 > ip4
|
253
|
+
# test sorting
|
254
|
+
arr = ["2001:db8:1::1/64","2001:db8:1::1/65",
|
255
|
+
"2001:db8:1::2/64","2001:db8:2::1/64"]
|
256
|
+
assert_equal arr, [ip1,ip2,ip3,ip4].sort.map{|s| s.to_string}
|
257
|
+
end
|
258
|
+
|
259
|
+
def test_classmethod_expand
|
260
|
+
compressed = "2001:db8:0:cd30::"
|
261
|
+
expanded = "2001:0db8:0000:cd30:0000:0000:0000:0000"
|
262
|
+
assert_equal expanded, @klass.expand(compressed)
|
263
|
+
refute_equal expanded, @klass.expand("2001:0db8:0::cd3")
|
264
|
+
refute_equal expanded, @klass.expand("2001:0db8::cd30")
|
265
|
+
refute_equal expanded, @klass.expand("2001:0db8::cd3")
|
266
|
+
end
|
267
|
+
|
268
|
+
def test_classmethod_compress
|
269
|
+
compressed = "2001:db8:0:cd30::"
|
270
|
+
expanded = "2001:0db8:0000:cd30:0000:0000:0000:0000"
|
271
|
+
assert_equal compressed, @klass.compress(expanded)
|
272
|
+
refute_equal compressed, @klass.compress("2001:0db8:0::cd3")
|
273
|
+
refute_equal compressed, @klass.compress("2001:0db8::cd30")
|
274
|
+
refute_equal compressed, @klass.compress("2001:0db8::cd3")
|
275
|
+
end
|
276
|
+
|
277
|
+
def test_classmethod_parse_data
|
278
|
+
str = " \001\r\270\000\000\000\000\000\b\b\000 \fAz"
|
279
|
+
ip = @klass.parse_data str
|
280
|
+
assert_instance_of @klass, ip
|
281
|
+
assert_equal "2001:0db8:0000:0000:0008:0800:200c:417a", ip.address
|
282
|
+
assert_equal "2001:db8::8:800:200c:417a/128", ip.to_string
|
283
|
+
end
|
284
|
+
|
285
|
+
def test_classhmethod_parse_u128
|
286
|
+
@valid_ipv6.each do |ip,num|
|
287
|
+
assert_equal @klass.new(ip).to_s, @klass.parse_u128(num).to_s
|
288
|
+
end
|
289
|
+
end
|
290
|
+
|
291
|
+
def test_classmethod_parse_hex
|
292
|
+
assert_equal @ip.to_s, @klass.parse_hex(@hex,64).to_s
|
293
|
+
end
|
294
|
+
|
295
|
+
def test_group_updates
|
296
|
+
ip = @klass.new("2001:db8::8:800:200c:417a/64")
|
297
|
+
ip[2] = '1234'
|
298
|
+
assert_equal "2001:db8:4d2:0:8:800:200c:417a/64", ip.to_string
|
299
|
+
end
|
300
|
+
|
301
|
+
end # class IPv6Test
|
302
|
+
|
303
|
+
class IPv6UnspecifiedTest < Minitest::Test
|
304
|
+
|
305
|
+
def setup
|
306
|
+
@klass = IPAddress::IPv6::Unspecified
|
307
|
+
@ip = @klass.new
|
308
|
+
@s = "::"
|
309
|
+
@str = "::/128"
|
310
|
+
@string = "0000:0000:0000:0000:0000:0000:0000:0000/128"
|
311
|
+
@u128 = 0
|
312
|
+
@address = "::"
|
313
|
+
end
|
314
|
+
|
315
|
+
def test_initialize
|
316
|
+
assert_instance_of @klass, @ip
|
317
|
+
end
|
318
|
+
|
319
|
+
def test_attributes
|
320
|
+
assert_equal @address, @ip.compressed
|
321
|
+
assert_equal 128, @ip.prefix
|
322
|
+
assert_equal true, @ip.unspecified?
|
323
|
+
assert_equal @s, @ip.to_s
|
324
|
+
assert_equal @str, @ip.to_string
|
325
|
+
assert_equal @string, @ip.to_string_uncompressed
|
326
|
+
assert_equal @u128, @ip.to_u128
|
327
|
+
end
|
328
|
+
|
329
|
+
def test_method_ipv6?
|
330
|
+
assert_equal true, @ip.ipv6?
|
331
|
+
end
|
332
|
+
|
333
|
+
end # class IPv6UnspecifiedTest
|
334
|
+
|
335
|
+
|
336
|
+
class IPv6LoopbackTest < Minitest::Test
|
337
|
+
|
338
|
+
def setup
|
339
|
+
@klass = IPAddress::IPv6::Loopback
|
340
|
+
@ip = @klass.new
|
341
|
+
@s = "::1"
|
342
|
+
@str = "::1/128"
|
343
|
+
@string = "0000:0000:0000:0000:0000:0000:0000:0001/128"
|
344
|
+
@u128 = 1
|
345
|
+
@address = "::1"
|
346
|
+
end
|
347
|
+
|
348
|
+
def test_initialize
|
349
|
+
assert_instance_of @klass, @ip
|
350
|
+
end
|
351
|
+
|
352
|
+
def test_attributes
|
353
|
+
assert_equal @address, @ip.compressed
|
354
|
+
assert_equal 128, @ip.prefix
|
355
|
+
assert_equal true, @ip.loopback?
|
356
|
+
assert_equal @s, @ip.to_s
|
357
|
+
assert_equal @str, @ip.to_string
|
358
|
+
assert_equal @string, @ip.to_string_uncompressed
|
359
|
+
assert_equal @u128, @ip.to_u128
|
360
|
+
end
|
361
|
+
|
362
|
+
def test_method_ipv6?
|
363
|
+
assert_equal true, @ip.ipv6?
|
364
|
+
end
|
365
|
+
|
366
|
+
end # class IPv6LoopbackTest
|
367
|
+
|
368
|
+
class IPv6MappedTest < Minitest::Test
|
369
|
+
|
370
|
+
def setup
|
371
|
+
@klass = IPAddress::IPv6::Mapped
|
372
|
+
@ip = @klass.new("::172.16.10.1")
|
373
|
+
@s = "::ffff:172.16.10.1"
|
374
|
+
@str = "::ffff:172.16.10.1/128"
|
375
|
+
@string = "0000:0000:0000:0000:0000:ffff:ac10:0a01/128"
|
376
|
+
@u128 = 281473568475649
|
377
|
+
@address = "::ffff:ac10:a01"
|
378
|
+
|
379
|
+
@valid_mapped = {'::13.1.68.3' => 281470899930115,
|
380
|
+
'0:0:0:0:0:ffff:129.144.52.38' => 281472855454758,
|
381
|
+
'::ffff:129.144.52.38' => 281472855454758}
|
382
|
+
|
383
|
+
@valid_mapped_ipv6 = {'::0d01:4403' => 281470899930115,
|
384
|
+
'0:0:0:0:0:ffff:8190:3426' => 281472855454758,
|
385
|
+
'::ffff:8190:3426' => 281472855454758}
|
386
|
+
|
387
|
+
@valid_mapped_ipv6_conversion = {'::0d01:4403' => "13.1.68.3",
|
388
|
+
'0:0:0:0:0:ffff:8190:3426' => "129.144.52.38",
|
389
|
+
'::ffff:8190:3426' => "129.144.52.38"}
|
390
|
+
|
391
|
+
end
|
392
|
+
|
393
|
+
def test_initialize
|
394
|
+
assert_instance_of @klass, @ip
|
395
|
+
@valid_mapped.each do |ip, u128|
|
396
|
+
assert_equal u128, @klass.new(ip).to_u128
|
397
|
+
end
|
398
|
+
@valid_mapped_ipv6.each do |ip, u128|
|
399
|
+
assert_equal u128, @klass.new(ip).to_u128
|
400
|
+
end
|
401
|
+
end
|
402
|
+
|
403
|
+
def test_mapped_from_ipv6_conversion
|
404
|
+
@valid_mapped_ipv6_conversion.each do |ip6,ip4|
|
405
|
+
assert_equal ip4, @klass.new(ip6).ipv4.to_s
|
406
|
+
end
|
407
|
+
end
|
408
|
+
|
409
|
+
def test_attributes
|
410
|
+
assert_equal @address, @ip.compressed
|
411
|
+
assert_equal 128, @ip.prefix
|
412
|
+
assert_equal @s, @ip.to_s
|
413
|
+
assert_equal @str, @ip.to_string
|
414
|
+
assert_equal @string, @ip.to_string_uncompressed
|
415
|
+
assert_equal @u128, @ip.to_u128
|
416
|
+
end
|
417
|
+
|
418
|
+
def test_method_ipv6?
|
419
|
+
assert_equal true, @ip.ipv6?
|
420
|
+
end
|
421
|
+
|
422
|
+
def test_mapped?
|
423
|
+
assert_equal true, @ip.mapped?
|
424
|
+
end
|
425
|
+
|
426
|
+
end # class IPv6MappedTest
|
@@ -0,0 +1,70 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require 'ipaddress/mongoid'
|
3
|
+
|
4
|
+
class MongoidTest < Minitest::Test
|
5
|
+
|
6
|
+
def setup
|
7
|
+
@valid_host4 = "172.16.10.1"
|
8
|
+
@valid_host6 = "2001:0db8:0000:0000:0008:0800:200c:417a"
|
9
|
+
@valid_host6_compressed = IPAddress::IPv6.compress(@valid_host6)
|
10
|
+
@valid_network4 = "#{@valid_host4}/24"
|
11
|
+
@valid_network6 = "#{@valid_host6}/96"
|
12
|
+
@valid_network6_compressed = "#{@valid_host6_compressed}/96"
|
13
|
+
@host4 = IPAddress.parse(@valid_host4)
|
14
|
+
@host6 = IPAddress.parse(@valid_host6)
|
15
|
+
@network4 = IPAddress.parse(@valid_network4)
|
16
|
+
@network6 = IPAddress.parse(@valid_network6)
|
17
|
+
@invalid_values = [nil, "", "invalid"]
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_mongoize
|
21
|
+
# Instance method should be delegated to class method
|
22
|
+
assert_equal @host4.mongoize, IPAddress.mongoize(@host4)
|
23
|
+
assert_equal @network4.mongoize, IPAddress.mongoize(@network4)
|
24
|
+
|
25
|
+
# Hosts addresses should be stored without prefix
|
26
|
+
assert_equal @valid_host4, IPAddress.mongoize(@host4)
|
27
|
+
assert_equal @valid_host6, IPAddress.mongoize(@host6)
|
28
|
+
assert_equal @valid_host4, IPAddress.mongoize("#{@host4}/32")
|
29
|
+
assert_equal @valid_host6, IPAddress.mongoize("#{@host6}/128")
|
30
|
+
|
31
|
+
# Network addresses should be stored with their prefix
|
32
|
+
assert_equal @valid_network4, IPAddress.mongoize(@network4)
|
33
|
+
assert_equal @valid_network6, IPAddress.mongoize(@network6)
|
34
|
+
|
35
|
+
# IPv6 addresses should always be stored uncompressed
|
36
|
+
assert_equal @valid_host6, IPAddress.mongoize(@valid_host6_compressed)
|
37
|
+
assert_equal @valid_network6, IPAddress.mongoize(@valid_network6_compressed)
|
38
|
+
|
39
|
+
@invalid_values.each do |invalid_value|
|
40
|
+
# Invalid addresses should serialize to nil
|
41
|
+
assert_equal nil, IPAddress.mongoize(invalid_value)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_demongoize
|
46
|
+
# Valid stored values should be loaded with expected IPAddress type
|
47
|
+
assert_instance_of IPAddress::IPv4, IPAddress.demongoize(@valid_host4)
|
48
|
+
assert_instance_of IPAddress::IPv6, IPAddress.demongoize(@valid_host6)
|
49
|
+
assert_instance_of IPAddress::IPv4, IPAddress.demongoize(@valid_network4)
|
50
|
+
assert_instance_of IPAddress::IPv6, IPAddress.demongoize(@valid_network6)
|
51
|
+
|
52
|
+
# Valid stored values should be loaded as the original IPAddress object
|
53
|
+
assert_equal @host4, IPAddress.demongoize(@valid_host4)
|
54
|
+
assert_equal @host6, IPAddress.demongoize(@valid_host6)
|
55
|
+
assert_equal @network4, IPAddress.demongoize(@valid_network4)
|
56
|
+
assert_equal @network6, IPAddress.demongoize(@valid_network6)
|
57
|
+
|
58
|
+
@invalid_values.each do |invalid_value|
|
59
|
+
# Invalid stored value should be loaded as nil
|
60
|
+
assert_equal nil, IPAddress.demongoize(invalid_value)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
def test_evolve
|
65
|
+
# evolve should delegate to mongoize
|
66
|
+
assert_equal IPAddress.mongoize(@valid_host4), IPAddress.evolve(@valid_host4)
|
67
|
+
assert_equal IPAddress.mongoize(@valid_network4), IPAddress.evolve(@valid_network4)
|
68
|
+
end
|
69
|
+
|
70
|
+
end
|