summaryrefslogtreecommitdiff
path: root/Library/Artifacts/fc/fc5c48865328817cce5184b071c6dcff
blob: e03f21580a0a0df4961c3f35b674438820e1f35b (plain)
ofshex dumpascii
0000 00 00 0f 81 00 00 3a 30 00 00 00 15 00 00 10 00 00 00 00 00 32 30 31 39 2e 33 2e 36 66 31 00 fe ......:0............2019.3.6f1..
0020 ff ff ff 01 02 00 00 00 0b 04 00 00 00 ff ff 66 9a 86 21 eb 14 35 98 39 dd 34 1d 51 0e c1 f3 42 ...............f..!..5.9.4.Q...B
0040 00 00 00 ed 00 00 00 02 00 00 00 00 00 00 00 37 00 00 80 ff ff ff ff 00 00 00 00 00 80 00 00 00 ...............7................
0060 00 00 00 00 00 00 00 01 00 01 00 a6 03 00 80 b2 01 00 80 04 00 00 00 01 00 00 00 01 00 00 00 00 ................................
0080 00 00 00 00 00 00 00 01 00 01 00 0d 00 00 00 45 04 00 80 0c 00 00 00 02 00 00 00 01 00 00 00 00 ...............E................
00a0 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 03 00 00 00 01 00 80 00 00 ...............#................
00c0 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 04 00 00 00 01 00 80 00 00 ...............,................
00e0 00 00 00 00 00 00 00 01 00 01 00 35 00 00 00 61 04 00 80 0c 00 00 00 05 00 00 00 01 00 00 00 00 ...........5...a................
0100 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 06 00 00 00 01 00 80 00 00 ...............#................
0120 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 07 00 00 00 01 00 80 00 00 ...............,................
0140 00 00 00 00 00 00 00 01 00 01 00 86 02 00 80 72 04 00 80 0c 00 00 00 08 00 00 00 01 00 00 00 00 ...............r................
0160 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 09 00 00 00 01 00 80 00 00 ...............#................
0180 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 0a 00 00 00 01 00 80 00 00 ...............,................
01a0 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 ab 01 00 80 ff ff ff ff 0b 00 00 00 01 80 08 00 00 ...........H....................
01c0 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 0c 00 00 00 01 40 08 00 00 ...........1...1............@...
01e0 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 0d 00 00 00 01 00 08 00 00 ................................
0200 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 0e 00 00 00 01 00 08 00 00 ...........Q...j................
0220 00 00 00 00 00 00 00 01 00 01 00 f1 00 00 80 4a 00 00 00 ff ff ff ff 0f 00 00 00 00 c0 00 00 00 ...............J................
0240 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 10 00 00 00 00 80 00 00 00 ...........1...1................
0260 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 11 00 00 00 00 00 00 00 00 ................................
0280 00 00 00 00 00 00 00 01 00 03 00 1f 02 00 80 6a 00 00 80 ff ff ff ff 12 00 00 00 00 80 00 00 00 ...............j................
02a0 00 00 00 00 00 00 00 01 00 04 00 5c 00 00 00 9b 00 00 80 ff ff ff ff 13 00 00 00 00 80 00 00 00 ...........\....................
02c0 00 00 00 00 00 00 00 01 00 05 00 48 03 00 80 72 00 00 00 ff ff ff ff 14 00 00 00 00 80 00 00 00 ...........H...r................
02e0 00 00 00 00 00 00 00 01 00 06 01 31 00 00 80 31 00 00 80 ff ff ff ff 15 00 00 00 01 40 00 00 00 ...........1...1............@...
0300 00 00 00 00 00 00 00 01 00 07 00 de 00 00 80 1b 03 00 80 04 00 00 00 16 00 00 00 01 00 00 00 00 ................................
0320 00 00 00 00 00 00 00 01 00 07 00 51 00 00 80 6a 00 00 80 01 00 00 00 17 00 00 00 01 00 00 00 00 ...........Q...j................
0340 00 00 00 00 00 00 00 01 00 05 00 48 03 00 80 77 00 00 00 ff ff ff ff 18 00 00 00 00 80 00 00 00 ...........H...w................
0360 00 00 00 00 00 00 00 01 00 06 01 31 00 00 80 31 00 00 80 ff ff ff ff 19 00 00 00 01 40 00 00 00 ...........1...1............@...
0380 00 00 00 00 00 00 00 01 00 07 00 de 00 00 80 1b 03 00 80 04 00 00 00 1a 00 00 00 01 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 01 00 07 00 51 00 00 80 6a 00 00 80 01 00 00 00 1b 00 00 00 01 00 00 00 00 ...........Q...j................
03c0 00 00 00 00 00 00 00 01 00 05 00 48 03 00 80 80 00 00 00 ff ff ff ff 1c 00 00 00 00 80 00 00 00 ...........H....................
03e0 00 00 00 00 00 00 00 01 00 06 01 31 00 00 80 31 00 00 80 ff ff ff ff 1d 00 00 00 01 40 00 00 00 ...........1...1............@...
0400 00 00 00 00 00 00 00 01 00 07 00 de 00 00 80 1b 03 00 80 04 00 00 00 1e 00 00 00 01 00 00 00 00 ................................
0420 00 00 00 00 00 00 00 01 00 07 00 51 00 00 80 6a 00 00 80 01 00 00 00 1f 00 00 00 01 00 00 00 00 ...........Q...j................
0440 00 00 00 00 00 00 00 01 00 04 00 79 02 00 80 0a 03 00 80 0c 00 00 00 20 00 00 00 00 00 00 00 00 ...........y....................
0460 00 00 00 00 00 00 00 01 00 05 00 de 00 00 80 23 00 00 00 04 00 00 00 21 00 00 00 01 00 80 00 00 ...............#.......!........
0480 00 00 00 00 00 00 00 01 00 05 00 2e 03 00 80 2c 00 00 00 08 00 00 00 22 00 00 00 01 00 80 00 00 ...............,......."........
04a0 00 00 00 00 00 00 00 01 00 01 00 11 03 00 80 85 00 00 00 ff ff ff ff 23 00 00 00 01 40 08 00 00 .......................#....@...
04c0 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 24 00 00 00 01 00 08 00 00 ...........1...1.......$........
04e0 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 25 00 00 00 01 00 08 00 00 .......................%........
0500 00 00 00 00 00 00 00 01 00 03 00 2e 03 00 80 6a 00 00 80 08 00 00 00 26 00 00 00 01 00 08 00 00 ...............j.......&........
0520 00 00 00 00 00 00 00 01 00 01 00 d5 03 00 80 93 00 00 00 ff ff ff ff 27 00 00 00 00 80 00 00 00 .......................'........
0540 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 28 00 00 00 00 c0 00 00 00 ...........1...1.......(........
0560 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 29 00 00 00 00 00 00 00 00 .......................)........
0580 00 00 00 00 00 00 00 01 00 03 00 1f 02 00 80 6a 00 00 80 ff ff ff ff 2a 00 00 00 00 80 00 00 00 ...............j.......*........
05a0 00 00 00 00 00 00 00 01 00 04 00 48 03 00 80 9b 00 00 80 ff ff ff ff 2b 00 00 00 00 80 00 00 00 ...........H...........+........
05c0 00 00 00 00 00 00 00 01 00 05 01 31 00 00 80 31 00 00 80 ff ff ff ff 2c 00 00 00 01 40 00 00 00 ...........1...1.......,....@...
05e0 00 00 00 00 00 00 00 01 00 06 00 de 00 00 80 1b 03 00 80 04 00 00 00 2d 00 00 00 01 00 00 00 00 .......................-........
0600 00 00 00 00 00 00 00 01 00 06 00 51 00 00 80 6a 00 00 80 01 00 00 00 2e 00 00 00 01 00 00 00 00 ...........Q...j................
0620 00 00 00 00 00 00 00 01 00 04 00 79 02 00 80 0a 03 00 80 0c 00 00 00 2f 00 00 00 00 00 00 00 00 ...........y.........../........
0640 00 00 00 00 00 00 00 01 00 05 00 de 00 00 80 23 00 00 00 04 00 00 00 30 00 00 00 01 00 80 00 00 ...............#.......0........
0660 00 00 00 00 00 00 00 01 00 05 00 2e 03 00 80 2c 00 00 00 08 00 00 00 31 00 00 00 01 00 80 00 00 ...............,.......1........
0680 00 00 00 00 00 00 00 01 00 01 00 20 03 00 80 a7 00 00 00 02 00 00 00 32 00 00 00 00 40 00 00 00 .......................2....@...
06a0 00 00 00 00 00 00 00 01 00 01 00 be 02 00 80 b6 00 00 00 0c 00 00 00 33 00 00 00 00 40 00 00 00 .......................3....@...
06c0 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 34 00 00 00 01 00 80 00 00 ...............#.......4........
06e0 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 35 00 00 00 01 00 80 00 00 ...............,.......5........
0700 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 bb 00 00 00 ff ff ff ff 36 00 00 00 01 80 00 00 00 ...........H...........6........
0720 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 37 00 00 00 01 40 00 00 00 ...........1...1.......7....@...
0740 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 38 00 00 00 01 00 00 00 00 .......................8........
0760 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 39 00 00 00 01 00 00 00 00 ...........Q...j.......9........
0780 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 c6 00 00 00 ff ff ff ff 3a 00 00 00 01 80 00 00 00 ...........H...........:........
07a0 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 3b 00 00 00 01 40 00 00 00 ...........1...1.......;....@...
07c0 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 3c 00 00 00 01 00 00 00 00 .......................<........
07e0 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 3d 00 00 00 01 00 00 00 00 ...........Q...j.......=........
0800 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 d8 00 00 00 ff ff ff ff 3e 00 00 00 01 80 00 00 00 ...........H...........>........
0820 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 3f 00 00 00 01 40 00 00 00 ...........1...1.......?....@...
0840 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 40 00 00 00 01 00 00 00 00 .......................@........
0860 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 41 00 00 00 01 00 00 00 00 ...........Q...j.......A........
0880 00 00 00 00 00 00 00 4d 6f 6e 6f 49 6d 70 6f 72 74 65 72 00 50 50 74 72 3c 45 64 69 74 6f 72 45 .......MonoImporter.PPtr<EditorE
08a0 78 74 65 6e 73 69 6f 6e 3e 00 6d 5f 46 69 6c 65 49 44 00 6d 5f 50 61 74 68 49 44 00 50 50 74 72 xtension>.m_FileID.m_PathID.PPtr
08c0 3c 50 72 65 66 61 62 49 6e 73 74 61 6e 63 65 3e 00 6d 5f 45 78 74 65 72 6e 61 6c 4f 62 6a 65 63 <PrefabInstance>.m_ExternalObjec
08e0 74 73 00 53 6f 75 72 63 65 41 73 73 65 74 49 64 65 6e 74 69 66 69 65 72 00 74 79 70 65 00 61 73 ts.SourceAssetIdentifier.type.as
0900 73 65 6d 62 6c 79 00 6e 61 6d 65 00 6d 5f 55 73 65 64 46 69 6c 65 49 44 73 00 6d 5f 44 65 66 61 sembly.name.m_UsedFileIDs.m_Defa
0920 75 6c 74 52 65 66 65 72 65 6e 63 65 73 00 65 78 65 63 75 74 69 6f 6e 4f 72 64 65 72 00 69 63 6f ultReferences.executionOrder.ico
0940 6e 00 6d 5f 55 73 65 72 44 61 74 61 00 6d 5f 41 73 73 65 74 42 75 6e 64 6c 65 4e 61 6d 65 00 6d n.m_UserData.m_AssetBundleName.m
0960 5f 41 73 73 65 74 42 75 6e 64 6c 65 56 61 72 69 61 6e 74 00 00 00 00 00 73 00 00 00 00 ff ff a3 _AssetBundleVariant.....s.......
0980 47 f1 d7 dc 8f 5a 35 36 a0 3a 21 40 69 c1 4a 2a 00 00 00 81 00 00 00 05 00 00 00 15 01 00 80 37 G....Z56.:!@i.J*...............7
09a0 00 00 80 ff ff ff ff 00 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 01 00 01 00 a6 03 00 80 b2 ................................
09c0 01 00 80 04 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 00 00 00 00 45 ...............................E
09e0 04 00 80 0c 00 00 00 02 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 ................................
0a00 00 00 00 04 00 00 00 03 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f ................................
0a20 00 00 00 08 00 00 00 04 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 28 00 00 00 61 ...........................(...a
0a40 04 00 80 0c 00 00 00 05 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 ................................
0a60 00 00 00 04 00 00 00 06 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f ................................
0a80 00 00 00 08 00 00 00 07 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 86 02 00 80 72 ...............................r
0aa0 04 00 80 0c 00 00 00 08 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 ................................
0ac0 00 00 00 04 00 00 00 09 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f ................................
0ae0 00 00 00 08 00 00 00 0a 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 ab ...........................H....
0b00 01 00 80 ff ff ff ff 0b 00 00 00 01 80 08 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 ...........................1...1
0b20 00 00 80 ff ff ff ff 0c 00 00 00 01 40 08 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b ............@...................
0b40 03 00 80 04 00 00 00 0d 00 00 00 01 00 08 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a ...........................Q...j
0b60 00 00 80 01 00 00 00 0e 00 00 00 01 00 08 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 ea ...........................H....
0b80 01 00 80 ff ff ff ff 0f 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 ...........................1...1
0ba0 00 00 80 ff ff ff ff 10 00 00 00 01 40 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b ............@...................
0bc0 03 00 80 04 00 00 00 11 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a ...........................Q...j
0be0 00 00 80 01 00 00 00 12 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 f1 00 00 80 3d ...............................=
0c00 00 00 00 ff ff ff ff 13 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 ...........................1...1
0c20 00 00 80 ff ff ff ff 14 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b ................................
0c40 03 00 80 04 00 00 00 15 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 1f 02 00 80 6a ...............................j
0c60 00 00 80 ff ff ff ff 16 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 04 00 48 03 00 80 9b ...........................H....
0c80 00 00 80 ff ff ff ff 17 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 05 01 31 00 00 80 31 ...........................1...1
0ca0 00 00 80 ff ff ff ff 18 00 00 00 01 40 00 00 00 00 00 00 00 00 00 00 01 00 06 00 de 00 00 80 1b ............@...................
0cc0 03 00 80 04 00 00 00 19 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 06 00 51 00 00 80 6a ...........................Q...j
0ce0 00 00 80 01 00 00 00 1a 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 04 00 79 02 00 80 0a ...........................y....
0d00 03 00 80 0c 00 00 00 1b 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 05 00 de 00 00 80 16 ................................
0d20 00 00 00 04 00 00 00 1c 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 05 00 2e 03 00 80 1f ................................
0d40 00 00 00 08 00 00 00 1d 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 79 02 00 80 51 ...........................y...Q
0d60 00 00 00 0c 00 00 00 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 ................................
0d80 00 00 00 04 00 00 00 1f 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f ................................
0da0 00 00 00 08 00 00 00 20 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 de 00 00 80 58 ...............................X
0dc0 00 00 00 04 00 00 00 21 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 69 .......!...................H...i
0de0 00 00 00 ff ff ff ff 22 00 00 00 10 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 ......."...................1...1
0e00 00 00 80 ff ff ff ff 23 00 00 00 11 40 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b .......#....@...................
0e20 03 00 80 04 00 00 00 24 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a .......$...................Q...j
0e40 00 00 80 01 00 00 00 25 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 75 .......%...................H...u
0e60 00 00 00 ff ff ff ff 26 00 00 00 10 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 .......&...................1...1
0e80 00 00 80 ff ff ff ff 27 00 00 00 11 40 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b .......'....@...................
0ea0 03 00 80 04 00 00 00 28 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a .......(...................Q...j
0ec0 00 00 80 01 00 00 00 29 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 50 50 74 72 3c 45 64 69 74 .......)...............PPtr<Edit
0ee0 6f 72 45 78 74 65 6e 73 69 6f 6e 3e 00 6d 5f 46 69 6c 65 49 44 00 6d 5f 50 61 74 68 49 44 00 50 orExtension>.m_FileID.m_PathID.P
0f00 50 74 72 3c 50 72 65 66 61 62 49 6e 73 74 61 6e 63 65 3e 00 6d 5f 44 65 66 61 75 6c 74 52 65 66 Ptr<PrefabInstance>.m_DefaultRef
0f20 65 72 65 6e 63 65 73 00 6d 5f 49 63 6f 6e 00 6d 5f 45 78 65 63 75 74 69 6f 6e 4f 72 64 65 72 00 erences.m_Icon.m_ExecutionOrder.
0f40 6d 5f 43 6c 61 73 73 4e 61 6d 65 00 6d 5f 4e 61 6d 65 73 70 61 63 65 00 00 00 00 00 02 00 00 00 m_ClassName.m_Namespace.........
0f60 03 00 00 00 00 00 00 00 00 00 00 00 5c 00 00 00 00 00 00 00 e0 79 af 00 00 00 00 00 60 00 00 00 ............\........y......`...
0f80 d0 29 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .)..............................
0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 e0 79 af 00 00 00 00 00 00 00 00 00 .....................y..........
1040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1080 00 00 00 00 00 00 00 00 19 00 00 00 54 65 78 74 45 64 69 74 6f 72 42 61 63 6b 73 70 61 63 65 44 ............TextEditorBackspaceD
10a0 65 6c 65 74 65 00 00 00 4b 29 00 00 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 43 6f 6c 6c 65 63 74 elete...K)..using.System.Collect
10c0 69 6f 6e 73 3b 0a 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 43 6f 6c 6c 65 63 74 69 6f 6e 73 2e 47 ions;.using.System.Collections.G
10e0 65 6e 65 72 69 63 3b 0a 75 73 69 6e 67 20 4e 55 6e 69 74 2e 46 72 61 6d 65 77 6f 72 6b 3b 0a 75 eneric;.using.NUnit.Framework;.u
1100 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 3b 0a 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 sing.UnityEngine;.using.UnityEng
1120 69 6e 65 2e 54 65 73 74 54 6f 6f 6c 73 3b 0a 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 20 54 65 78 ine.TestTools;..public.class.Tex
1140 74 45 64 69 74 6f 72 42 61 63 6b 73 70 61 63 65 44 65 6c 65 74 65 0a 7b 0a 20 20 20 20 70 72 69 tEditorBackspaceDelete.{.....pri
1160 76 61 74 65 20 63 6f 6e 73 74 20 73 74 72 69 6e 67 20 6b 46 61 69 6c 65 64 54 6f 52 65 6d 6f 76 vate.const.string.kFailedToRemov
1180 65 43 68 61 72 61 63 74 65 72 4d 65 73 73 61 67 65 20 3d 20 22 42 61 63 6b 73 70 61 63 65 20 6f eCharacterMessage.=."Backspace.o
11a0 72 20 44 65 6c 65 74 65 20 46 61 69 6c 65 64 20 54 6f 20 52 65 6d 6f 76 65 20 54 68 65 20 45 78 r.Delete.Failed.To.Remove.The.Ex
11c0 70 65 63 74 65 64 20 43 68 61 72 61 63 74 65 72 22 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 63 pected.Character";.....private.c
11e0 6f 6e 73 74 20 73 74 72 69 6e 67 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 43 75 72 73 6f onst.string.kFailedToChangeCurso
1200 72 20 3d 20 22 42 61 63 6b 73 70 61 63 65 20 6f 72 20 44 65 6c 65 74 65 20 46 61 69 6c 65 64 20 r.=."Backspace.or.Delete.Failed.
1220 54 6f 20 4d 6f 76 65 20 54 68 65 20 43 75 72 73 6f 72 20 54 6f 20 54 68 65 20 45 78 70 65 63 74 To.Move.The.Cursor.To.The.Expect
1240 65 64 20 49 6e 64 65 78 22 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 63 6f 6e 73 74 20 73 74 72 ed.Index";.....private.const.str
1260 69 6e 67 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 53 65 6c 65 63 74 20 3d 20 22 42 61 63 ing.kFailedToChangeSelect.=."Bac
1280 6b 73 70 61 63 65 20 6f 72 20 44 65 6c 65 74 65 20 46 61 69 6c 65 64 20 54 6f 20 4d 6f 76 65 20 kspace.or.Delete.Failed.To.Move.
12a0 54 68 65 20 53 65 6c 65 63 74 69 6f 6e 20 49 6e 64 65 78 20 54 6f 20 54 68 65 20 45 78 70 65 63 The.Selection.Index.To.The.Expec
12c0 74 65 64 20 49 6e 64 65 78 22 3b 0a 0a 20 20 20 20 5b 54 65 73 74 5d 0a 20 20 20 20 70 75 62 6c ted.Index";......[Test].....publ
12e0 69 63 20 76 6f 69 64 20 54 65 78 74 45 64 69 74 6f 72 57 69 74 68 55 54 46 31 36 5f 4d 69 64 64 ic.void.TextEditorWithUTF16_Midd
1300 6c 65 43 75 72 73 6f 72 4f 6e 42 61 63 6b 73 70 61 63 65 5f 52 65 6d 6f 76 65 73 43 68 61 72 61 leCursorOnBackspace_RemovesChara
1320 63 74 65 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 76 61 72 20 74 65 78 74 42 6f 78 cter().....{.........var.textBox
1340 20 3d 20 6e 65 77 20 54 65 78 74 45 64 69 74 6f 72 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 .=.new.TextEditor().........{...
1360 20 20 20 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 22 4d 69 6b 65 44 65 52 6f 79 22 2c 0a 20 20 ..........text.=."MikeDeRoy",...
1380 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 49 6e 64 65 78 20 3d 20 34 2c 0a 20 20 20 20 20 ..........cursorIndex.=.4,......
13a0 20 20 20 20 20 20 20 73 65 6c 65 63 74 49 6e 64 65 78 20 3d 20 34 2c 0a 20 20 20 20 20 20 20 20 .......selectIndex.=.4,.........
13c0 7d 3b 0a 0a 20 20 20 20 20 20 20 20 74 65 78 74 42 6f 78 2e 42 61 63 6b 73 70 61 63 65 28 29 3b };..........textBox.Backspace();
13e0 0a 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 22 4d 69 6b 44 65 ..........Assert.AreEqual("MikDe
1400 52 6f 79 22 2c 20 74 65 78 74 42 6f 78 2e 74 65 78 74 2c 20 6b 46 61 69 6c 65 64 54 6f 52 65 6d Roy",.textBox.text,.kFailedToRem
1420 6f 76 65 43 68 61 72 61 63 74 65 72 4d 65 73 73 61 67 65 29 3b 0a 20 20 20 20 20 20 20 20 41 73 oveCharacterMessage);.........As
1440 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 33 2c 20 74 65 78 74 42 6f 78 2e 63 75 72 73 6f 72 49 sert.AreEqual(3,.textBox.cursorI
1460 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 43 75 72 73 6f 72 29 3b 0a 20 20 ndex,.kFailedToChangeCursor);...
1480 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 33 2c 20 74 65 78 74 42 6f 78 ......Assert.AreEqual(3,.textBox
14a0 2e 73 65 6c 65 63 74 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 53 65 6c .selectIndex,.kFailedToChangeSel
14c0 65 63 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 54 65 73 74 5d 0a 20 20 20 20 70 75 62 6c ect);.....}......[Test].....publ
14e0 69 63 20 76 6f 69 64 20 54 65 78 74 45 64 69 74 6f 72 57 69 74 68 55 54 46 31 36 5f 4d 69 64 64 ic.void.TextEditorWithUTF16_Midd
1500 6c 65 43 75 72 73 6f 72 4f 6e 44 65 6c 65 74 65 5f 52 65 6d 6f 76 65 73 43 68 61 72 61 63 74 65 leCursorOnDelete_RemovesCharacte
1520 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 76 61 72 20 74 65 78 74 42 6f 78 20 3d 20 r().....{.........var.textBox.=.
1540 6e 65 77 20 54 65 78 74 45 64 69 74 6f 72 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 new.TextEditor().........{......
1560 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 22 4d 69 6b 65 44 65 52 6f 79 22 2c 0a 20 20 20 20 20 .......text.=."MikeDeRoy",......
1580 20 20 20 20 20 20 20 63 75 72 73 6f 72 49 6e 64 65 78 20 3d 20 33 2c 0a 20 20 20 20 20 20 20 20 .......cursorIndex.=.3,.........
15a0 20 20 20 20 73 65 6c 65 63 74 49 6e 64 65 78 20 3d 20 33 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a ....selectIndex.=.3,.........};.
15c0 0a 20 20 20 20 20 20 20 20 74 65 78 74 42 6f 78 2e 44 65 6c 65 74 65 28 29 3b 0a 0a 20 20 20 20 .........textBox.Delete();......
15e0 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 22 4d 69 6b 44 65 52 6f 79 22 2c 20 ....Assert.AreEqual("MikDeRoy",.
1600 74 65 78 74 42 6f 78 2e 74 65 78 74 2c 20 6b 46 61 69 6c 65 64 54 6f 52 65 6d 6f 76 65 43 68 61 textBox.text,.kFailedToRemoveCha
1620 72 61 63 74 65 72 4d 65 73 73 61 67 65 29 3b 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 racterMessage);.........Assert.A
1640 72 65 45 71 75 61 6c 28 33 2c 20 74 65 78 74 42 6f 78 2e 63 75 72 73 6f 72 49 6e 64 65 78 2c 20 reEqual(3,.textBox.cursorIndex,.
1660 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 43 75 72 73 6f 72 29 3b 0a 20 20 20 20 20 20 20 20 kFailedToChangeCursor);.........
1680 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 33 2c 20 74 65 78 74 42 6f 78 2e 73 65 6c 65 63 Assert.AreEqual(3,.textBox.selec
16a0 74 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 53 65 6c 65 63 74 29 3b 0a tIndex,.kFailedToChangeSelect);.
16c0 20 20 20 20 7d 0a 0a 20 20 20 20 5b 54 65 73 74 5d 0a 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 ....}......[Test].....public.voi
16e0 64 20 54 65 78 74 45 64 69 74 6f 72 57 69 74 68 55 54 46 31 36 5f 4d 69 64 64 6c 65 43 75 72 73 d.TextEditorWithUTF16_MiddleCurs
1700 6f 72 4f 6e 42 61 63 6b 73 70 61 63 65 41 6e 64 4c 65 66 74 53 75 72 72 6f 67 61 74 65 5f 52 65 orOnBackspaceAndLeftSurrogate_Re
1720 6d 6f 76 65 73 42 6f 74 68 53 75 72 72 6f 67 61 74 65 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 movesBothSurrogates().....{.....
1740 20 20 20 20 76 61 72 20 74 65 78 74 42 6f 78 20 3d 20 6e 65 77 20 54 65 78 74 45 64 69 74 6f 72 ....var.textBox.=.new.TextEditor
1760 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 ().........{.............text.=.
1780 22 4d 69 6b 65 f0 9f 97 98 44 65 52 6f 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 "Mike....DeRoy",.............cur
17a0 73 6f 72 49 6e 64 65 78 20 3d 20 35 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 sorIndex.=.5,.............select
17c0 49 6e 64 65 78 20 3d 20 35 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a 0a 20 20 20 20 20 20 20 20 74 Index.=.5,.........};..........t
17e0 65 78 74 42 6f 78 2e 42 61 63 6b 73 70 61 63 65 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 41 73 73 extBox.Backspace();..........Ass
1800 65 72 74 2e 41 72 65 45 71 75 61 6c 28 22 4d 69 6b 65 44 65 52 6f 79 22 2c 20 74 65 78 74 42 6f ert.AreEqual("MikeDeRoy",.textBo
1820 78 2e 74 65 78 74 2c 20 6b 46 61 69 6c 65 64 54 6f 52 65 6d 6f 76 65 43 68 61 72 61 63 74 65 72 x.text,.kFailedToRemoveCharacter
1840 4d 65 73 73 61 67 65 29 3b 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 Message);.........Assert.AreEqua
1860 6c 28 34 2c 20 74 65 78 74 42 6f 78 2e 63 75 72 73 6f 72 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 l(4,.textBox.cursorIndex,.kFaile
1880 64 54 6f 43 68 61 6e 67 65 43 75 72 73 6f 72 29 3b 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 dToChangeCursor);.........Assert
18a0 2e 41 72 65 45 71 75 61 6c 28 34 2c 20 74 65 78 74 42 6f 78 2e 73 65 6c 65 63 74 49 6e 64 65 78 .AreEqual(4,.textBox.selectIndex
18c0 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 53 65 6c 65 63 74 29 3b 0a 20 20 20 20 7d 0a ,.kFailedToChangeSelect);.....}.
18e0 0a 20 20 20 20 5b 54 65 73 74 5d 0a 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 54 65 78 74 .....[Test].....public.void.Text
1900 45 64 69 74 6f 72 57 69 74 68 55 54 46 31 36 5f 4d 69 64 64 6c 65 43 75 72 73 6f 72 4f 6e 44 65 EditorWithUTF16_MiddleCursorOnDe
1920 6c 65 74 65 41 6e 64 4c 65 66 74 53 75 72 72 6f 67 61 74 65 5f 52 65 6d 6f 76 65 73 42 6f 74 68 leteAndLeftSurrogate_RemovesBoth
1940 53 75 72 72 6f 67 61 74 65 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 76 61 72 20 74 Surrogates().....{.........var.t
1960 65 78 74 42 6f 78 20 3d 20 6e 65 77 20 54 65 78 74 45 64 69 74 6f 72 28 29 0a 20 20 20 20 20 20 extBox.=.new.TextEditor().......
1980 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 22 4d 69 6b 65 f0 9f 97 98 ..{.............text.=."Mike....
19a0 44 65 52 6f 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 49 6e 64 65 78 20 DeRoy",.............cursorIndex.
19c0 3d 20 34 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 49 6e 64 65 78 20 3d 20 34 =.4,.............selectIndex.=.4
19e0 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a 0a 20 20 20 20 20 20 20 20 74 65 78 74 42 6f 78 2e 44 65 ,.........};..........textBox.De
1a00 6c 65 74 65 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c lete();..........Assert.AreEqual
1a20 28 22 4d 69 6b 65 44 65 52 6f 79 22 2c 20 74 65 78 74 42 6f 78 2e 74 65 78 74 2c 20 6b 46 61 69 ("MikeDeRoy",.textBox.text,.kFai
1a40 6c 65 64 54 6f 52 65 6d 6f 76 65 43 68 61 72 61 63 74 65 72 4d 65 73 73 61 67 65 29 3b 0a 20 20 ledToRemoveCharacterMessage);...
1a60 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 34 2c 20 74 65 78 74 42 6f 78 ......Assert.AreEqual(4,.textBox
1a80 2e 63 75 72 73 6f 72 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 43 75 72 .cursorIndex,.kFailedToChangeCur
1aa0 73 6f 72 29 3b 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 34 2c sor);.........Assert.AreEqual(4,
1ac0 20 74 65 78 74 42 6f 78 2e 73 65 6c 65 63 74 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 .textBox.selectIndex,.kFailedToC
1ae0 68 61 6e 67 65 53 65 6c 65 63 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 54 65 73 74 5d 0a hangeSelect);.....}......[Test].
1b00 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 54 65 78 74 45 64 69 74 6f 72 57 69 74 68 55 54 ....public.void.TextEditorWithUT
1b20 46 31 36 5f 4d 69 64 64 6c 65 43 75 72 73 6f 72 4f 6e 42 61 63 6b 73 70 61 63 65 41 6e 64 52 69 F16_MiddleCursorOnBackspaceAndRi
1b40 67 68 74 53 75 72 72 6f 67 61 74 65 5f 52 65 6d 6f 76 65 73 42 6f 74 68 53 75 72 72 6f 67 61 74 ghtSurrogate_RemovesBothSurrogat
1b60 65 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 76 61 72 20 74 65 78 74 42 6f 78 20 3d es().....{.........var.textBox.=
1b80 20 6e 65 77 20 54 65 78 74 45 64 69 74 6f 72 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 .new.TextEditor().........{.....
1ba0 20 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 22 4d 69 6b 65 f0 9f 97 98 44 65 52 6f 79 22 2c 0a ........text.=."Mike....DeRoy",.
1bc0 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 49 6e 64 65 78 20 3d 20 36 2c 0a 20 20 20 ............cursorIndex.=.6,....
1be0 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 49 6e 64 65 78 20 3d 20 36 2c 0a 20 20 20 20 20 20 .........selectIndex.=.6,.......
1c00 20 20 7d 3b 0a 0a 20 20 20 20 20 20 20 20 74 65 78 74 42 6f 78 2e 42 61 63 6b 73 70 61 63 65 28 ..};..........textBox.Backspace(
1c20 29 3b 0a 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 22 4d 69 6b );..........Assert.AreEqual("Mik
1c40 65 44 65 52 6f 79 22 2c 20 74 65 78 74 42 6f 78 2e 74 65 78 74 2c 20 6b 46 61 69 6c 65 64 54 6f eDeRoy",.textBox.text,.kFailedTo
1c60 52 65 6d 6f 76 65 43 68 61 72 61 63 74 65 72 4d 65 73 73 61 67 65 29 3b 0a 20 20 20 20 20 20 20 RemoveCharacterMessage);........
1c80 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 34 2c 20 74 65 78 74 42 6f 78 2e 63 75 72 73 .Assert.AreEqual(4,.textBox.curs
1ca0 6f 72 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 43 75 72 73 6f 72 29 3b orIndex,.kFailedToChangeCursor);
1cc0 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 34 2c 20 74 65 78 74 .........Assert.AreEqual(4,.text
1ce0 42 6f 78 2e 73 65 6c 65 63 74 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 Box.selectIndex,.kFailedToChange
1d00 53 65 6c 65 63 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 54 65 73 74 5d 0a 20 20 20 20 70 Select);.....}......[Test].....p
1d20 75 62 6c 69 63 20 76 6f 69 64 20 54 65 78 74 45 64 69 74 6f 72 57 69 74 68 55 54 46 31 36 5f 4c ublic.void.TextEditorWithUTF16_L
1d40 65 66 74 43 75 72 73 6f 72 4f 6e 42 61 63 6b 73 70 61 63 65 5f 44 6f 65 73 4e 6f 74 52 65 6d 6f eftCursorOnBackspace_DoesNotRemo
1d60 76 65 43 68 61 72 61 63 74 65 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 76 61 72 20 veCharacter().....{.........var.
1d80 74 65 78 74 42 6f 78 20 3d 20 6e 65 77 20 54 65 78 74 45 64 69 74 6f 72 28 29 0a 20 20 20 20 20 textBox.=.new.TextEditor()......
1da0 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 22 4d 69 6b 65 44 65 52 ...{.............text.=."MikeDeR
1dc0 6f 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 49 6e 64 65 78 20 3d 20 30 oy",.............cursorIndex.=.0
1de0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 49 6e 64 65 78 20 3d 20 30 2c 0a 20 ,.............selectIndex.=.0,..
1e00 20 20 20 20 20 20 20 7d 3b 0a 0a 20 20 20 20 20 20 20 20 74 65 78 74 42 6f 78 2e 42 61 63 6b 73 .......};..........textBox.Backs
1e20 70 61 63 65 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c pace();..........Assert.AreEqual
1e40 28 22 4d 69 6b 65 44 65 52 6f 79 22 2c 20 74 65 78 74 42 6f 78 2e 74 65 78 74 2c 20 6b 46 61 69 ("MikeDeRoy",.textBox.text,.kFai
1e60 6c 65 64 54 6f 52 65 6d 6f 76 65 43 68 61 72 61 63 74 65 72 4d 65 73 73 61 67 65 29 3b 0a 20 20 ledToRemoveCharacterMessage);...
1e80 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 30 2c 20 74 65 78 74 42 6f 78 ......Assert.AreEqual(0,.textBox
1ea0 2e 63 75 72 73 6f 72 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 43 75 72 .cursorIndex,.kFailedToChangeCur
1ec0 73 6f 72 29 3b 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 30 2c sor);.........Assert.AreEqual(0,
1ee0 20 74 65 78 74 42 6f 78 2e 73 65 6c 65 63 74 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 .textBox.selectIndex,.kFailedToC
1f00 68 61 6e 67 65 53 65 6c 65 63 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 54 65 73 74 5d 0a hangeSelect);.....}......[Test].
1f20 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 54 65 78 74 45 64 69 74 6f 72 57 69 74 68 55 54 ....public.void.TextEditorWithUT
1f40 46 31 36 5f 4c 65 66 74 43 75 72 73 6f 72 4f 6e 44 65 6c 65 74 65 5f 52 65 6d 6f 76 65 73 43 68 F16_LeftCursorOnDelete_RemovesCh
1f60 61 72 61 63 74 65 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 76 61 72 20 74 65 78 74 aracter().....{.........var.text
1f80 42 6f 78 20 3d 20 6e 65 77 20 54 65 78 74 45 64 69 74 6f 72 28 29 0a 20 20 20 20 20 20 20 20 7b Box.=.new.TextEditor().........{
1fa0 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 22 4d 69 6b 65 44 65 52 6f 79 22 2c .............text.=."MikeDeRoy",
1fc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 49 6e 64 65 78 20 3d 20 30 2c 0a 20 20 .............cursorIndex.=.0,...
1fe0 20 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 49 6e 64 65 78 20 3d 20 30 2c 0a 20 20 20 20 20 ..........selectIndex.=.0,......
2000 20 20 20 7d 3b 0a 0a 20 20 20 20 20 20 20 20 74 65 78 74 42 6f 78 2e 44 65 6c 65 74 65 28 29 3b ...};..........textBox.Delete();
2020 0a 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 22 69 6b 65 44 65 ..........Assert.AreEqual("ikeDe
2040 52 6f 79 22 2c 20 74 65 78 74 42 6f 78 2e 74 65 78 74 2c 20 6b 46 61 69 6c 65 64 54 6f 52 65 6d Roy",.textBox.text,.kFailedToRem
2060 6f 76 65 43 68 61 72 61 63 74 65 72 4d 65 73 73 61 67 65 29 3b 0a 20 20 20 20 20 20 20 20 41 73 oveCharacterMessage);.........As
2080 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 30 2c 20 74 65 78 74 42 6f 78 2e 63 75 72 73 6f 72 49 sert.AreEqual(0,.textBox.cursorI
20a0 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 43 75 72 73 6f 72 29 3b 0a 20 20 ndex,.kFailedToChangeCursor);...
20c0 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 30 2c 20 74 65 78 74 42 6f 78 ......Assert.AreEqual(0,.textBox
20e0 2e 73 65 6c 65 63 74 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 53 65 6c .selectIndex,.kFailedToChangeSel
2100 65 63 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 54 65 73 74 5d 0a 20 20 20 20 70 75 62 6c ect);.....}......[Test].....publ
2120 69 63 20 76 6f 69 64 20 54 65 78 74 45 64 69 74 6f 72 57 69 74 68 55 54 46 31 36 5f 4c 65 66 74 ic.void.TextEditorWithUTF16_Left
2140 43 75 72 73 6f 72 4f 6e 42 61 63 6b 73 70 61 63 65 41 6e 64 4c 65 66 74 53 75 72 72 6f 67 61 74 CursorOnBackspaceAndLeftSurrogat
2160 65 5f 52 65 6d 6f 76 65 73 42 6f 74 68 53 75 72 72 6f 67 61 74 65 73 28 29 0a 20 20 20 20 7b 0a e_RemovesBothSurrogates().....{.
2180 20 20 20 20 20 20 20 20 76 61 72 20 74 65 78 74 42 6f 78 20 3d 20 6e 65 77 20 54 65 78 74 45 64 ........var.textBox.=.new.TextEd
21a0 69 74 6f 72 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 65 78 itor().........{.............tex
21c0 74 20 3d 20 22 f0 9f 97 98 4d 69 6b 65 44 65 52 6f 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 t.=."....MikeDeRoy",............
21e0 20 63 75 72 73 6f 72 49 6e 64 65 78 20 3d 20 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 .cursorIndex.=.1,.............se
2200 6c 65 63 74 49 6e 64 65 78 20 3d 20 31 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a 0a 20 20 20 20 20 lectIndex.=.1,.........};.......
2220 20 20 20 74 65 78 74 42 6f 78 2e 42 61 63 6b 73 70 61 63 65 28 29 3b 0a 0a 20 20 20 20 20 20 20 ...textBox.Backspace();.........
2240 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 22 4d 69 6b 65 44 65 52 6f 79 22 2c 20 74 65 .Assert.AreEqual("MikeDeRoy",.te
2260 78 74 42 6f 78 2e 74 65 78 74 2c 20 6b 46 61 69 6c 65 64 54 6f 52 65 6d 6f 76 65 43 68 61 72 61 xtBox.text,.kFailedToRemoveChara
2280 63 74 65 72 4d 65 73 73 61 67 65 29 3b 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 cterMessage);.........Assert.Are
22a0 45 71 75 61 6c 28 30 2c 20 74 65 78 74 42 6f 78 2e 63 75 72 73 6f 72 49 6e 64 65 78 2c 20 6b 46 Equal(0,.textBox.cursorIndex,.kF
22c0 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 43 75 72 73 6f 72 29 3b 0a 20 20 20 20 20 20 20 20 41 73 ailedToChangeCursor);.........As
22e0 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 30 2c 20 74 65 78 74 42 6f 78 2e 73 65 6c 65 63 74 49 sert.AreEqual(0,.textBox.selectI
2300 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 53 65 6c 65 63 74 29 3b 0a 20 20 ndex,.kFailedToChangeSelect);...
2320 20 20 7d 0a 0a 20 20 20 20 5b 54 65 73 74 5d 0a 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 ..}......[Test].....public.void.
2340 54 65 78 74 45 64 69 74 6f 72 57 69 74 68 55 54 46 31 36 5f 4c 65 66 74 43 75 72 73 6f 72 4f 6e TextEditorWithUTF16_LeftCursorOn
2360 44 65 6c 65 74 65 41 6e 64 4c 65 66 74 53 75 72 72 6f 67 61 74 65 5f 52 65 6d 6f 76 65 73 42 6f DeleteAndLeftSurrogate_RemovesBo
2380 74 68 53 75 72 72 6f 67 61 74 65 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 76 61 72 thSurrogates().....{.........var
23a0 20 74 65 78 74 42 6f 78 20 3d 20 6e 65 77 20 54 65 78 74 45 64 69 74 6f 72 28 29 0a 20 20 20 20 .textBox.=.new.TextEditor().....
23c0 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 22 f0 9f 97 98 4d 69 ....{.............text.=."....Mi
23e0 6b 65 44 65 52 6f 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 49 6e 64 65 keDeRoy",.............cursorInde
2400 78 20 3d 20 30 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 49 6e 64 65 78 20 3d x.=.0,.............selectIndex.=
2420 20 30 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a 0a 20 20 20 20 20 20 20 20 74 65 78 74 42 6f 78 2e .0,.........};..........textBox.
2440 44 65 6c 65 74 65 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 Delete();..........Assert.AreEqu
2460 61 6c 28 22 4d 69 6b 65 44 65 52 6f 79 22 2c 20 74 65 78 74 42 6f 78 2e 74 65 78 74 2c 20 6b 46 al("MikeDeRoy",.textBox.text,.kF
2480 61 69 6c 65 64 54 6f 52 65 6d 6f 76 65 43 68 61 72 61 63 74 65 72 4d 65 73 73 61 67 65 29 3b 0a ailedToRemoveCharacterMessage);.
24a0 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 30 2c 20 74 65 78 74 42 ........Assert.AreEqual(0,.textB
24c0 6f 78 2e 63 75 72 73 6f 72 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 43 ox.cursorIndex,.kFailedToChangeC
24e0 75 72 73 6f 72 29 3b 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 ursor);.........Assert.AreEqual(
2500 30 2c 20 74 65 78 74 42 6f 78 2e 73 65 6c 65 63 74 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 0,.textBox.selectIndex,.kFailedT
2520 6f 43 68 61 6e 67 65 53 65 6c 65 63 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 54 65 73 74 oChangeSelect);.....}......[Test
2540 5d 0a 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 54 65 78 74 45 64 69 74 6f 72 57 69 74 68 ].....public.void.TextEditorWith
2560 55 54 46 31 36 5f 4c 65 66 74 43 75 72 73 6f 72 4f 6e 42 61 63 6b 73 70 61 63 65 41 6e 64 52 69 UTF16_LeftCursorOnBackspaceAndRi
2580 67 68 74 53 75 72 72 6f 67 61 74 65 5f 52 65 6d 6f 76 65 73 42 6f 74 68 53 75 72 72 6f 67 61 74 ghtSurrogate_RemovesBothSurrogat
25a0 65 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 76 61 72 20 74 65 78 74 42 6f 78 20 3d es().....{.........var.textBox.=
25c0 20 6e 65 77 20 54 65 78 74 45 64 69 74 6f 72 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 .new.TextEditor().........{.....
25e0 20 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 22 f0 9f 97 98 4d 69 6b 65 44 65 52 6f 79 22 2c 0a ........text.=."....MikeDeRoy",.
2600 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 49 6e 64 65 78 20 3d 20 32 2c 0a 20 20 20 ............cursorIndex.=.2,....
2620 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 49 6e 64 65 78 20 3d 20 32 2c 0a 20 20 20 20 20 20 .........selectIndex.=.2,.......
2640 20 20 7d 3b 0a 0a 20 20 20 20 20 20 20 20 74 65 78 74 42 6f 78 2e 42 61 63 6b 73 70 61 63 65 28 ..};..........textBox.Backspace(
2660 29 3b 0a 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 22 4d 69 6b );..........Assert.AreEqual("Mik
2680 65 44 65 52 6f 79 22 2c 20 74 65 78 74 42 6f 78 2e 74 65 78 74 2c 20 6b 46 61 69 6c 65 64 54 6f eDeRoy",.textBox.text,.kFailedTo
26a0 52 65 6d 6f 76 65 43 68 61 72 61 63 74 65 72 4d 65 73 73 61 67 65 29 3b 0a 20 20 20 20 20 20 20 RemoveCharacterMessage);........
26c0 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 30 2c 20 74 65 78 74 42 6f 78 2e 63 75 72 73 .Assert.AreEqual(0,.textBox.curs
26e0 6f 72 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 43 75 72 73 6f 72 29 3b orIndex,.kFailedToChangeCursor);
2700 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 30 2c 20 74 65 78 74 .........Assert.AreEqual(0,.text
2720 42 6f 78 2e 73 65 6c 65 63 74 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 Box.selectIndex,.kFailedToChange
2740 53 65 6c 65 63 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 54 65 73 74 5d 0a 20 20 20 20 70 Select);.....}......[Test].....p
2760 75 62 6c 69 63 20 76 6f 69 64 20 54 65 78 74 45 64 69 74 6f 72 57 69 74 68 55 54 46 31 36 5f 52 ublic.void.TextEditorWithUTF16_R
2780 69 67 68 74 43 75 72 73 6f 72 4f 6e 42 61 63 6b 73 70 61 63 65 5f 52 65 6d 6f 76 65 73 43 68 61 ightCursorOnBackspace_RemovesCha
27a0 72 61 63 74 65 72 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 76 61 72 20 74 65 78 74 racters().....{.........var.text
27c0 42 6f 78 20 3d 20 6e 65 77 20 54 65 78 74 45 64 69 74 6f 72 28 29 0a 20 20 20 20 20 20 20 20 7b Box.=.new.TextEditor().........{
27e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 22 4d 69 6b 65 44 65 52 6f 79 22 2c .............text.=."MikeDeRoy",
2800 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 49 6e 64 65 78 20 3d 20 39 2c 0a 20 20 .............cursorIndex.=.9,...
2820 20 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 49 6e 64 65 78 20 3d 20 39 2c 0a 20 20 20 20 20 ..........selectIndex.=.9,......
2840 20 20 20 7d 3b 0a 0a 20 20 20 20 20 20 20 20 74 65 78 74 42 6f 78 2e 42 61 63 6b 73 70 61 63 65 ...};..........textBox.Backspace
2860 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 22 4d 69 ();..........Assert.AreEqual("Mi
2880 6b 65 44 65 52 6f 22 2c 20 74 65 78 74 42 6f 78 2e 74 65 78 74 2c 20 6b 46 61 69 6c 65 64 54 6f keDeRo",.textBox.text,.kFailedTo
28a0 52 65 6d 6f 76 65 43 68 61 72 61 63 74 65 72 4d 65 73 73 61 67 65 29 3b 0a 20 20 20 20 20 20 20 RemoveCharacterMessage);........
28c0 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 38 2c 20 74 65 78 74 42 6f 78 2e 63 75 72 73 .Assert.AreEqual(8,.textBox.curs
28e0 6f 72 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 43 75 72 73 6f 72 29 3b orIndex,.kFailedToChangeCursor);
2900 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 38 2c 20 74 65 78 74 .........Assert.AreEqual(8,.text
2920 42 6f 78 2e 73 65 6c 65 63 74 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 Box.selectIndex,.kFailedToChange
2940 53 65 6c 65 63 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 54 65 73 74 5d 0a 20 20 20 20 70 Select);.....}......[Test].....p
2960 75 62 6c 69 63 20 76 6f 69 64 20 54 65 78 74 45 64 69 74 6f 72 57 69 74 68 55 54 46 31 36 5f 52 ublic.void.TextEditorWithUTF16_R
2980 69 67 68 74 43 75 72 73 6f 72 4f 6e 44 65 6c 65 74 65 5f 44 6f 65 73 4e 6f 74 52 65 6d 6f 76 65 ightCursorOnDelete_DoesNotRemove
29a0 43 68 61 72 61 63 74 65 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 76 61 72 20 74 65 Character().....{.........var.te
29c0 78 74 42 6f 78 20 3d 20 6e 65 77 20 54 65 78 74 45 64 69 74 6f 72 28 29 0a 20 20 20 20 20 20 20 xtBox.=.new.TextEditor()........
29e0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 22 4d 69 6b 65 44 65 52 6f 79 .{.............text.=."MikeDeRoy
2a00 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 49 6e 64 65 78 20 3d 20 39 2c 0a ",.............cursorIndex.=.9,.
2a20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 49 6e 64 65 78 20 3d 20 39 2c 0a 20 20 20 ............selectIndex.=.9,....
2a40 20 20 20 20 20 7d 3b 0a 0a 20 20 20 20 20 20 20 20 74 65 78 74 42 6f 78 2e 44 65 6c 65 74 65 28 .....};..........textBox.Delete(
2a60 29 3b 0a 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 22 4d 69 6b );..........Assert.AreEqual("Mik
2a80 65 44 65 52 6f 79 22 2c 20 74 65 78 74 42 6f 78 2e 74 65 78 74 2c 20 6b 46 61 69 6c 65 64 54 6f eDeRoy",.textBox.text,.kFailedTo
2aa0 52 65 6d 6f 76 65 43 68 61 72 61 63 74 65 72 4d 65 73 73 61 67 65 29 3b 0a 20 20 20 20 20 20 20 RemoveCharacterMessage);........
2ac0 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 39 2c 20 74 65 78 74 42 6f 78 2e 63 75 72 73 .Assert.AreEqual(9,.textBox.curs
2ae0 6f 72 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 43 75 72 73 6f 72 29 3b orIndex,.kFailedToChangeCursor);
2b00 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 39 2c 20 74 65 78 74 .........Assert.AreEqual(9,.text
2b20 42 6f 78 2e 73 65 6c 65 63 74 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 Box.selectIndex,.kFailedToChange
2b40 53 65 6c 65 63 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 54 65 73 74 5d 0a 20 20 20 20 70 Select);.....}......[Test].....p
2b60 75 62 6c 69 63 20 76 6f 69 64 20 54 65 78 74 45 64 69 74 6f 72 57 69 74 68 55 54 46 31 36 5f 52 ublic.void.TextEditorWithUTF16_R
2b80 69 67 68 74 43 75 72 73 6f 72 4f 6e 42 61 63 6b 73 70 61 63 65 41 6e 64 4c 65 66 74 53 75 72 72 ightCursorOnBackspaceAndLeftSurr
2ba0 6f 67 61 74 65 5f 52 65 6d 6f 76 65 73 42 6f 74 68 53 75 72 72 6f 67 61 74 65 73 28 29 0a 20 20 ogate_RemovesBothSurrogates()...
2bc0 20 20 7b 0a 20 20 20 20 20 20 20 20 76 61 72 20 74 65 78 74 42 6f 78 20 3d 20 6e 65 77 20 54 65 ..{.........var.textBox.=.new.Te
2be0 78 74 45 64 69 74 6f 72 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 xtEditor().........{............
2c00 20 74 65 78 74 20 3d 20 22 4d 69 6b 65 44 65 52 6f 79 f0 9f 97 98 22 2c 0a 20 20 20 20 20 20 20 .text.=."MikeDeRoy....",........
2c20 20 20 20 20 20 63 75 72 73 6f 72 49 6e 64 65 78 20 3d 20 31 30 2c 0a 20 20 20 20 20 20 20 20 20 .....cursorIndex.=.10,..........
2c40 20 20 20 73 65 6c 65 63 74 49 6e 64 65 78 20 3d 20 31 30 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a ...selectIndex.=.10,.........};.
2c60 0a 20 20 20 20 20 20 20 20 74 65 78 74 42 6f 78 2e 42 61 63 6b 73 70 61 63 65 28 29 3b 0a 0a 20 .........textBox.Backspace();...
2c80 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 22 4d 69 6b 65 44 65 52 6f .......Assert.AreEqual("MikeDeRo
2ca0 79 22 2c 20 74 65 78 74 42 6f 78 2e 74 65 78 74 2c 20 6b 46 61 69 6c 65 64 54 6f 52 65 6d 6f 76 y",.textBox.text,.kFailedToRemov
2cc0 65 43 68 61 72 61 63 74 65 72 4d 65 73 73 61 67 65 29 3b 0a 20 20 20 20 20 20 20 20 41 73 73 65 eCharacterMessage);.........Asse
2ce0 72 74 2e 41 72 65 45 71 75 61 6c 28 39 2c 20 74 65 78 74 42 6f 78 2e 63 75 72 73 6f 72 49 6e 64 rt.AreEqual(9,.textBox.cursorInd
2d00 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 43 75 72 73 6f 72 29 3b 0a 20 20 20 20 ex,.kFailedToChangeCursor);.....
2d20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 39 2c 20 74 65 78 74 42 6f 78 2e 73 ....Assert.AreEqual(9,.textBox.s
2d40 65 6c 65 63 74 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 53 65 6c 65 63 electIndex,.kFailedToChangeSelec
2d60 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 54 65 73 74 5d 0a 20 20 20 20 70 75 62 6c 69 63 t);.....}......[Test].....public
2d80 20 76 6f 69 64 20 54 65 78 74 45 64 69 74 6f 72 57 69 74 68 55 54 46 31 36 5f 52 69 67 68 74 43 .void.TextEditorWithUTF16_RightC
2da0 75 72 73 6f 72 4f 6e 44 65 6c 65 74 65 41 6e 64 4c 65 66 74 53 75 72 72 6f 67 61 74 65 5f 52 65 ursorOnDeleteAndLeftSurrogate_Re
2dc0 6d 6f 76 65 73 42 6f 74 68 53 75 72 72 6f 67 61 74 65 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 movesBothSurrogates().....{.....
2de0 20 20 20 20 76 61 72 20 74 65 78 74 42 6f 78 20 3d 20 6e 65 77 20 54 65 78 74 45 64 69 74 6f 72 ....var.textBox.=.new.TextEditor
2e00 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 ().........{.............text.=.
2e20 22 4d 69 6b 65 44 65 52 6f 79 f0 9f 97 98 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 "MikeDeRoy....",.............cur
2e40 73 6f 72 49 6e 64 65 78 20 3d 20 39 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 sorIndex.=.9,.............select
2e60 49 6e 64 65 78 20 3d 20 39 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a 0a 20 20 20 20 20 20 20 20 74 Index.=.9,.........};..........t
2e80 65 78 74 42 6f 78 2e 44 65 6c 65 74 65 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 extBox.Delete();..........Assert
2ea0 2e 41 72 65 45 71 75 61 6c 28 22 4d 69 6b 65 44 65 52 6f 79 22 2c 20 74 65 78 74 42 6f 78 2e 74 .AreEqual("MikeDeRoy",.textBox.t
2ec0 65 78 74 2c 20 6b 46 61 69 6c 65 64 54 6f 52 65 6d 6f 76 65 43 68 61 72 61 63 74 65 72 4d 65 73 ext,.kFailedToRemoveCharacterMes
2ee0 73 61 67 65 29 3b 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 39 sage);.........Assert.AreEqual(9
2f00 2c 20 74 65 78 74 42 6f 78 2e 63 75 72 73 6f 72 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f ,.textBox.cursorIndex,.kFailedTo
2f20 43 68 61 6e 67 65 43 75 72 73 6f 72 29 3b 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 ChangeCursor);.........Assert.Ar
2f40 65 45 71 75 61 6c 28 39 2c 20 74 65 78 74 42 6f 78 2e 73 65 6c 65 63 74 49 6e 64 65 78 2c 20 6b eEqual(9,.textBox.selectIndex,.k
2f60 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 53 65 6c 65 63 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 FailedToChangeSelect);.....}....
2f80 20 20 5b 54 65 73 74 5d 0a 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 54 65 78 74 45 64 69 ..[Test].....public.void.TextEdi
2fa0 74 6f 72 57 69 74 68 55 54 46 31 36 5f 52 69 67 68 74 43 75 72 73 6f 72 4f 6e 42 61 63 6b 73 70 torWithUTF16_RightCursorOnBacksp
2fc0 61 63 65 41 6e 64 52 69 67 68 74 53 75 72 72 6f 67 61 74 65 5f 52 65 6d 6f 76 65 73 42 6f 74 68 aceAndRightSurrogate_RemovesBoth
2fe0 53 75 72 72 6f 67 61 74 65 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 76 61 72 20 74 Surrogates().....{.........var.t
3000 65 78 74 42 6f 78 20 3d 20 6e 65 77 20 54 65 78 74 45 64 69 74 6f 72 28 29 0a 20 20 20 20 20 20 extBox.=.new.TextEditor().......
3020 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 22 4d 69 6b 65 44 65 52 6f ..{.............text.=."MikeDeRo
3040 79 f0 9f 97 98 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 49 6e 64 65 78 20 y....",.............cursorIndex.
3060 3d 20 31 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 49 6e 64 65 78 20 3d 20 =.11,.............selectIndex.=.
3080 31 31 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a 0a 20 20 20 20 20 20 20 20 74 65 78 74 42 6f 78 2e 11,.........};..........textBox.
30a0 42 61 63 6b 73 70 61 63 65 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 Backspace();..........Assert.Are
30c0 45 71 75 61 6c 28 22 4d 69 6b 65 44 65 52 6f 79 22 2c 20 74 65 78 74 42 6f 78 2e 74 65 78 74 2c Equal("MikeDeRoy",.textBox.text,
30e0 20 6b 46 61 69 6c 65 64 54 6f 52 65 6d 6f 76 65 43 68 61 72 61 63 74 65 72 4d 65 73 73 61 67 65 .kFailedToRemoveCharacterMessage
3100 29 3b 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 39 2c 20 74 65 );.........Assert.AreEqual(9,.te
3120 78 74 42 6f 78 2e 63 75 72 73 6f 72 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e xtBox.cursorIndex,.kFailedToChan
3140 67 65 43 75 72 73 6f 72 29 3b 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 geCursor);.........Assert.AreEqu
3160 61 6c 28 39 2c 20 74 65 78 74 42 6f 78 2e 73 65 6c 65 63 74 49 6e 64 65 78 2c 20 6b 46 61 69 6c al(9,.textBox.selectIndex,.kFail
3180 65 64 54 6f 43 68 61 6e 67 65 53 65 6c 65 63 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 54 edToChangeSelect);.....}......[T
31a0 65 73 74 5d 0a 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 54 65 78 74 45 64 69 74 6f 72 57 est].....public.void.TextEditorW
31c0 69 74 68 55 54 46 31 36 5f 4d 69 64 64 6c 65 43 75 72 73 6f 72 4f 6e 42 61 63 6b 73 70 61 63 65 ithUTF16_MiddleCursorOnBackspace
31e0 5f 52 65 6d 6f 76 65 73 42 6f 74 68 53 75 72 72 6f 67 61 74 65 73 49 6e 53 75 63 63 65 73 73 69 _RemovesBothSurrogatesInSuccessi
3200 6f 6e 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 76 61 72 20 74 65 78 74 42 6f 78 20 3d on().....{.........var.textBox.=
3220 20 6e 65 77 20 54 65 78 74 45 64 69 74 6f 72 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 .new.TextEditor().........{.....
3240 20 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 22 4d 69 6b 65 f0 9f 97 98 f0 9f 97 98 f0 9f 97 98 ........text.=."Mike............
3260 44 65 52 6f 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 49 6e 64 65 78 20 DeRoy",.............cursorIndex.
3280 3d 20 38 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 49 6e 64 65 78 20 3d 20 38 =.8,.............selectIndex.=.8
32a0 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a 0a 20 20 20 20 20 20 20 20 74 65 78 74 42 6f 78 2e 42 61 ,.........};..........textBox.Ba
32c0 63 6b 73 70 61 63 65 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 ckspace();..........Assert.AreEq
32e0 75 61 6c 28 22 4d 69 6b 65 f0 9f 97 98 f0 9f 97 98 44 65 52 6f 79 22 2c 20 74 65 78 74 42 6f 78 ual("Mike........DeRoy",.textBox
3300 2e 74 65 78 74 2c 20 6b 46 61 69 6c 65 64 54 6f 52 65 6d 6f 76 65 43 68 61 72 61 63 74 65 72 4d .text,.kFailedToRemoveCharacterM
3320 65 73 73 61 67 65 29 3b 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c essage);.........Assert.AreEqual
3340 28 36 2c 20 74 65 78 74 42 6f 78 2e 63 75 72 73 6f 72 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 (6,.textBox.cursorIndex,.kFailed
3360 54 6f 43 68 61 6e 67 65 43 75 72 73 6f 72 29 3b 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e ToChangeCursor);.........Assert.
3380 41 72 65 45 71 75 61 6c 28 36 2c 20 74 65 78 74 42 6f 78 2e 73 65 6c 65 63 74 49 6e 64 65 78 2c AreEqual(6,.textBox.selectIndex,
33a0 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 53 65 6c 65 63 74 29 3b 0a 0a 20 20 20 20 20 20 .kFailedToChangeSelect);........
33c0 20 20 74 65 78 74 42 6f 78 2e 42 61 63 6b 73 70 61 63 65 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 ..textBox.Backspace();..........
33e0 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 22 4d 69 6b 65 f0 9f 97 98 44 65 52 6f 79 22 2c Assert.AreEqual("Mike....DeRoy",
3400 20 74 65 78 74 42 6f 78 2e 74 65 78 74 2c 20 6b 46 61 69 6c 65 64 54 6f 52 65 6d 6f 76 65 43 68 .textBox.text,.kFailedToRemoveCh
3420 61 72 61 63 74 65 72 4d 65 73 73 61 67 65 29 3b 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e aracterMessage);.........Assert.
3440 41 72 65 45 71 75 61 6c 28 34 2c 20 74 65 78 74 42 6f 78 2e 63 75 72 73 6f 72 49 6e 64 65 78 2c AreEqual(4,.textBox.cursorIndex,
3460 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 43 75 72 73 6f 72 29 3b 0a 20 20 20 20 20 20 20 .kFailedToChangeCursor);........
3480 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 34 2c 20 74 65 78 74 42 6f 78 2e 73 65 6c 65 .Assert.AreEqual(4,.textBox.sele
34a0 63 74 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 53 65 6c 65 63 74 29 3b ctIndex,.kFailedToChangeSelect);
34c0 0a 0a 20 20 20 20 20 20 20 20 74 65 78 74 42 6f 78 2e 42 61 63 6b 73 70 61 63 65 28 29 3b 0a 20 ..........textBox.Backspace();..
34e0 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 22 4d 69 6b f0 9f 97 98 44 .......Assert.AreEqual("Mik....D
3500 65 52 6f 79 22 2c 20 74 65 78 74 42 6f 78 2e 74 65 78 74 2c 20 6b 46 61 69 6c 65 64 54 6f 52 65 eRoy",.textBox.text,.kFailedToRe
3520 6d 6f 76 65 43 68 61 72 61 63 74 65 72 4d 65 73 73 61 67 65 29 3b 0a 20 20 20 20 20 20 20 20 41 moveCharacterMessage);.........A
3540 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 33 2c 20 74 65 78 74 42 6f 78 2e 63 75 72 73 6f 72 ssert.AreEqual(3,.textBox.cursor
3560 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 43 75 72 73 6f 72 29 3b 0a 20 Index,.kFailedToChangeCursor);..
3580 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 33 2c 20 74 65 78 74 42 6f .......Assert.AreEqual(3,.textBo
35a0 78 2e 73 65 6c 65 63 74 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 53 65 x.selectIndex,.kFailedToChangeSe
35c0 6c 65 63 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 54 65 73 74 5d 0a 20 20 20 20 70 75 62 lect);.....}......[Test].....pub
35e0 6c 69 63 20 76 6f 69 64 20 54 65 78 74 45 64 69 74 6f 72 57 69 74 68 55 54 46 31 36 5f 4d 69 64 lic.void.TextEditorWithUTF16_Mid
3600 64 6c 65 43 75 72 73 6f 72 4f 6e 44 65 6c 65 74 65 5f 52 65 6d 6f 76 65 73 42 6f 74 68 53 75 72 dleCursorOnDelete_RemovesBothSur
3620 72 6f 67 61 74 65 73 49 6e 53 75 63 63 65 73 73 69 6f 6e 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 rogatesInSuccession().....{.....
3640 20 20 20 20 76 61 72 20 74 65 78 74 42 6f 78 20 3d 20 6e 65 77 20 54 65 78 74 45 64 69 74 6f 72 ....var.textBox.=.new.TextEditor
3660 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 ().........{.............text.=.
3680 22 4d 69 6b 65 f0 9f 97 98 f0 9f 97 98 f0 9f 97 98 44 65 52 6f 79 22 2c 0a 20 20 20 20 20 20 20 "Mike............DeRoy",........
36a0 20 20 20 20 20 63 75 72 73 6f 72 49 6e 64 65 78 20 3d 20 36 2c 0a 20 20 20 20 20 20 20 20 20 20 .....cursorIndex.=.6,...........
36c0 20 20 73 65 6c 65 63 74 49 6e 64 65 78 20 3d 20 36 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a 0a 20 ..selectIndex.=.6,.........};...
36e0 20 20 20 20 20 20 20 74 65 78 74 42 6f 78 2e 44 65 6c 65 74 65 28 29 3b 0a 0a 20 20 20 20 20 20 .......textBox.Delete();........
3700 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 22 4d 69 6b 65 f0 9f 97 98 f0 9f 97 98 44 ..Assert.AreEqual("Mike........D
3720 65 52 6f 79 22 2c 20 74 65 78 74 42 6f 78 2e 74 65 78 74 2c 20 6b 46 61 69 6c 65 64 54 6f 52 65 eRoy",.textBox.text,.kFailedToRe
3740 6d 6f 76 65 43 68 61 72 61 63 74 65 72 4d 65 73 73 61 67 65 29 3b 0a 20 20 20 20 20 20 20 20 41 moveCharacterMessage);.........A
3760 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 36 2c 20 74 65 78 74 42 6f 78 2e 63 75 72 73 6f 72 ssert.AreEqual(6,.textBox.cursor
3780 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 43 75 72 73 6f 72 29 3b 0a 20 Index,.kFailedToChangeCursor);..
37a0 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 36 2c 20 74 65 78 74 42 6f .......Assert.AreEqual(6,.textBo
37c0 78 2e 73 65 6c 65 63 74 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 53 65 x.selectIndex,.kFailedToChangeSe
37e0 6c 65 63 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 74 65 78 74 42 6f 78 2e 44 65 6c 65 74 65 28 29 lect);..........textBox.Delete()
3800 3b 0a 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 22 4d 69 6b 65 ;..........Assert.AreEqual("Mike
3820 f0 9f 97 98 44 65 52 6f 79 22 2c 20 74 65 78 74 42 6f 78 2e 74 65 78 74 2c 20 6b 46 61 69 6c 65 ....DeRoy",.textBox.text,.kFaile
3840 64 54 6f 52 65 6d 6f 76 65 43 68 61 72 61 63 74 65 72 4d 65 73 73 61 67 65 29 3b 0a 20 20 20 20 dToRemoveCharacterMessage);.....
3860 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 36 2c 20 74 65 78 74 42 6f 78 2e 63 ....Assert.AreEqual(6,.textBox.c
3880 75 72 73 6f 72 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 43 75 72 73 6f ursorIndex,.kFailedToChangeCurso
38a0 72 29 3b 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 36 2c 20 74 r);.........Assert.AreEqual(6,.t
38c0 65 78 74 42 6f 78 2e 73 65 6c 65 63 74 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 extBox.selectIndex,.kFailedToCha
38e0 6e 67 65 53 65 6c 65 63 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 74 65 78 74 42 6f 78 2e 44 65 6c ngeSelect);..........textBox.Del
3900 65 74 65 28 29 3b 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 22 ete();.........Assert.AreEqual("
3920 4d 69 6b 65 f0 9f 97 98 65 52 6f 79 22 2c 20 74 65 78 74 42 6f 78 2e 74 65 78 74 2c 20 6b 46 61 Mike....eRoy",.textBox.text,.kFa
3940 69 6c 65 64 54 6f 52 65 6d 6f 76 65 43 68 61 72 61 63 74 65 72 4d 65 73 73 61 67 65 29 3b 0a 20 iledToRemoveCharacterMessage);..
3960 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 36 2c 20 74 65 78 74 42 6f .......Assert.AreEqual(6,.textBo
3980 78 2e 63 75 72 73 6f 72 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f 43 68 61 6e 67 65 43 75 x.cursorIndex,.kFailedToChangeCu
39a0 72 73 6f 72 29 3b 0a 20 20 20 20 20 20 20 20 41 73 73 65 72 74 2e 41 72 65 45 71 75 61 6c 28 36 rsor);.........Assert.AreEqual(6
39c0 2c 20 74 65 78 74 42 6f 78 2e 73 65 6c 65 63 74 49 6e 64 65 78 2c 20 6b 46 61 69 6c 65 64 54 6f ,.textBox.selectIndex,.kFailedTo
39e0 43 68 61 6e 67 65 53 65 6c 65 63 74 29 3b 0a 20 20 20 20 7d 0a 7d 0a 00 00 00 00 00 00 00 00 00 ChangeSelect);.....}.}..........
3a00 00 00 00 00 00 00 00 00 00 00 00 00 19 00 00 00 54 65 78 74 45 64 69 74 6f 72 42 61 63 6b 73 70 ................TextEditorBacksp
3a20 61 63 65 44 65 6c 65 74 65 00 00 00 00 00 00 00 aceDelete.......