ontomde-core 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +5 -0
- data/Manifest.txt +37 -0
- data/README.txt +48 -0
- data/Rakefile +19 -0
- data/bin/ontomde-core +0 -0
- data/lib/ontomde-core.rb +35 -0
- data/lib/ontomde-core/bootstrap_rdfs.rb +37 -0
- data/lib/ontomde-core/clone.rb +73 -0
- data/lib/ontomde-core/context.rb +115 -0
- data/lib/ontomde-core/customERB.rb +842 -0
- data/lib/ontomde-core/custom_method_missing.rb +53 -0
- data/lib/ontomde-core/delayed.rb +20 -0
- data/lib/ontomde-core/demoInstaller.rb +32 -0
- data/lib/ontomde-core/exceptions.rb +28 -0
- data/lib/ontomde-core/fileLoader.rb +163 -0
- data/lib/ontomde-core/fileTypes.rb +133 -0
- data/lib/ontomde-core/helper.rb +538 -0
- data/lib/ontomde-core/loader.rb +70 -0
- data/lib/ontomde-core/log.rb +32 -0
- data/lib/ontomde-core/meta.rb +316 -0
- data/lib/ontomde-core/profil.rb +62 -0
- data/lib/ontomde-core/resource.rb +272 -0
- data/lib/ontomde-core/resourceSet.rb +173 -0
- data/lib/ontomde-core/triplet.rb +161 -0
- data/lib/ontomde-core/version.rb +5 -0
- data/test/protege/demo.sh +2 -0
- data/test/protege/etatCivil.pprj +891 -0
- data/test/protege/etatCivil.rdf +29 -0
- data/test/protege/etatCivil.rdfs +71 -0
- data/test/protege/test_demo.rb +46 -0
- data/test/test_context.rb +88 -0
- data/test/test_ontomde-core.rb +9 -0
- data/test/test_protected.rb +352 -0
- data/test/test_uri.rb +37 -0
- data/test/unit_test_crash.rb +22 -0
- data/test/unit_test_protected_sample +27 -0
- data/test/unit_test_protected_wrongEnd +9 -0
- metadata +106 -0
@@ -0,0 +1,29 @@
|
|
1
|
+
<?xml version='1.0' encoding='UTF-8'?>
|
2
|
+
<!DOCTYPE rdf:RDF [
|
3
|
+
<!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
|
4
|
+
<!ENTITY kb 'http://protege.stanford.edu/kb#'>
|
5
|
+
<!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
|
6
|
+
]>
|
7
|
+
<rdf:RDF xmlns:rdf="&rdf;"
|
8
|
+
xmlns:kb="&kb;"
|
9
|
+
xmlns:rdfs="&rdfs;">
|
10
|
+
<kb:ClientFidelise rdf:about="&kb;SampleModel_Instance_3"
|
11
|
+
kb:civilite="Monsieur"
|
12
|
+
kb:nom="Dupont"
|
13
|
+
kb:nombrePointDeFidelite="500"
|
14
|
+
kb:prenom="Jean"
|
15
|
+
rdfs:label="Jean Dupont"/>
|
16
|
+
<kb:ClientFidelise rdf:about="&kb;SampleModel_Instance_4"
|
17
|
+
kb:civilite="Madame"
|
18
|
+
kb:nom="Durand"
|
19
|
+
kb:nombrePointDeFidelite="300"
|
20
|
+
kb:prenom="Jeanne"
|
21
|
+
rdfs:label="Jeanne Durand"/>
|
22
|
+
<kb:ClientNonFidelise rdf:about="&kb;SampleModel_Instance_6"
|
23
|
+
kb:civilite="Monsieur"
|
24
|
+
kb:nom="Lafleur"
|
25
|
+
kb:prenom="Fernand"
|
26
|
+
rdfs:label="Fernand Lafleur"/>
|
27
|
+
<kb:Contrat rdf:about="&kb;etatCivil_Instance_1"
|
28
|
+
rdfs:label="etatCivil_Instance_1"/>
|
29
|
+
</rdf:RDF>
|
@@ -0,0 +1,71 @@
|
|
1
|
+
<?xml version='1.0' encoding='UTF-8'?>
|
2
|
+
<!DOCTYPE rdf:RDF [
|
3
|
+
<!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
|
4
|
+
<!ENTITY a 'http://protege.stanford.edu/system#'>
|
5
|
+
<!ENTITY kb 'http://protege.stanford.edu/kb#'>
|
6
|
+
<!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
|
7
|
+
]>
|
8
|
+
<rdf:RDF xmlns:rdf="&rdf;"
|
9
|
+
xmlns:a="&a;"
|
10
|
+
xmlns:kb="&kb;"
|
11
|
+
xmlns:rdfs="&rdfs;">
|
12
|
+
<rdfs:Class rdf:about="&kb;Client"
|
13
|
+
a:role="abstract"
|
14
|
+
rdfs:label="Client">
|
15
|
+
<rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
|
16
|
+
</rdfs:Class>
|
17
|
+
<rdfs:Class rdf:about="&kb;ClientFidelise"
|
18
|
+
rdfs:label="ClientFidelise">
|
19
|
+
<rdfs:subClassOf rdf:resource="&kb;Client"/>
|
20
|
+
<rdfs:subClassOf rdf:resource="&kb;Fidelisation"/>
|
21
|
+
</rdfs:Class>
|
22
|
+
<rdfs:Class rdf:about="&kb;ClientNonFidelise"
|
23
|
+
rdfs:label="ClientNonFidelise">
|
24
|
+
<rdfs:subClassOf rdf:resource="&kb;Client"/>
|
25
|
+
</rdfs:Class>
|
26
|
+
<rdfs:Class rdf:about="&kb;Contrat"
|
27
|
+
rdfs:label="Contrat">
|
28
|
+
<rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
|
29
|
+
</rdfs:Class>
|
30
|
+
<rdfs:Class rdf:about="&kb;Fidelisation"
|
31
|
+
a:role="abstract"
|
32
|
+
rdfs:label="Fidelisation">
|
33
|
+
<rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
|
34
|
+
</rdfs:Class>
|
35
|
+
<rdf:Property rdf:about="&kb;SampleModel_Slot_9"
|
36
|
+
a:maxCardinality="1"
|
37
|
+
rdfs:label="SampleModel_Slot_9">
|
38
|
+
<rdfs:range rdf:resource="&rdfs;Literal"/>
|
39
|
+
</rdf:Property>
|
40
|
+
<rdf:Property rdf:about="&kb;civilite"
|
41
|
+
a:defaultValues="Monsieur"
|
42
|
+
a:maxCardinality="1"
|
43
|
+
a:range="symbol"
|
44
|
+
rdfs:label="civilite">
|
45
|
+
<rdfs:domain rdf:resource="&kb;Client"/>
|
46
|
+
<rdfs:range rdf:resource="&rdfs;Literal"/>
|
47
|
+
<a:allowedValues>Madame</a:allowedValues>
|
48
|
+
<a:allowedValues>Monsieur</a:allowedValues>
|
49
|
+
</rdf:Property>
|
50
|
+
<rdf:Property rdf:about="&kb;nom"
|
51
|
+
a:maxCardinality="1"
|
52
|
+
rdfs:label="nom">
|
53
|
+
<rdfs:domain rdf:resource="&kb;Client"/>
|
54
|
+
<rdfs:range rdf:resource="&rdfs;Literal"/>
|
55
|
+
</rdf:Property>
|
56
|
+
<rdf:Property rdf:about="&kb;nombrePointDeFidelite"
|
57
|
+
a:defaultValues="0"
|
58
|
+
a:maxCardinality="1"
|
59
|
+
a:range="integer"
|
60
|
+
rdfs:label="nombrePointDeFidelite">
|
61
|
+
<rdfs:domain rdf:resource="&kb;Fidelisation"/>
|
62
|
+
<rdfs:range rdf:resource="&rdfs;Literal"/>
|
63
|
+
</rdf:Property>
|
64
|
+
<rdf:Property rdf:about="&kb;prenom"
|
65
|
+
a:maxCardinality="1"
|
66
|
+
rdfs:comment="mm"
|
67
|
+
rdfs:label="prenom">
|
68
|
+
<rdfs:domain rdf:resource="&kb;Client"/>
|
69
|
+
<rdfs:range rdf:resource="&rdfs;Literal"/>
|
70
|
+
</rdf:Property>
|
71
|
+
</rdf:RDF>
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require "ontomde-core"
|
2
|
+
|
3
|
+
#module Mmtk_Profil::FT2006_GesCli
|
4
|
+
module Mrdf_Resource
|
5
|
+
def disp
|
6
|
+
return ""
|
7
|
+
end
|
8
|
+
end
|
9
|
+
module Mkb_Client
|
10
|
+
def disp
|
11
|
+
return <<FIN
|
12
|
+
***************************************************
|
13
|
+
** Bonjour civ:#{kb_civilite}
|
14
|
+
** nom:#{kb_nom}
|
15
|
+
** prenom:#{kb_prenom}
|
16
|
+
FIN
|
17
|
+
end
|
18
|
+
end
|
19
|
+
module Mkb_ClientFidelise
|
20
|
+
def disp
|
21
|
+
super+<<FIN
|
22
|
+
** Vous avez:#{kb_nombrePointDeFidelite} points !
|
23
|
+
FIN
|
24
|
+
end
|
25
|
+
end
|
26
|
+
module Mkb_ClientNonFidelise
|
27
|
+
def disp
|
28
|
+
super+<<FIN
|
29
|
+
** Vous ne beneficiez pas ENCORE de notre programme de fidelisation.
|
30
|
+
FIN
|
31
|
+
end
|
32
|
+
end
|
33
|
+
#end
|
34
|
+
|
35
|
+
DATADIR=File.dirname(__FILE__)
|
36
|
+
|
37
|
+
@@model=Crdf_Model.new
|
38
|
+
@@model.loadMetaModelFromFile("#{DATADIR}/etatCivil.rdfs",true)
|
39
|
+
@@model.loadModelFromFile("#{DATADIR}/etatCivil.rdf",true)
|
40
|
+
|
41
|
+
puts "+++++++++++++++++++++++++++++++++"
|
42
|
+
@@model.each { |k,c|
|
43
|
+
print c.disp
|
44
|
+
}
|
45
|
+
puts "++++++++++++++++++++"
|
46
|
+
|
@@ -0,0 +1,88 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'ontomde-core'
|
3
|
+
|
4
|
+
|
5
|
+
class TC_context_tc1 < Test::Unit::TestCase
|
6
|
+
def setup
|
7
|
+
@@model=Crdf_Model.new
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_context_sur_resource
|
11
|
+
res=@@model['rdf_Resource']
|
12
|
+
assert(res.context.get(:build).nil?)
|
13
|
+
res.mtk_context( :build=>"c:/tmp") {
|
14
|
+
#log.debug "build=#{res.context[:build]}"
|
15
|
+
assert(res.context[:build]=='c:/tmp')
|
16
|
+
}
|
17
|
+
assert(res.context.get(:build).nil?)
|
18
|
+
assert(res.context.get(:anything).nil?)
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_ajout_retrait_context_vide
|
22
|
+
assert(@@model.context.get(:build).nil?)
|
23
|
+
@@model.mtk_context( :build=>"c:/tmp") {
|
24
|
+
#log.debug "build=#{@@model.context[:build]}"
|
25
|
+
assert(@@model.context[:build]=='c:/tmp')
|
26
|
+
}
|
27
|
+
assert(@@model.context.get(:build).nil?)
|
28
|
+
assert(@@model.context.get(:anything).nil?)
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_redefinition
|
32
|
+
assert(@@model.context.get(:build).nil?)
|
33
|
+
test_done=false
|
34
|
+
@@model.mtk_context( :build=>"c:/tmp") {
|
35
|
+
#log.debug "build=#{@@model.context[:build]}"
|
36
|
+
assert(!@@model.context.get(:build).nil?)
|
37
|
+
assert(@@model.context[:build]=='c:/tmp')
|
38
|
+
@@model.mtk_context( :build=>"h:/Z") {
|
39
|
+
assert(@@model.context[:build]=='h:/Z')
|
40
|
+
test_done=true
|
41
|
+
}
|
42
|
+
assert(@@model.context[:build]=='c:/tmp')
|
43
|
+
}
|
44
|
+
assert(@@model.context.get(:build).nil?)
|
45
|
+
assert(test_done,"Test non execute")
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_multiple_context
|
49
|
+
assert(@@model.context.get(:build).nil?)
|
50
|
+
assert(@@model.context.get(:lang).nil?)
|
51
|
+
test_done=false
|
52
|
+
@@model.mtk_context(:build=>"d:/tmp",:lang=>"fr",:opt=>1) {
|
53
|
+
assert(!@@model.context.get(:build).nil?)
|
54
|
+
assert(@@model.context.get(:build)==="d:/tmp")
|
55
|
+
assert(@@model.context.get(:lang)=="fr")
|
56
|
+
assert(@@model.context.get(:opt)==1)
|
57
|
+
@@model.mtk_context(:lang=>"en") {
|
58
|
+
assert(@@model.context[:build]=="d:/tmp")
|
59
|
+
assert(@@model.context[:lang]=="en")
|
60
|
+
assert(@@model.context[:opt]==1)
|
61
|
+
@@model.mtk_context(:lang=>"us",:ww2=>1939) {
|
62
|
+
assert(@@model.context[:build]=="d:/tmp")
|
63
|
+
assert(@@model.context[:lang]=="us")
|
64
|
+
assert(@@model.context[:opt]==1)
|
65
|
+
assert(@@model.context[:ww2]==1939)
|
66
|
+
test_done=true
|
67
|
+
}
|
68
|
+
assert(@@model.context[:build]=="d:/tmp")
|
69
|
+
assert(@@model.context[:lang]=="en")
|
70
|
+
assert(@@model.context[:opt]==1)
|
71
|
+
}
|
72
|
+
}
|
73
|
+
|
74
|
+
assert(@@model.context.get(:build).nil?)
|
75
|
+
assert(@@model.context.get(:lang).nil?)
|
76
|
+
assert(test_done,"Test non execute")
|
77
|
+
end
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
def test_load_simple
|
82
|
+
end
|
83
|
+
|
84
|
+
|
85
|
+
end
|
86
|
+
|
87
|
+
require 'test/unit/ui/console/testrunner'
|
88
|
+
Test::Unit::UI::Console::TestRunner.run(TC_context_tc1)
|
@@ -0,0 +1,352 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'ontomde-core'
|
3
|
+
require 'logger'
|
4
|
+
|
5
|
+
SRCDIR=File.dirname(__FILE__)
|
6
|
+
TargetFileType=FileTypeJava.instance
|
7
|
+
|
8
|
+
@@log=Logger.new("log")
|
9
|
+
|
10
|
+
@@log.level=Logger::Severity::DEBUG
|
11
|
+
|
12
|
+
Test_string_protected1="file tmp1.java\nzone protege a reprendre a la main (ligne 1)\nzone protege a reprendre a la main (ligne 2)"
|
13
|
+
Test_string_protected2="file tmp2.java\nzone protege a reprendre a la main (ligne 1)\nzone protege a reprendre a la main (ligne 2)"
|
14
|
+
Test_string_protected3="file tmp3.java\nzone protege a reprendre a la main (ligne 1)\nzone protege a reprendre a la main (ligne 2)"
|
15
|
+
Test_string_protected40="file tmp4.java\n zone aaaaa zone protege a reprendre a la main (ligne 1)\nzone protege a reprendre a la main (ligne 2)"
|
16
|
+
Test_string_protected41="file tmp4.java\n zone bbbbb zone protege a reprendre a la main (ligne 1)\nzone protege a reprendre a la main (ligne 2)"
|
17
|
+
Test_string_protected5A="file tmp5A\nzone protege a reprendre a la main (ligne 1)\nzone protege a reprendre a la main (ligne 2)"
|
18
|
+
Test_string_protected5B="file tmp5B\nzone protege a reprendre a la main (ligne 1)\nzone protege a reprendre a la main (ligne 2)"
|
19
|
+
Test_string_protected5C="file tmp5C\nzone protege a reprendre a la main (ligne 1)\nzone protege a reprendre a la main (ligne 2)"
|
20
|
+
Test_string_protected5D="file tmp5D\nzone protege a reprendre a la main (ligne 1)\nzone protege a reprendre a la main (ligne 2)"
|
21
|
+
|
22
|
+
module Mrdf_Resource
|
23
|
+
def test1
|
24
|
+
mtk_writeSession("build/tmp1.java"){#,REVERSE) {
|
25
|
+
write("Hello!\n")
|
26
|
+
write("Hello!\n")
|
27
|
+
write("Hello!\n")
|
28
|
+
write("Hello!\n")
|
29
|
+
mtk_protected(true) {
|
30
|
+
write Test_string_protected1
|
31
|
+
}
|
32
|
+
write("Bye!\n")
|
33
|
+
write("Bye!\n")
|
34
|
+
write("Bye!\n")
|
35
|
+
write("Bye!\n")
|
36
|
+
}
|
37
|
+
end
|
38
|
+
def test2
|
39
|
+
mtk_writeSession("build/tmp2.java"){#,REVERSE) {
|
40
|
+
write("Hello!")
|
41
|
+
mtk_protected(true) {
|
42
|
+
write Test_string_protected2
|
43
|
+
}
|
44
|
+
write("Bye!")
|
45
|
+
}
|
46
|
+
end
|
47
|
+
def test3
|
48
|
+
mtk_writeSession("build/tmp3.java"){#,REVERSE) {
|
49
|
+
write("Hello!")
|
50
|
+
mtk_protected(false) {
|
51
|
+
write Test_string_protected3
|
52
|
+
}
|
53
|
+
}
|
54
|
+
end
|
55
|
+
def test4
|
56
|
+
mtk_writeSession("build/tmp4.java"){#,REVERSE) {
|
57
|
+
write("Hello!")
|
58
|
+
mtk_protected(true,'zone40') {
|
59
|
+
write Test_string_protected40
|
60
|
+
}
|
61
|
+
mtk_protected(true,'zone41') {
|
62
|
+
write Test_string_protected41
|
63
|
+
}
|
64
|
+
}
|
65
|
+
end
|
66
|
+
def test5a
|
67
|
+
mtk_writeSession("build/tmp5.java"){}#,REVERSE) {}
|
68
|
+
File.delete("build/tmp5.java")
|
69
|
+
mtk_writeSession("build/tmp5.java"){#,REVERSE) {
|
70
|
+
write("Hello! : phase 1")
|
71
|
+
mtk_protected(false,"A") {
|
72
|
+
write "KO KO KO * phase 2- zone A"
|
73
|
+
}
|
74
|
+
mtk_protected(true,"B") {
|
75
|
+
write Test_string_protected5B
|
76
|
+
}
|
77
|
+
mtk_protected(false,"C") {
|
78
|
+
write "KO KO KO * phase 2- zone C"
|
79
|
+
}
|
80
|
+
mtk_protected(true,"D") {
|
81
|
+
write Test_string_protected5D
|
82
|
+
}
|
83
|
+
}
|
84
|
+
end
|
85
|
+
def test5b
|
86
|
+
mtk_writeSession("build/tmp5.java"){#,REVERSE) {
|
87
|
+
write("Hello! : phase 2")
|
88
|
+
mtk_protected(false,"A") {
|
89
|
+
write Test_string_protected5A
|
90
|
+
}
|
91
|
+
mtk_protected(true,"B") {
|
92
|
+
#on remplace
|
93
|
+
#normalement non appel�
|
94
|
+
write "KO KO KO * phase 2- zone B"
|
95
|
+
}
|
96
|
+
mtk_protected(true,"C") {
|
97
|
+
write Test_string_protected5C
|
98
|
+
}
|
99
|
+
mtk_protected(false,"D") {
|
100
|
+
#on ne remplace pas.
|
101
|
+
#normalement non appel�
|
102
|
+
write "phase 2 - zoneD"
|
103
|
+
write "KO KO KO * phase 2- zone D"
|
104
|
+
}
|
105
|
+
}
|
106
|
+
end
|
107
|
+
|
108
|
+
end
|
109
|
+
|
110
|
+
|
111
|
+
class TC_protected_tc1 < Test::Unit::TestCase
|
112
|
+
def setup
|
113
|
+
@@model=Crdf_Model.new
|
114
|
+
end
|
115
|
+
|
116
|
+
def test_write_protected
|
117
|
+
@@model.mtk_context(:mtk_fileType=>FileTypeJava.instance) {
|
118
|
+
@@model['rdf_Resource'].test1
|
119
|
+
@@model['rdf_Resource'].test2
|
120
|
+
|
121
|
+
@@model.mtk_retrieveProtected("build/tmp1.java",TargetFileType)
|
122
|
+
@@model.mtk_retrieveProtected("build/tmp2.java",TargetFileType)
|
123
|
+
|
124
|
+
s1=@@model['rdf_Resource__0__build/tmp1.java']
|
125
|
+
s2=@@model['rdf_Resource__0__build/tmp2.java']
|
126
|
+
assert(!s1.nil?,"1 non revers�")
|
127
|
+
assert(!s2.nil?,"2 non revers�")
|
128
|
+
assert(s1==Test_string_protected1,"Contenu s1 different valeur injecte");
|
129
|
+
assert(s2==Test_string_protected2,"Contenu s2 different valeur injecte");
|
130
|
+
}
|
131
|
+
end
|
132
|
+
def test_no_reverse
|
133
|
+
@@model['rdf_Resource'].test3
|
134
|
+
s3=@@model['rdf_Resource__0__build/tmp3.java']
|
135
|
+
assert( s3.nil?,"3 n'aurai pas du �tre recupere")
|
136
|
+
#assert(s3==Test_string_protected3);
|
137
|
+
@@model.mtk_context(:mtk_fileType=>FileTypeJava.instance) {
|
138
|
+
@@model.mtk_retrieveProtected("build/tmp3.java",TargetFileType)
|
139
|
+
}
|
140
|
+
end
|
141
|
+
def test_avec_zone
|
142
|
+
@@model['rdf_Resource'].test4
|
143
|
+
@@model.mtk_context(:mtk_fileType=>FileTypeJava.instance) {
|
144
|
+
@@model.mtk_retrieveProtected("build/tmp4.java",TargetFileType)
|
145
|
+
}
|
146
|
+
s40=@@model['rdf_Resource__zone40__build/tmp4.java']
|
147
|
+
s41=@@model['rdf_Resource__zone41__build/tmp4.java']
|
148
|
+
|
149
|
+
assert(!s40.nil?,"40 non revers�")
|
150
|
+
assert(!s41.nil?,"41 non revers�")
|
151
|
+
|
152
|
+
# On verifie que le texte de chaque zone se retrouve au bon endroit.
|
153
|
+
assert(s40==Test_string_protected40,"Contenu s40 different valeur injecte");
|
154
|
+
assert(s41==Test_string_protected41,"Contenu s41 different valeur injecte");
|
155
|
+
end
|
156
|
+
|
157
|
+
def test_multi_write
|
158
|
+
@@model['rdf_Resource'].test5a
|
159
|
+
|
160
|
+
m=Crdf_Model.new
|
161
|
+
m.mtk_context(:mtk_fileType=>FileTypeJava.instance) {
|
162
|
+
m.mtk_retrieveProtected("build/tmp5.java",TargetFileType)
|
163
|
+
}
|
164
|
+
#m.each{ |k,val| puts "5a k=#{k} " }
|
165
|
+
s5a=m['rdf_Resource__A__build/tmp5.java']
|
166
|
+
s5b=m['rdf_Resource__B__build/tmp5.java']
|
167
|
+
s5c=m['rdf_Resource__C__build/tmp5.java']
|
168
|
+
s5d=m['rdf_Resource__D__build/tmp5.java']
|
169
|
+
|
170
|
+
assert(s5a.nil? ,"5a ne devrait pas etre remonte")
|
171
|
+
assert(!s5b.nil?,"5b non revers�")
|
172
|
+
assert(s5c.nil? ,"5c revers�")
|
173
|
+
assert(!s5d.nil?,"5d non revers�")
|
174
|
+
|
175
|
+
@@model['rdf_Resource'].test5b
|
176
|
+
m=Crdf_Model.new
|
177
|
+
m.mtk_context(:mtk_fileType=>FileTypeJava.instance) {
|
178
|
+
m.mtk_retrieveProtected("build/tmp5.java",TargetFileType)
|
179
|
+
}
|
180
|
+
#m.each{ |k,val| puts "5b k=#{k} " }
|
181
|
+
s5a=m['rdf_Resource__A__build/tmp5.java']
|
182
|
+
s5b=m['rdf_Resource__B__build/tmp5.java']
|
183
|
+
s5c=m['rdf_Resource__C__build/tmp5.java']
|
184
|
+
s5d=m['rdf_Resource__D__build/tmp5.java']
|
185
|
+
|
186
|
+
assert(s5a.nil?,"5a ne devrait pas etre remonte")
|
187
|
+
assert(!s5b.nil?,"5b non revers�")
|
188
|
+
assert(!s5c.nil?,"5c non revers�")
|
189
|
+
assert(!s5d.nil?,"5d non revers�")
|
190
|
+
|
191
|
+
#assert(s5a==Test_string_protected5A,"Contenu 5A different valeur injecte");
|
192
|
+
assert(s5b==Test_string_protected5B,"Contenu 5B different valeur injecte");
|
193
|
+
assert(s5c==Test_string_protected5C,"Contenu 5C different valeur injecte");
|
194
|
+
assert(s5d==Test_string_protected5D,"Contenu 5D different valeur injecte");
|
195
|
+
|
196
|
+
#verification du fichier sur disque
|
197
|
+
#pour les donn�es non remont�es (et les autres tant qu'on y est)
|
198
|
+
a=b=c=d=false
|
199
|
+
File.open("build/tmp5.java") { |f| f.each_line { |line|
|
200
|
+
a=true if line.include? "file tmp5A"
|
201
|
+
b=true if line.include? "file tmp5B"
|
202
|
+
c=true if line.include? "file tmp5C"
|
203
|
+
d=true if line.include? "file tmp5D"
|
204
|
+
}}
|
205
|
+
|
206
|
+
assert(a,"tmp5A absent du fichier")
|
207
|
+
assert(b,"tmp5B absent du fichier")
|
208
|
+
assert(c,"tmp5C absent du fichier")
|
209
|
+
assert(d,"tmp5D absent du fichier")
|
210
|
+
end
|
211
|
+
|
212
|
+
def test_compatibilite_ascendante
|
213
|
+
m=Crdf_Model.new
|
214
|
+
f="#{SRCDIR}/unit_test_protected_sample"
|
215
|
+
#f="#{SRCDIR}/unit_test_protected_sample"
|
216
|
+
processed=nil
|
217
|
+
m.mtk_context(:mtk_fileType=>FileTypeJava.instance) {
|
218
|
+
processed=m.mtk_retrieveProtected(f,TargetFileType)
|
219
|
+
}
|
220
|
+
|
221
|
+
assert(processed,"fichier probablement non trouve:#{f}")
|
222
|
+
#m.each{|k,res| puts "#{k}=>#{res}##########" }
|
223
|
+
|
224
|
+
s5a=m["rdf_Resource__A__#{SRCDIR}/unit_test_protected_sample"]
|
225
|
+
s5b=m["rdf_Resource__B__#{SRCDIR}/unit_test_protected_sample"]
|
226
|
+
s5c=m["rdf_Resource__C__#{SRCDIR}/unit_test_protected_sample"]
|
227
|
+
s5d=m["rdf_Resource__D__#{SRCDIR}/unit_test_protected_sample"]
|
228
|
+
|
229
|
+
assert(s5a.nil?,"5a ne devrait pas etre remonte")
|
230
|
+
assert(!s5b.nil?,"5b non revers�")
|
231
|
+
assert(!s5c.nil?,"5c non revers�")
|
232
|
+
assert(!s5d.nil?,"5d non revers�")
|
233
|
+
|
234
|
+
|
235
|
+
#assert(s5a==Test_string_protected5A,"Contenu 5A different valeur injecte");
|
236
|
+
assert(s5b==Test_string_protected5B,"Contenu 5B different valeur injecte");
|
237
|
+
assert(s5c==Test_string_protected5C,"Contenu 5C different valeur injecte");
|
238
|
+
assert(s5d==Test_string_protected5D,"Contenu 5D different valeur injecte");
|
239
|
+
end
|
240
|
+
|
241
|
+
|
242
|
+
def test_OK_si_fichier_existe_pas
|
243
|
+
m=Crdf_Model.new
|
244
|
+
x=nil
|
245
|
+
m.mtk_context(:mtk_fileType=>FileTypeJava.instance) {
|
246
|
+
x=m.mtk_retrieveProtected("nom fichier qui n'existe pas mjdfljqs mljfdkq fqdj qf",TargetFileType)
|
247
|
+
}
|
248
|
+
assert(!x,"retrieveProtected doit renvoyer false si le fichier n'est pas trouv�")
|
249
|
+
end
|
250
|
+
def test_END_with_bad_uri
|
251
|
+
m=Crdf_Model.new
|
252
|
+
begin
|
253
|
+
m.mtk_context(:mtk_fileType=>FileTypeJava.instance) {
|
254
|
+
m.mtk_retrieveProtected("#{SRCDIR}/unit_test_protected_wrongEnd",TargetFileType)
|
255
|
+
}
|
256
|
+
assert(false,"une erreur ne s'est pas d�clench�e")
|
257
|
+
rescue WarningReverseBadOrMissingEnd => w
|
258
|
+
end
|
259
|
+
end
|
260
|
+
|
261
|
+
def test_atomic_write
|
262
|
+
end
|
263
|
+
|
264
|
+
def test_unknown_extension_without_protected
|
265
|
+
m=Crdf_Model.new
|
266
|
+
m.mtk_writeSession("build/tmp6.fjqmjfmkqs1"){
|
267
|
+
m.write("foo")
|
268
|
+
}
|
269
|
+
end
|
270
|
+
def test_unknown_extension_with_protected
|
271
|
+
m=Crdf_Model.new
|
272
|
+
r=m['rdf_Resource']
|
273
|
+
m.mtk_writeSession("build/tmp6.fjqmjfmkqs2"){
|
274
|
+
begin
|
275
|
+
r.mtk_protected(false) {
|
276
|
+
m.write("xyz")
|
277
|
+
}
|
278
|
+
assert(false,"exception expected")
|
279
|
+
rescue WarningUnknownFileType => e
|
280
|
+
end
|
281
|
+
}
|
282
|
+
end
|
283
|
+
|
284
|
+
|
285
|
+
def test_writeXML
|
286
|
+
f=FileTypeXML.instance
|
287
|
+
|
288
|
+
#m=f.re_begin
|
289
|
+
#s=f.beginMarker("1234",true)
|
290
|
+
##s=%{<!-- XMDA BEGIN reverse="yes" uri="1234" -->}
|
291
|
+
#s=%{<!-- XMDA BEGIN reverse="yes" uri="rdf_Resource__0" -->}
|
292
|
+
#puts "m=#{m}"
|
293
|
+
#puts "s=#{s}"
|
294
|
+
#puts "match=#{m.match(s)}\n"
|
295
|
+
#puts "uri=#{m.match(s)[2]}\n"
|
296
|
+
#puts "rev=#{m.match(s)[1]}\n"
|
297
|
+
#
|
298
|
+
#s=%{<!-- XMDA BEGIN uri="1234" -->}
|
299
|
+
|
300
|
+
#m=f.re_end
|
301
|
+
##s=f.beginMarker("1234",true)
|
302
|
+
##s=%{<!-- XMDA BEGIN reverse="yes" uri="1234" -->}
|
303
|
+
#s=%{<!-- XMDA END uri="rdf_Resource__0" -->}
|
304
|
+
#puts "m=#{m}"
|
305
|
+
#puts "s=#{s}"
|
306
|
+
#puts "match=#{m.match(s)}\n"
|
307
|
+
#puts "uri=#{m.match(s)[1]}\n"
|
308
|
+
File.delete("build/tmp7.xml") if File.exists?("build/tmp7.xml")
|
309
|
+
m=Crdf_Model.new
|
310
|
+
r=m['rdf_Resource']
|
311
|
+
r.mtk_writeSession("build/tmp7.xml"){
|
312
|
+
r.write("<home>\n")
|
313
|
+
r.mtk_protected(true) {
|
314
|
+
r.write("xyz")
|
315
|
+
}
|
316
|
+
r.mtk_protected(false,"a") {
|
317
|
+
r.write("efg")
|
318
|
+
}
|
319
|
+
r.write("</home>\n")
|
320
|
+
#writeComment("hello!")
|
321
|
+
}
|
322
|
+
r.mtk_writeSession("build/tmp7.xml"){
|
323
|
+
r.write("<home>\n")
|
324
|
+
r.mtk_protected(true) {
|
325
|
+
r.write("<room name=\"kitchen\"/>\n")
|
326
|
+
r.write("<room name=\"living room\"/>")
|
327
|
+
}
|
328
|
+
r.mtk_protected(true,"a") {
|
329
|
+
r.write("123")
|
330
|
+
}
|
331
|
+
r.write("</home>\n")
|
332
|
+
#writeComment("hello!")
|
333
|
+
}
|
334
|
+
#puts "m.length=#{m.length}"
|
335
|
+
m.mtk_context(:mtk_fileType=>FileTypeJava.instance) {
|
336
|
+
z=m.mtk_retrieveProtected("build/tmp7.xml",FileTypeXML.instance)
|
337
|
+
}
|
338
|
+
#puts "m.length=#{m.length}"
|
339
|
+
s7=m['rdf_Resource__0__build/tmp7.xml']
|
340
|
+
#puts "s7=#{s7}"
|
341
|
+
assert(s7=="xyz")
|
342
|
+
|
343
|
+
zoneA=m['rdf_Resource__a__build/tmp7.xml']
|
344
|
+
#puts "zoneA=#{zoneA}"
|
345
|
+
assert(zoneA=="123")
|
346
|
+
end
|
347
|
+
|
348
|
+
|
349
|
+
end
|
350
|
+
|
351
|
+
require 'test/unit/ui/console/testrunner'
|
352
|
+
Test::Unit::UI::Console::TestRunner.run(TC_protected_tc1)
|