3 // - CAS unit tests for System.CodeDom.Compiler.CompilerError
6 // Sebastien Pouliot <sebastien@ximian.com>
8 // Copyright (C) 2005 Novell, Inc (http://www.novell.com)
10 // Permission is hereby granted, free of charge, to any person obtaining
11 // a copy of this software and associated documentation files (the
12 // "Software"), to deal in the Software without restriction, including
13 // without limitation the rights to use, copy, modify, merge, publish,
14 // distribute, sublicense, and/or sell copies of the Software, and to
15 // permit persons to whom the Software is furnished to do so, subject to
16 // the following conditions:
18 // The above copyright notice and this permission notice shall be
19 // included in all copies or substantial portions of the Software.
21 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
25 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
27 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
30 using NUnit
.Framework
;
34 using System
.CodeDom
.Compiler
;
35 using System
.Reflection
;
36 using System
.Security
;
37 using System
.Security
.Permissions
;
39 namespace MonoCasTests
.System
.CodeDom
.Compiler
{
43 public class CompilerErrorCas
{
48 if (!SecurityManager
.SecurityEnabled
)
49 Assert
.Ignore ("SecurityManager.SecurityEnabled is OFF");
55 public void FixtureSetUp ()
58 fname
= Path
.GetTempFileName ();
62 [PermissionSet (SecurityAction
.Deny
, Unrestricted
= true)]
63 public void Constructor0_Deny_Unrestricted ()
65 CompilerError ce
= new CompilerError ();
66 Assert
.AreEqual (0, ce
.Column
, "Column");
68 Assert
.AreEqual (String
.Empty
, ce
.ErrorNumber
, "ErrorNumber");
69 ce
.ErrorNumber
= "cs0000";
70 Assert
.AreEqual (String
.Empty
, ce
.ErrorText
, "ErrorText");
71 ce
.ErrorText
= "error text";
72 Assert
.AreEqual (String
.Empty
, ce
.FileName
, "FileName");
74 Assert
.IsFalse (ce
.IsWarning
, "IsWarning");
76 Assert
.AreEqual (0, ce
.Line
, "Line");
78 Assert
.IsNotNull (ce
.ToString (), "ToString");
82 [PermissionSet (SecurityAction
.Deny
, Unrestricted
= true)]
83 public void Constructor5_Deny_Unrestricted ()
85 CompilerError ce
= new CompilerError (fname
, 1, 1, "cs0000", "error text");
86 Assert
.IsTrue ((ce
.ToString ().IndexOf (fname
) >= 0), "ToString");
87 Assert
.AreEqual (1, ce
.Column
, "Column");
88 ce
.Column
= Int32
.MinValue
;
89 Assert
.AreEqual ("cs0000", ce
.ErrorNumber
, "ErrorNumber");
90 ce
.ErrorNumber
= String
.Empty
;
91 Assert
.AreEqual ("error text", ce
.ErrorText
, "ErrorText");
92 ce
.ErrorText
= String
.Empty
;
93 Assert
.AreEqual (fname
, ce
.FileName
, "FileName");
94 ce
.FileName
= String
.Empty
;
95 Assert
.IsFalse (ce
.IsWarning
, "IsWarning");
97 Assert
.AreEqual (1, ce
.Line
, "Line");
98 ce
.Line
= Int32
.MinValue
;
102 [PermissionSet (SecurityAction
.Deny
, Unrestricted
= true)]
103 public void LinkDemand_Deny_Unrestricted ()
105 ConstructorInfo ci
= typeof (CompilerError
).GetConstructor (new Type
[0]);
106 Assert
.IsNotNull (ci
, "default .ctor()");
107 Assert
.IsNotNull (ci
.Invoke (null), "invoke");