Sha256: c6bccd9de121bc257a770d775e8a8ceb084e0a49a4e9a40e09dee8667a54f468

Contents?: true

Size: 1.17 KB

Versions: 27

Compression:

Stored size: 1.17 KB

Contents

require 'spec_helper'

describe 'Iterable props defined by Opal on core JS objects' do
  %x{
    function iterableKeysOf(obj) {
      var result = [];

      for (var key in obj) {
        result.push(key);
      }

      return result;
    }
  }

  it 'is empty for numbers' do
    `iterableKeysOf(1)`.should == []
  end

  it 'is empty for strings' do
    `iterableKeysOf('123')`.should == ['0', '1', '2'] # indexes, in JS they are iterable by default
    `iterableKeysOf(new String('123'))`.should == ['0', '1', '2'] # indexes, in JS they are iterable by default
  end

  it 'is empty for plain objects' do
    `iterableKeysOf({})`.should == []
  end

  it 'is empty for boolean' do
    `iterableKeysOf(true)`.should == []
    `iterableKeysOf(false)`.should == []
  end

  it 'is empty for regexp' do
    `iterableKeysOf(/regexp/)`.should == []
  end

  it 'is empty for functions' do
    `iterableKeysOf(function() {})`.should == []
  end

  it 'is empty for dates' do
    `iterableKeysOf(new Date())`.should == []
  end

  it 'is empty for errors' do
    `iterableKeysOf(new Error('message'))`.should == []
  end

  it 'is empty for Math' do
    `iterableKeysOf(Math)`.should == []
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
opal-1.7.4 spec/opal/core/iterable_props_spec.rb
opal-1.7.3 spec/opal/core/iterable_props_spec.rb
opal-1.7.2 spec/opal/core/iterable_props_spec.rb
opal-1.7.1 spec/opal/core/iterable_props_spec.rb
opal-1.7.0 spec/opal/core/iterable_props_spec.rb
opal-1.7.0.rc1 spec/opal/core/iterable_props_spec.rb
opal-1.6.1 spec/opal/core/iterable_props_spec.rb
opal-1.6.0 spec/opal/core/iterable_props_spec.rb
opal-1.6.0.rc1 spec/opal/core/iterable_props_spec.rb
opal-1.6.0.alpha1 spec/opal/core/iterable_props_spec.rb
opal-1.5.1 spec/opal/core/iterable_props_spec.rb
opal-1.5.0 spec/opal/core/iterable_props_spec.rb
opal-1.5.0.rc1 spec/opal/core/iterable_props_spec.rb
opal-1.4.1 spec/opal/core/iterable_props_spec.rb
opal-1.4.0 spec/opal/core/iterable_props_spec.rb
opal-1.4.0.alpha1 spec/opal/core/iterable_props_spec.rb
opal-1.3.2 spec/opal/core/iterable_props_spec.rb
opal-1.3.1 spec/opal/core/iterable_props_spec.rb
opal-1.3.0 spec/opal/core/iterable_props_spec.rb
opal-1.3.0.rc1 spec/opal/core/iterable_props_spec.rb