-<%= spec.name %> should:
-
-<% spec.requirements.each do |req| %>
-- <%= req %>
-<% end %>
-
-
-<% end %>
-
-
- EOS
- output_dir = File.expand_path(@html_dir)
- mkdir_p output_dir
- output_filename = output_dir + "/behaviors.html"
- File.open(output_filename,"w") do |f|
- f.write ERB.new(txt).result(binding)
- end
- puts "(Wrote #{output_filename})"
- end
- end
-
- private
- def test_files
- test_list = FileList[@pattern]
- if ENV['for']
- test_list = test_list.grep(/#{ENV['for']}/i)
- end
- test_list
- end
-
- def specifications
- test_files.map do |file|
- spec = OpenStruct.new
- m = %r".*/([^/].*)_test.rb".match(file)
- class_name = titleize(m[1]) if m[1]
- spec.name = class_name
- spec.requirements = []
- File::readlines(file).each do |line|
- if line =~ /^\s*should\s+\(?\s*["'](.*)["']/
- spec.requirements << $1
- end
- end
- spec
- end
- end
-
- ############################################################
- # STOLEN FROM inflector.rb
- ############################################################
- #--
- # Copyright (c) 2005 David Heinemeier Hansson
- #
- # Permission is hereby granted, free of charge, to any person obtaining
- # a copy of this software and associated documentation files (the
- # "Software"), to deal in the Software without restriction, including
- # without limitation the rights to use, copy, modify, merge, publish,
- # distribute, sublicense, and/or sell copies of the Software, and to
- # permit persons to whom the Software is furnished to do so, subject to
- # the following conditions:
- #
- # The above copyright notice and this permission notice shall be
- # included in all copies or substantial portions of the Software.
- #
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
- # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
- # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- #++
- def titleize(word)
- humanize(underscore(word)).gsub(/\b([a-z])/) { $1.capitalize }
- end
-
- def underscore(camel_cased_word) camel_cased_word.to_s.gsub(/::/, '/').
- gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').gsub(/([a-z\d])([A-Z])/,'\1_\2').tr("-", "_").downcase
- end
-
- def humanize(lower_case_and_underscored_word)
- lower_case_and_underscored_word.to_s.gsub(/_id$/, "").gsub(/_/, " ").capitalize
- end
-
- end
-end
diff --git a/vendor/behaviors/test/behaviors_tasks_test.rb b/vendor/behaviors/test/behaviors_tasks_test.rb
deleted file mode 100644
index 76943233..00000000
--- a/vendor/behaviors/test/behaviors_tasks_test.rb
+++ /dev/null
@@ -1,81 +0,0 @@
-# =========================================================================
-# Ceedling - Test-Centered Build System for C
-# ThrowTheSwitch.org
-# Copyright (c) 2010-24 Mike Karlesky, Mark VanderVoord, & Greg Williams
-# SPDX-License-Identifier: MIT
-# =========================================================================
-
-
-require 'test/unit'
-require 'fileutils'
-
-class BehaviorsTasksTest < Test::Unit::TestCase
- include FileUtils
-
- def setup
- @here = File.expand_path(File.dirname(__FILE__))
- @base_cmd = RUBY_PLATFORM[/mswin/] ? 'rake.cmd ' : 'rake '
- end
-
- #
- # HELPERS
- #
- def run_behaviors_task
- run_cmd "behaviors"
- end
-
- def run_behaviors_html_task
- run_cmd "behaviors_html"
- end
-
- def run_cmd(cmd)
- cd "#{@here}/tasks_test" do
- @report = %x[ #{@base_cmd} #{cmd} ]
- end
- end
-
- def see_html_task_output_message
- @html_output_filename = "#{@here}/tasks_test/behaviors_doc/behaviors.html"
- assert_match(/Wrote #{@html_output_filename}/, @report)
- end
-
- def see_that_html_report_file_exits
- assert File.exists?(@html_output_filename), "html output file should exist"
- end
-
- def html_report_file_should_contain(user_behaviors)
- file_contents = File.read(@html_output_filename)
- user_behaviors.each do |line|
- assert_match(/#{line}/, file_contents)
- end
- rm_rf File.dirname(@html_output_filename)
- end
-
- #
- # TESTS
- #
- def test_that_behaviors_tasks_should_list_behavioral_definitions_for_the_classes_under_test
- run_behaviors_task
- user_behaviors = [
- "User should:",
- " - be able set user name and age during construction",
- " - be able to get user name and age",
- " - be able to ask if a user is an adult"
- ]
- assert_match(/#{user_behaviors.join("\n")}/, @report)
- end
-
- def test_that_behaviors_tasks_should_list_behavioral_definitions_for_the_classes_under_test_in_html_output
- run_behaviors_html_task
- see_html_task_output_message
- see_that_html_report_file_exits
- user_behaviors = [
- "User should:",
- "be able set user name and age during construction",
- "be able to get user name and age",
- "be able to ask if a user is an adult"
- ]
- html_report_file_should_contain user_behaviors
- end
-
-end
diff --git a/vendor/behaviors/test/behaviors_test.rb b/vendor/behaviors/test/behaviors_test.rb
deleted file mode 100644
index 5cea0145..00000000
--- a/vendor/behaviors/test/behaviors_test.rb
+++ /dev/null
@@ -1,58 +0,0 @@
-# =========================================================================
-# Ceedling - Test-Centered Build System for C
-# ThrowTheSwitch.org
-# Copyright (c) 2010-24 Mike Karlesky, Mark VanderVoord, & Greg Williams
-# SPDX-License-Identifier: MIT
-# =========================================================================
-
-
-require 'test/unit'
-require File.expand_path(File.dirname(__FILE__)) + '/../lib/behaviors'
-require 'stringio'
-
-loading_developer_test_class_stdout = StringIO.new
-saved_stdout = $stdout.dup
-$stdout = loading_developer_test_class_stdout
-
-class DeveloperTest
- extend Behaviors
- attr_accessor :flunk_msg, :tested_code
-
- should "test their code" do
- @tested_code = true
- end
- should "go to meetings"
-end
-
-$stdout = saved_stdout
-loading_developer_test_class_stdout.rewind
-$loading_developer_test_class_output = loading_developer_test_class_stdout.read
-
-class BehaviorsTest < Test::Unit::TestCase
-
-
- def setup
- @target = DeveloperTest.new
- assert_nil @target.tested_code, "block called too early"
- end
-
- #
- # TESTS
- #
- def test_should_called_with_a_block_defines_a_test
- assert @target.methods.include?("test_should_test their code"), "Missing test method"
-
- @target.send("test_should_test their code")
-
- assert @target.tested_code, "block not called"
- end
-
- def test_should_called_without_a_block_does_not_create_a_test_method
- assert !@target.methods.include?("test_should_go to meetings"), "Should not have method"
- end
-
- def test_should_called_without_a_block_will_give_unimplemented_output_when_class_loads
- unimplemented_output = "UNIMPLEMENTED CASE: Developer should go to meetings"
- assert_match(/#{unimplemented_output}/, $loading_developer_test_class_output)
- end
-end
diff --git a/vendor/behaviors/test/tasks_test/Rakefile b/vendor/behaviors/test/tasks_test/Rakefile
deleted file mode 100644
index ba71f715..00000000
--- a/vendor/behaviors/test/tasks_test/Rakefile
+++ /dev/null
@@ -1,19 +0,0 @@
-require 'rake'
-require 'rake/testtask'
-
-here = File.expand_path(File.dirname(__FILE__))
-require "#{here}/../../lib/behaviors/reporttask"
-
-desc 'Default: run unit tests.'
-task :default => :test
-
-Rake::TestTask.new(:test) do |t|
- t.libs << "#{here}/../../lib"
- t.pattern = 'test/**/*_test.rb'
- t.verbose = true
-end
-
-Behaviors::ReportTask.new(:behaviors) do |t|
- t.pattern = 'test/**/*_test.rb'
- t.html_dir = 'behaviors_doc'
-end
diff --git a/vendor/behaviors/test/tasks_test/lib/user.rb b/vendor/behaviors/test/tasks_test/lib/user.rb
deleted file mode 100644
index 7c8ead2e..00000000
--- a/vendor/behaviors/test/tasks_test/lib/user.rb
+++ /dev/null
@@ -1,10 +0,0 @@
-# =========================================================================
-# Ceedling - Test-Centered Build System for C
-# ThrowTheSwitch.org
-# Copyright (c) 2010-24 Mike Karlesky, Mark VanderVoord, & Greg Williams
-# SPDX-License-Identifier: MIT
-# =========================================================================
-
-
-class User
-end
diff --git a/vendor/behaviors/test/tasks_test/test/user_test.rb b/vendor/behaviors/test/tasks_test/test/user_test.rb
deleted file mode 100644
index 1091cc94..00000000
--- a/vendor/behaviors/test/tasks_test/test/user_test.rb
+++ /dev/null
@@ -1,25 +0,0 @@
-# =========================================================================
-# Ceedling - Test-Centered Build System for C
-# ThrowTheSwitch.org
-# Copyright (c) 2010-24 Mike Karlesky, Mark VanderVoord, & Greg Williams
-# SPDX-License-Identifier: MIT
-# =========================================================================
-
-
-require 'test/unit'
-require 'behaviors'
-
-require 'user'
-
-class UserTest < Test::Unit::TestCase
- extend Behaviors
-
- def setup
- end
-
- should "be able set user name and age during construction"
- should "be able to get user name and age"
- should "be able to ask if a user is an adult"
- def test_DELETEME
- end
-end
diff --git a/vendor/hardmock/CHANGES b/vendor/hardmock/CHANGES
deleted file mode 100644
index 4b5184ce..00000000
--- a/vendor/hardmock/CHANGES
+++ /dev/null
@@ -1,78 +0,0 @@
-Hardmock 1.3.7
-
-* BUG FIX: expects! could not setup expectations for more than one concrete method on an object, since the method aliasing and rewriting was only taking place when the background mock instance was first created. This logic has been updated and now you can do all the things you'd expect.
-
-Hardmock 1.3.6
-
-* BUG FIX: In Rails apps (and others) Hardmock and Fixtures battled viciously over "setup" and "teardown" and "method_added" (and any other clever test enhancement tool, namely Mocha) causing unpredictable results, notably failure to auto-verify mocks after teardown (leading to false positive tests).
- * The newly-added TestUnitBeforeAfter provides TestCase.before_setup and TestCase.after_teardown -- formal test wrapping hooks -- lets Hardmock provide its preparation and auto-verify behavior without contending for setup/teardown supremacy.
-
-Hardmock 1.3.5
-
-* Aliased should_receive => expects and and_return => returns for easier transition from rspec mock and flexmock users.
-
-Hardmock 1.3.4
-
-* Prevents accidental stubbing and mocking on NilClasses
-
-Hardmock 1.3.3
-
-* stubs! and expects! no longer require that their target methods exist in reality (this used to prevent you from stubbing methods that "exist" by virtue of "method_missing"
-* Tweaked inner metaclass code to avoid collisions with rspec's "metaid" stuff
-* Moved this project's Rake tasks into rake_tasks... otherwise Rails will load them, if Hardmock is installed as a Rails plugin
-* Alias added: 'verify_hardmocks' is now an alias for 'verify_mocks' (some internal projects were using this modified method name as a means of cooexisting with mocha)
-
-Hardmock 1.3.2
-
-November 2007
-
-* adds 'with' as an alternate syntax for specifying argument expectations.
-
-Hardmock 1.3.1
-
-October 2007
-
-* Can use stubs! on a mock object
-* expects! now generates mocked methods that can safely transfer runtime blocks to the mock instance itself
-* No longer need to call "prepare_hardmock_control" when using stubs in the absence of mocks
-* Stubs of concrete class or instance methods are restored to original state in teardown
-
-Hardmock 1.3.0
-
-October 2007
-
-* Adds stubs! and expects! method to all objects and classes to support concrete stubbing/mocking.
-
-Hardmock 1.2.3
-
-Sat Apr 28 01:16:15 EDT 2007
-
-* Re-release of 1.2.2 (which was canceled)... tasks moved to lib/tasks
-
-Hardmock 1.2.2
-
-Sat Apr 28 00:41:30 EDT 2007
-
-* assert_error has been broken out into its own lib file
-* Gem package can now run all tests successfully
-* Internal code refactoring; a number of classes that were defined in hardmock.rb are now in their own files
-
-Hardmock 1.2.1
-
-Sat Apr 28 00:41:30 EDT 2007
-
-* (botched release, see 1.2.2)
-
-Hardmock 1.2.0
-
-* You can now use "expect" in place of "expects" if you must.
-* "inspect" has been added to the list of methods NOT erased by MethodCleanout.
-
-Hardmock 1.1.0
-
-* "expects" replaces "expect" ("expect" now raises Hardmock::DeprecationError)
-* "verify_mocks" is now implicit in teardown, you needn't call it anymore
-* Mocking methods that Mock would otherwise inherit from Object (eg, to_s) is now possible
-* require 'hardmock' is all that's required to use the library now; no need to include in TestCase
-
-(previously called CMock, translated to Hardmock on 2006-12-10)
diff --git a/vendor/hardmock/LICENSE b/vendor/hardmock/LICENSE
deleted file mode 100644
index 396211e4..00000000
--- a/vendor/hardmock/LICENSE
+++ /dev/null
@@ -1,7 +0,0 @@
-Copyright (c) 2006,2007 David Crosby at Atomic Object, LLC
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/vendor/hardmock/README b/vendor/hardmock/README
deleted file mode 100644
index 4650a2a3..00000000
--- a/vendor/hardmock/README
+++ /dev/null
@@ -1,70 +0,0 @@
-== Hardmock
-
-Strict, ordered mock objects using very lightweight syntax in your tests.
-
-== How
-
-The basic procedure for using Hardmock in your tests is:
-
-* require 'hardmock' (this happens automatically when being used as a Rails plugin)
-* Create some mocks
-* Setup some expectations
-* Execute the target code
-* Verification of calls is automatic in =teardown=
-
-The expectations you set when using mocks are