Sha256: b60c483ee7ed2a3d9e08c9f825347d26daf309fe96277acc231807478acfdb00

Contents?: true

Size: 1.71 KB

Versions: 41

Compression:

Stored size: 1.71 KB

Contents

// ==========================================================================
// Project:   SproutCore - JavaScript Application Framework
// Copyright: ©2006-2011 Apple Inc. and contributors.
// License:   Licensed under MIT license (see license.js)
// ==========================================================================
/*globals module ok equals same test MyApp */

var store, Foo, json, foo ;
module("SC.Record#readAttribute", {
  setup: function() {
    SC.RunLoop.begin();
    store = SC.Store.create();
    Foo = SC.Record.extend();
    json = { 
      foo: "bar", 
      number: 123,
      bool: YES,
      array: [1,2,3] 
    };
    
    foo = store.createRecord(Foo, json);
    store.writeStatus(foo.storeKey, SC.Record.READY_CLEAN); 
  },
  
  teardown: function() {
    SC.RunLoop.end();
  }
});

test("returns unaltered JSON value for existing attributes", function() {
  var key ;
  for(key in json) {
    if (!json.hasOwnProperty(key)) continue;
    equals(foo.get(key), json[key], 'should return value for predefined key %@'.fmt(key));
  }
});

test("returns undefined for unknown JSON attributes", function() {
  equals(foo.get('imaginary'), undefined, 'should return undefined for unknown key "imaginary"');
});

test("returns new value if edited via writeAttribute", function() {
  foo.writeAttribute("bar", "baz");
  equals(foo.readAttribute("bar"), "baz", "should return value for new attribute 'bar'");
});

test("returns undefined when data hash is not present", function() {
  store.removeDataHash(foo.storeKey);
  equals(store.readDataHash(foo.storeKey), null, 'precond - data hash should be removed from store');
  equals(foo.readAttribute("foo"), undefined, "should return undefined if data hash is missing");
});


Version data entries

41 entries across 41 versions & 1 rubygems

Version Path
sproutcore-1.11.0 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js
sproutcore-1.11.0.rc3 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js
sproutcore-1.11.0.rc2 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js
sproutcore-1.11.0.rc1 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js
sproutcore-1.10.3.1 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js
sproutcore-1.10.2 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js
sproutcore-1.10.1 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js
sproutcore-1.10.0 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js
sproutcore-1.10.0.rc.3 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js
sproutcore-1.10.0.rc.2 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js
sproutcore-1.10.0.rc.1 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js
sproutcore-1.9.2 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js
sproutcore-1.9.1 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js
sproutcore-1.9.0 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js
sproutcore-1.8.2.1 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js
sproutcore-1.8.1 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js
sproutcore-1.8.0 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js
sproutcore-1.7.1.beta-java lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js
sproutcore-1.7.1.beta lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js
sproutcore-1.6.0.1-java lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js