コード例 #1
0
ファイル: StringType.c プロジェクト: hernan604/lucy
Hash*
StringType_Dump_IMP(StringType *self) {
    Hash *dump = StringType_Dump_For_Schema(self);
    Hash_Store_Utf8(dump, "_class", 6,
                    (Obj*)Str_Clone(StringType_Get_Class_Name(self)));
    DECREF(Hash_Delete_Utf8(dump, "type", 4));
    return dump;
}
コード例 #2
0
ファイル: NumericType.c プロジェクト: apache/lucy
Hash*
NumType_Dump_IMP(NumericType *self) {
    Hash *dump = NumType_Dump_For_Schema(self);
    Hash_Store_Utf8(dump, "_class", 6,
                    (Obj*)Str_Clone(NumType_get_class_name(self)));
    DECREF(Hash_Delete_Utf8(dump, "type", 4));
    return dump;
}
コード例 #3
0
ファイル: FullTextType.c プロジェクト: apache/lucy
Hash*
FullTextType_Dump_IMP(FullTextType *self) {
    FullTextTypeIVARS *const ivars = FullTextType_IVARS(self);
    Hash *dump = FullTextType_Dump_For_Schema(self);
    Hash_Store_Utf8(dump, "_class", 6,
                    (Obj*)Str_Clone(FullTextType_get_class_name(self)));
    Hash_Store_Utf8(dump, "analyzer", 8,
                    (Obj*)Analyzer_Dump(ivars->analyzer));
    DECREF(Hash_Delete_Utf8(dump, "type", 4));

    return dump;
}
コード例 #4
0
ファイル: TestJson.c プロジェクト: rectang/lucy
static void
test_max_depth(TestBatchRunner *runner) {
    Hash *circular = Hash_new(0);
    Hash_Store_Utf8(circular, "circular", 8, INCREF(circular));
    Err_set_error(NULL);
    String *not_json = Json_to_json((Obj*)circular);
    TEST_TRUE(runner, not_json == NULL,
              "to_json returns NULL when fed recursing data");
    TEST_TRUE(runner, Err_get_error() != NULL,
              "to_json sets global error when fed recursing data");
    DECREF(Hash_Delete_Utf8(circular, "circular", 8));
    DECREF(circular);
}
コード例 #5
0
ファイル: TestCompoundFileReader.c プロジェクト: apache/lucy
static void
test_open(TestBatchRunner *runner) {
    Folder *real_folder;
    CompoundFileReader *cf_reader;
    Hash *metadata;

    Err_set_error(NULL);
    real_folder = S_folder_with_contents();
    Folder_Delete(real_folder, cfmeta_file);
    cf_reader = CFReader_open(real_folder);
    TEST_TRUE(runner, cf_reader == NULL,
              "Return NULL when cfmeta file missing");
    TEST_TRUE(runner, Err_get_error() != NULL,
              "Set global error when cfmeta file missing");
    DECREF(real_folder);

    Err_set_error(NULL);
    real_folder = S_folder_with_contents();
    Folder_Delete(real_folder, cf_file);
    cf_reader = CFReader_open(real_folder);
    TEST_TRUE(runner, cf_reader == NULL,
              "Return NULL when cf.dat file missing");
    TEST_TRUE(runner, Err_get_error() != NULL,
              "Set global error when cf.dat file missing");
    DECREF(real_folder);

    Err_set_error(NULL);
    real_folder = S_folder_with_contents();
    metadata = (Hash*)Json_slurp_json(real_folder, cfmeta_file);
    Hash_Store_Utf8(metadata, "format", 6, (Obj*)Str_newf("%i32", -1));
    Folder_Delete(real_folder, cfmeta_file);
    Json_spew_json((Obj*)metadata, real_folder, cfmeta_file);
    cf_reader = CFReader_open(real_folder);
    TEST_TRUE(runner, cf_reader == NULL,
              "Return NULL when format is invalid");
    TEST_TRUE(runner, Err_get_error() != NULL,
              "Set global error when format is invalid");

    Err_set_error(NULL);
    Hash_Store_Utf8(metadata, "format", 6, (Obj*)Str_newf("%i32", 1000));
    Folder_Delete(real_folder, cfmeta_file);
    Json_spew_json((Obj*)metadata, real_folder, cfmeta_file);
    cf_reader = CFReader_open(real_folder);
    TEST_TRUE(runner, cf_reader == NULL,
              "Return NULL when format is too recent");
    TEST_TRUE(runner, Err_get_error() != NULL,
              "Set global error when format too recent");

    Err_set_error(NULL);
    DECREF(Hash_Delete_Utf8(metadata, "format", 6));
    Folder_Delete(real_folder, cfmeta_file);
    Json_spew_json((Obj*)metadata, real_folder, cfmeta_file);
    cf_reader = CFReader_open(real_folder);
    TEST_TRUE(runner, cf_reader == NULL,
              "Return NULL when format key is missing");
    TEST_TRUE(runner, Err_get_error() != NULL,
              "Set global error when format key is missing");

    Hash_Store_Utf8(metadata, "format", 6,
                    (Obj*)Str_newf("%i32", CFWriter_current_file_format));
    DECREF(Hash_Delete_Utf8(metadata, "files", 5));
    Folder_Delete(real_folder, cfmeta_file);
    Json_spew_json((Obj*)metadata, real_folder, cfmeta_file);
    cf_reader = CFReader_open(real_folder);
    TEST_TRUE(runner, cf_reader == NULL,
              "Return NULL when files key is missing");
    TEST_TRUE(runner, Err_get_error() != NULL,
              "Set global error when files key is missing");

    DECREF(metadata);
    DECREF(real_folder);
}