Sha256: f0d955afdd8df3a5525947d61d61860b63c18ff2b10d9664968c0e6d00a812b9

Contents?: true

Size: 788 Bytes

Versions: 5

Compression:

Stored size: 788 Bytes

Contents

module Spout
  module Tests
    module DomainFormat

      def assert_domain_format(item)
        result = begin
          json = JSON.parse(File.read(item))
          if json.is_a?(Array)
            json.empty? or json.select{|o| not o.is_a?(Hash)}.size == 0
          else
            false
          end
        rescue JSON::ParserError
          false
        end

        message = "Must be an array of choice hashes. Ex:\n[\n  {\n    \"value\":        \"1\",\n    \"display_name\": \"Option 1\",\n    \"description\":  \"...\"\n  },\n  { ... },\n  ...\n]"

        assert result, message
      end

      Dir.glob("domains/**/*.json").each do |file|
        define_method("test_domain_format: "+file) do
          assert_domain_format file
        end
      end

    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
spout-0.11.0 lib/spout/tests/domain_format.rb
spout-0.11.0.rc lib/spout/tests/domain_format.rb
spout-0.11.0.beta3 lib/spout/tests/domain_format.rb
spout-0.11.0.beta2 lib/spout/tests/domain_format.rb
spout-0.11.0.beta1 lib/spout/tests/domain_format.rb