anchor.diff:        return transaction.objectStore(storeName).getObject(key);
       }).then((object) {
         db.close();
  -      expect(object, matcher);
  +      if (stringifyResult) {
  +        // Stringify the numbers to verify that we're correctly returning ints
  +        // as ints vs doubles.
  +        expect(object.toString(), matcher);
  +      } else {
  +        expect(object, matcher);
  +      }
       }).whenComplete(() {
         if (db != null) {
           db.close();
  
positive.code:       return transaction.objectStore(storeName).getObject(key);
      }).then((object) {
        db.close();
        expect(object, matcher);
      }).whenComplete(() {
        if (db != null) {
          db.close();
  
negative.code: }
  
  testReadWrite(key, value, matcher,
      [dbName, storeName = STORE_NAME, version = VERSION, 
      stringifyResult = false]) => () {
    if (dbName == null) {
      dbName = nextDatabaseName();
    }
  